我是python的新手。我在Ubuntu 14.04中安装了python-gsmmodem来通过GSM加密狗发送和接收短信。然后在我的/usr/local/bin
文件夹中有3个名为
gsmterm.py
identify-modem.py
sendsms.py
我成功地使用这些脚本发送短信,识别调制解调器,就像他们的名字所暗示的一样。
但是 问题 我希望通过加密狗接收短信,并且无法弄清楚如何操作。当我将整个软件包下载为zip文件有一些脚本显示发送短信。
除了 python-gsmmodem 之外,它还具有处理GSM调制解调器中大部分功能的功能,包括发送短信。
需要帮助我使用相同的调制解调器接收短信。怎么解决这个问题?
答案 0 :(得分:0)
您可以在python-gsmmodem回购邮件的tools/
和examples/
中找到一些示例。有一个脚本examples/sms_handler_demo.py
,通过说谢谢来收听收到的短信和回复短信。
我已经尝试过该脚本并且无限期地等待短信 - 在后台通过调制解调器接收短信并将其放入选定的存储空间,但脚本没有捕获任何短信通知从调制解调器和回复回调没有执行。看来我的华为调制解调器需要AT + CNMI命令的不同设置,或者需要一组专有的命令。
编辑:我发现了这个问题。我有一台华为E372调制解调器,可以创建3个串口/dev/ttyUSB0
- 完整的AT命令集,仅查询/响应终端,无通知/dev/ttyUSB1
- ? (无论如何都不需要)/dev/ttyUSB2
- 完整的AT命令集,查询/响应控制台,包括接收状态消息,如^BOOT
,^RSSI
,^CSNR
,呼叫通知(^RING
) ,短信通知(^CMTI
,^CDSI
)和USSD通知(^CUSD
)一开始,我无法使用python连接到/dev/ttyUSB1
和/dev/ttyUSB2
,因此我使用了/dev/ttyUSB0
。脚本无限期等待,因为/dev/ttyUSB0
端口上没有通知。
我发现我无法使用python" BrokenPipeError连接到/dev/ttyUSB2
:[Errno 32] Broken pipe"由于pyserial 3.0.1
中存在错误,因此请确保您已从git安装了最新的3.1a0
版本。
现在它可以为我开箱即用。
确保
screen /dev/ttyUSB2 115200
或python tools/gsmterm.py -b 115200 /dev/ttyUSB2
)可以看到