我一直在使用此代码在我的Raspberry Pi上使用Python发送短信。
How to Send/Receive SMS using AT commands?
import time
import serial
recipient = "+1234567890"
message = "Hello, World!"
phone = serial.Serial("/dev/ttyUSB3", 460800, timeout=5)
try:
time.sleep(0.5)
phone.write(b'ATZ\r')
time.sleep(0.5)
phone.write(b'AT+CMGF=1\r')
time.sleep(0.5)
phone.write(b'AT+CMGS="' + recipient.encode() + b'"\r')
time.sleep(0.5)
phone.write(message.encode() + b"\r")
time.sleep(0.5)
phone.write(bytes([26]))
time.sleep(0.5)
finally:
phone.close()
脚本运行时没有错误但没有文本消息到达。我已经在minicom shell中直接运行AT命令,并且文本消息已成功发送。
是否有任何方法可以将python脚本打印出来,以便在发送命令时调制来自调制解调器的响应?例如,如果我发送ATZ,那么打印“OK”会很好。
道歉我在最初的搜索中错过了这个。
Read response AT command with pySerial
串行响应显示为:
response = ser.read(2)
还有代码
phone.write(bytes([26]))
我能够从IDLE内发送短信,但它不会从命令提示符发送任何内容。为了解决这个问题,我不得不改变它
phone.write('\x1A')