我正在尝试在 OSX 10.6.6 上制作一个简单的 python 2.6 应用程序,它可以在我的 Zoom 7.2m (3g) USB 调制解调器上发送和接收短信。
最初插入 USB 调制解调器时,似乎没有创建 TTY 或 CU 会话。我必须运行调制解调器软件来启动以下会话;
cu.LJADeviceInterface2621 cu.LJADiagConnector2620 cu.LJAMobileConnector2622 tty.LJADeviceInterface2621 tty.LJADiagConnector2620 tty.LJAMobileConnector2622
在经历了很多“乐趣”之后,我唯一可以读写的会话似乎是“cu.LJADeviceInterface2621”。在尝试连接到这个的 tty 实例时,我收到一个错误 -
serial.serialutil.SerialException:无法打开端口 /dev/tty.LJADeviceInterface2621:[Errno 16] 资源繁忙:'/dev/tty.LJADeviceInterface2621'
不过那很好 - 我至少有一些东西可以使用,相当于 cu。
我的脚本如下;
ser = serial.Serial("/dev/cu.LJADeviceInterface2621", 9600, timeout=1)
print "Setting DTR..."
ser.setDTR(True)
sleep(3)
print "Turning off DTR..."
ser.setDTR(False)
searching = True
ser.setDTR(True)
while searching:
print "Write instruction..."
txt=raw_input()
if txt.find("ZZ")>-1:
txt=txt.replace("ZZ",chr(13))
ser.write(txt)
ser.close()
现在,我还有另一个脚本正在监视“cu.LJADeviceInterface2621”上的消息。该脚本如下;
ser = serial.Serial("/dev/cu.LJADeviceInterface2621", 9600, timeout=1)
print "Attempting search."
while True:
line = ser.readline()
print ">", line
在运行这些脚本的情况下,在 WRITE 代码中,我输入以下行;
(注意:ZZ 输入通过上面的写脚本替换为 Ctrl-Z - chr(13))
AT+CMGF=1ZZ [回车提交写入]
好的
AT+CMGW="+447725123123"\r\n [回车提交写入]
错误
我应该写消息的文本,然后按 Ctrl-Z (chr(13),但我立即收到错误消息。
USB 调制解调器有一个有效的 sim,有信用,它有信号,我可以从 Zoom 调制解调器软件发送文本(但这仅适用于 PDU 模式 - 但调制解调器确实支持文本模式,根据 AT+CMGF= ? 命令)并接收消息。
有任何想法吗?
很高兴在需要时提供更多信息,谢谢 Stu