通过Serial、Arduino与Python发送SMS失败的排查求助
问题:Python通过串口控制Arduino发送SMS失败
我有一个Python脚本,希望将输出内容以SMS形式发送。运行脚本时开发板的RX指示灯闪烁,但现在无法接收消息——此前用相同配置成功发送过测试消息。我已简化为仅发送GREEN和RED指令测试,尝试多种解决方案(包括while(Serial.avaialable()==0)语句)仍无进展。
Python串口发送代码
def blinkLED(color): ser.open() ser.write(color.encode()) # send color to Arduino to control LED time.sleep(0.1) ser.close() print("LED Blinked")
Arduino SMS发送代码
void updateSerial() { delay(500); while(Serial.available()) { mySerial.write(Serial.read());} while (mySerial.available()){ Serial.write(mySerial.read()) ;// Forward data from Arduino Serial to SIM900 } } void loop() { if(Serial.available() > 0){ updateSerial(); String message = Serial.readString(); message.trim(); if (message == "GREEN"){ mySerial.println("AT"); mySerial.println("AT+CMGF=1"); delay(100); mySerial.println("AT+CMGS=\"+254703XXXXX\""); delay(100); //updateSerial(); mySerial.println("Can do exam"); delay(100); mySerial.println((char)26); Serial.println("Message sent"); delay(100); //updateSerial(); }else if (message == "RED"){ mySerial.println("AT"); mySerial.println("AT+CMGF=1"); delay(100); mySerial.println("AT+CMGS=\"+2547------\""); delay(100); //updateSerial(); mySerial.println("Can't do exam"); delay(100); mySerial.println((char)26); delay(100); } } }
内容的提问来源于stack exchange,提问作者Sammy Camara
相关产品推荐
相关产品推荐

