如何使用USB调制解调器通过Python发送和接收短信?
我刚开始学习Python,想找一个库来通过华为的调制解调器发送和接收短信。我试过gammu、pysms和pygsm,但都没能成功。你能给我一些用这些库的代码示例吗?
1 个回答
3
你可以试试这段代码,对我来说是有效的。只需插入你的USB设备,然后找到它的设备节点路径(在Linux系统中可以使用命令lsusb和ls -lha /dev/tty*来查看),然后把/dev/ttyACM0
替换成你找到的路径。这样你就能发送短信了。这段代码在我使用华为USB调制解调器时是有效的。
#!/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日的存档链接)