如何使用Zoom 7.2m三频USB调制解调器通过AT命令发送短信?

时间:2011-01-25 15:38:00

标签: python serial-port zoom gsm at-command

我正在尝试在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代码中,我输入以下行;

(注意:通过上面的写脚本替换Ctrl-Z的ZZ输入 - chr(13))

  

AT + CMGF = 1ZZ [按Enter键提交写入]

     

     

AT + CMGW =“+ 447725123123”\ r \ n [按Enter键提交写入]

     

ERROR

我应该编写消息的文本,然后按Ctrl-Z(chr(13),但我立即收到错误。

USB调制解调器有一个有效的SIM卡,有信用,它有信号,我可以从Zoom Modem软件发送文本(但这只适用于PDU模式 - 但调制解调器确实支持文本模式,按照AT + CMGF =?命令)并接收消息。

有什么想法吗?

很高兴在需要的地方提供更多信息,谢谢 斯图

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

你应该发送:AT + CMGS =“+ 111111111”\ r \ n短信TEXT Ctrl-Z

这应该有用