Python通过usb serial huawei dongle发送短信

时间:2015-09-01 01:51:35

标签: python serial-port sms dongle

我目前正在使用此代码在python中发送短信,但有时它不稳定。它直接进入"发送成功"但是另一方没有收到任何消息。有没有其他方法通过加密狗发送短信?非常感谢。

这是代码。

class TextMessage:

    def __init__(self, recipient="XXXXXXXX", 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/ttyUSBSMS', 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()


sms = TextMessage("XXXXXXXX","This is the message to send.")
sms.connectPhone()
sms.sendMessage()
sms.disconnectPhone()
print "sent successfully"

2 个答案:

答案 0 :(得分:0)

好的python gsm调制解调器库: https://github.com/faucamp/python-gsmmodem

答案 1 :(得分:0)

你说有时它不稳定,所以我认为它确实有时发送正确。在此基础上,我认为代码很好。 Python sending many sms via usb serial的答案使用略有不同的论点,这可能值得研究。

除非您有商业计划,否则不保证短信能够快速到达。您可以每分钟发送两条消息,第二条消息立即到达,第一条消息在5小时后到达。您是否等了24小时才能看到消息是否到达?