在python中向arduino串口发送信息

时间:2013-06-05 17:13:41

标签: python serial-port arduino

我将数据从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板,我可以再次向板发送另一个写入,但不是。有什么建议吗?

1 个答案:

答案 0 :(得分:2)

问题是我在串口监视器打开的同时尝试写入串口。由于串行监视器也充当客户端,因此连接串行监视器时python脚本无法连接。