2012-04-07 7 views
0

ich den folgenden Code bin mit zu einem Telefon zu verbinden, eine SMS-Nachricht zu senden:sendet Sms durch Python

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() 

Ich bin in der Lage, das Telefon zu verbinden, aber ich bin nicht in der Lage, die Nachricht zu senden. Es gibt mir keinen Fehler, daher bin ich mir nicht sicher, wo ich mit dem Debuggen anfangen soll.

Gibt es etwas falsch mit meinem Code, den ich nicht sehe?

+0

In der Zukunft hilft es, wenn Sie vollständige, zusammenhängende Sätze mit korrekter Großschreibung und Interpunktion verwenden. Vermeiden Sie "Text sprechen" wie "plz" 'ur' usw. –

+0

"Es gibt mir keinen Fehler" Woher weißt du das? –

+0

ok werde versuchen, dass in der Zukunft .... @ IgnacioVazquez-Abrams, weil es mir nicht einen Syntaxfehler gibt. Das Telefon schließt am Ende, das ist, wie ich weiß! – user1318860

Antwort

0

Versuchen Sie, den Telefon-Stream mit phone.flush() zu löschen, um zu sehen, ob der Text gesendet wird.

+0

Ich habe das gemacht, aber es funktioniert nicht! – user1318860

Verwandte Themen