#ReplytoTextMessage.py import time import serial import datetime temp = "22.5" recipient = "+64211942435" message = "This is reply from Raspberry Pi." #Configure serial port ser = serial.Serial("/dev/serial0", 9600, timeout=5) print('Setting the modem to text mode...') ser.write(b'AT+CMGF=1\r') # set to text mode time.sleep(2) setmode = ser.read(ser.inWaiting()) print (setmode) print('List all existing messages...') ser.write(b'AT+CMGL\r') # list all SMS time.sleep(2) listall = ser.read(ser.inWaiting()) print (listall) print('Deleting all existing messages...') ser.write(b'AT+CMGDA="DEL ALL"\r') # delete all SMS time.sleep(0.5) delall = ser.read(ser.inWaiting()) print (delall) print('Check serial port buffer...') reply = ser.read(ser.inWaiting()) # Clean buf if reply == "": print('Serial port buffer empty...\r\n') print('Starting the indefinite loop...') while True: reply = ser.read(ser.inWaiting()) print ('Listening for incoming messages...') print(reply) if reply != "": ser.write(b'AT+CMGR=1\r') time.sleep(3) reply = ser.read(ser.inWaiting()) print (b'This is what we received now: ' + reply) time.sleep(3) if b'getStatus' in reply: ser.write(b'AT+CMGS="' + recipient.encode() + b'"\r') time.sleep(3) ser.write(message.encode() + b'\r') time.sleep(1) print('Sending reply to message...') ser.write(bytes([26])) print('Next we should delete all messages') ser.write(b'AT+CMGDA="DEL ALL"\r') # delete all SMS time.sleep(3) print('Messages should be deleted now') time.sleep(5) ser.read(ser.inWaiting()) # Clear buf time.sleep(5)
Run
Reset
Share
Import
Link
Embed
Language▼
English
中文
Python Fiddle
Python Cloud IDE
Follow @python_fiddle
Browser Version Not Supported
Due to Python Fiddle's reliance on advanced JavaScript techniques, older browsers might have problems running it correctly. Please download the latest version of your favourite browser.
Chrome 10+
Firefox 4+
Safari 5+
IE 10+
Let me try anyway!
url:
Go
Python Snippet
Stackoverflow Question