1

PythonスクリプトからArduinoボードにAtomフィードからデータを送信しています。最初はボードと正常に通信できますが、その後、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ボードを物理的にリセットすると、ボードに別の書き込みを再度送信できますが、それ以外の場合は送信できません。助言がありますか?

4

1 に答える 1