Отправить смс через Python
Я использую следующий код для подключения к телефону, чтобы отправить SMS-сообщение:
import serial
import time
phone = serial.Serial()
phone.baudrate = 38400
phone.bytesize = 8
phone.stopbits = 1
phone.xonxoff = 0
phone.rtscts = 0
phone.timeout = 0
phone.port = 3 #try different ports here, if this doesn't work.
phone.parity=serial.PARITY_NONE
phone.open()
print phone.portstr
recipient = "+929409778"
message = "We did it!"
print ("I did come after it")
try:
time.sleep(0.5)
phone.write(b'ATZ\r')
time.sleep(0.5)
phone.write(b'AT+CMGF=1\r')
time.sleep(0.5)
phone.write(b'AT+CMGS="' + recipient.encode() + b'"\r')
time.sleep(0.5)
phone.write(message.encode() + b"\r")
print (message)
time.sleep(0.5)
phone.write(bytes([26]))
time.sleep(0.5)
phone.readall()
finally:
phone.close()
Я могу подключить телефон, но не могу отправить сообщение. Это не дает мне ошибку, поэтому я не уверен, с чего начать отладку.
Что-то не так с моим кодом, которого я не вижу?
1 ответ
Попробуйте очистить поток телефона с помощью phone.flush() и посмотрите, будет ли он отправлен.