2012-04-07 24 views
0

發送短信,我用下面的代碼連接到手機發送短信:通過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() 

我能夠連接手機,但我無法發送消息。這不是給我一個錯誤,所以我不知道從哪裏開始調試。

我的代碼有什麼問題,我沒有看到?

+0

將來,當您使用正確的大寫和標點符號的完整,連貫的句子時,它會有所幫助。避免'文字說'像'plz''你''等 – 2012-04-09 06:24:58

+0

「這不是給我一個錯誤」你怎麼知道? – 2012-04-09 06:39:31

+0

好的將在未來嘗試做到這一點.... @ IgnacioVazquez-Abrams,因爲它不給我一個語法錯誤。手機最後關閉,這是我知道的! – user1318860 2012-04-17 07:13:12

回答

0

嘗試用phone.flush()刷新電話流,看看是否發送它。

+0

我做到了,但不工作! – user1318860 2012-04-17 07:13:31