1

我正在尝试在 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

4

2 回答 2

1

还要记住,有很多项目可以为您完成任务(pysms 就是其中之一)

于 2011-01-26T20:09:20.803 回答
0

好吧,我从不使用那个调制解调器,但我想它使用标准的 GSM AT 命令,而 AT+CMGW 是错误的。

你应该发送: AT+CMGS="+111111111"\r\n SMS TEXT Ctrl-Z

这应该有效

于 2011-01-26T20:06:39.057 回答