để xem gửi sms sử dụng Tại lệnh này sẽ giúp.
import serial
import time
class TextMessage:
def __init__(self, recipient="+2348065777685", 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('COM70', 460800, timeout=5, xonxoff = False, rtscts = False, bytesize = serial.EIGHTBITS, parity = serial.PARITY_NONE, stopbits = serial.STOPBITS_ONE)
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("+2348063796720","Mummy i sent this message from my computer")
sms.connectPhone()
sms.sendMessage()
sms.disconnectPhone()
print "message sent successfully"
Để nhận được sms sử dụng Tại lệnh này sẽ giúp
import serial
import time
import sys
class HuaweiModem(object):
def __init__(self):
self.open()
def open(self):
self.ser = serial.Serial('COM70', 406800, timeout=5)
self.SendCommand('ATZ\r')
self.SendCommand('AT+CMGF=1\r')
def SendCommand(self,command, getline=True):
self.ser.write(command)
data = ''
if getline:
data=self.ReadLine()
return data
def ReadLine(self):
data = self.ser.readline()
print data
return data
def GetAllSMS(self):
self.ser.flushInput()
self.ser.flushOutput()
command = 'AT+CMGL="REC UNREAD"\r\n'#gets incoming sms that has not been read
print self.SendCommand(command,getline=True)
data = self.ser.readall()
print data
h = HuaweiModem()
h.GetAllSMS()
Không, không, không! Vui lòng không xử lý các lệnh AT theo cách này. Bạn ** PHẢI ** chờ mã kết quả cuối cùng (ví dụ: OK, ERROR, ...) trước khi gửi lệnh tiếp theo. Và cụ thể cho AT + CMGS bạn ** PHẢI ** chờ modem gửi "\ n \ r>" trước khi bạn bắt đầu gửi MyMessage. Xem câu trả lời này để biết thêm chi tiết, http://stackoverflow.com/a/15591673/23118. – hlovdal
Ngủ không thể thay thế cho việc đọc và phân tích phản hồi.Nó rất hữu ích như đá chó đứng theo cách của bạn để có được chúng để di chuyển. Có, nó có thể thực sự làm việc một số lần, nhưng tại một số điểm bạn sẽ rất tiếc vì đã sử dụng phương pháp đó. – hlovdal