如何使用USB调制解调器从Python发送和接收短信?

8

我是Python的初学者,正在寻找一个通过华为调制解调器发送和接收短信的库。我尝试了gammu、pysms和pygsm,但都无法使它们正常工作。你能给我提供使用这些库的代码示例吗?


2
试试这个:https://code.google.com/p/pyhumod/ - Piotr Dabkowski
不确定为什么这非常有用!!我和其他几个“未来”变成了现在的用户点赞!!!! - JB-007
1个回答

3

您可以尝试这段代码,它对我有效。只需插入您的USB dongle并获取其设备节点路径(在Linux中使用lsusb和ls-lha /dev/tty*),然后用该路径替换/dev/ttyACM0。然后您就可以发送短信了,这段代码对我使用Huawei USB modem有效。

#!/usr/bin/env python
"""
sms.py - Used to send txt messages.
"""
import serial
import time

class TextMessage:
    def __init__(self, recipient="0123456789", message="TextMessage.content not set."):
        self.recipient = recipient
        self.content = message

    def setRecipient(self, number):
        self.recipient = number

    def setContent(self, message):
        self.content = message

    def connectPhone(self):
        self.ser = serial.Serial('/dev/ttyACM0', 460800, timeout=5)
        time.sleep(1)

    def sendMessage(self):
        self.ser.write('ATZ\r')
        time.sleep(1)
        self.ser.write('AT+CMGF=1\r')
        time.sleep(1)
        self.ser.write('''AT+CMGS="''' + self.recipient + '''"\r''')
        time.sleep(1)
        self.ser.write(self.content + "\r")
        time.sleep(1)
        self.ser.write(chr(26))
        time.sleep(1)

    def disconnectPhone(self):
        self.ser.close()

想了解更多详情,请查看这个链接该死的链接在2014年8月25日的归档)。

这个链接提供了有关使用Python代码发送短信到连接手机的USB设备的更多信息。

抱歉,链接无法访问。没有链接,这个答案就毫无意义了。 - Flash Thunder
感谢分享Python串口发送文本的代码。如果不起作用,可以自定义AT命令,参考GSM调制解调器。 - Pamungkas Jayuda

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接