我将数据从Atom提要从python脚本发送到我的Arduino板。我可以第一次成功地与电路板通信,但之后,我从pySerial模块中得到一个串行异常错误。
这是我的python代码:
import serial, sys, feedparser
#Settings
USERNAME = "user"
PASSWORD = "pw"
PROTO = "https://"
SERVER = "gmail.google.com"
PATH = "/gmail/feed/atom"
SERIALPORT = "\\\\.\\COM6"
try:
ser = serial.Serial(SERIALPORT, 9600)
except serial.SerialException:
print "failed to write to port %s" % SERIALPORT
sys.exit()
newmail = int(feedparser.parse(PROTO + USERNAME + ":" + PASSWORD + "@" + SERVER + PATH) ["feed"]["fullcount"])
print newmail
ser.write(newmail)
ser.close()
同样,我可以在第一时间向我的董事会发送一条成功的消息,但之后却没有例外。
这是我的Arduino板充当伪服务器的代码。
int led = 13;
int mail = LOW;
int val;
void setup()
{
pinMode(led, OUTPUT);
Serial.begin(9600);
Serial.flush();
}
void loop()
{
if (Serial.available()>0)
{
val=Serial.read();
Serial.println(val);
if(val > 0)
digitalWrite(led, HIGH);
else
digitalWrite(led, LOW);
}
}
在Arduino板的串行通信结束时,我需要做些什么来重置通信吗?如果我在物理上重置Arduino板,我可以再次向板发送另一个写入,但不是。有什么建议吗?
答案 0 :(得分:2)
问题是我在串口监视器打开的同时尝试写入串口。由于串行监视器也充当客户端,因此连接串行监视器时python脚本无法连接。