""" ------------------------------------------------------------------------------ Name: IO_SMS.py Author: Daniele De Santis (desantis@desantix.it) Version: 1.0 Last Modified: 27/04/06 Description: Esempio in Python 1.5 per Modem TELIT EZ10-PY. Cortocircuitando a massa il port GPIO4 il modem invia un SMS al numero contenuto nella variabile GSMNUMBER con il testo contenuto nella variabile SMSMESSAGE ------------------------------------------------------------------------------ """ import MDM import GPIO import MOD #VARIABILI GSMNUMBER="3478577263" #Numero del destinatario dell'SMS SMSMESSAGE="Il modem Telit con python ti scrive ;)" #Messaggio dell'SMS inviato #SETTO LA DIREZIONE DEI PORT r=GPIO.setIOdir(5,0,1) #Setto GPIO5 come output e come valore di default 0 r=GPIO.setIOdir(6,0,1) #Setto GPIO6 come output e come valore di default 0 r=GPIO.setIOdir(7,0,1) #Setto GPIO7 come output e come valore di default 0 r=GPIO.setIOdir(4,0,0) #Setto GPIO4 come input #lampeggio d'avvio s=GPIO.setIOvalue(5,1) #Accendo il led su GPIO5 s=GPIO.setIOvalue(6,1) #Accendo il led su GPIO6 s=GPIO.setIOvalue(7,1) #Accendo il led su GPIO7 MOD.sleep(10) #Pausa per un secondo s=GPIO.setIOvalue(5,0) #Spengo il led su GPIO5 s=GPIO.setIOvalue(6,0) #Spengo il led su GPIO6 s=GPIO.setIOvalue(7,0) #Spengo il led su GPIO7 #Abilito la modalità testo del modem res = MDM.send('AT+CMGF=1\r', 0) #Invio comando AT res = MDM.receive(3) #Attendo 3 sec if(res.find('OK') != -1): #Ricevuto "OK" while (1): #Ciclo infinito s=GPIO.setIOvalue(6,1) #Accendo il led su GPIO6 if(GPIO.getIOvalue(4)==0): #Verifico lo stato del port GPIO4 s=GPIO.setIOvalue(5,1) #Accendo il led su GPIO5 TXbuff="AT+CMGS=\"%s\"\r" % (GSMNUMBER) res = MDM.send(TXbuff, 0) res = MDM.receive(2) #Attendo 2 sec if(res.find('>') != -1): # se ricevo il prompt TXbuff = SMSMESSAGE + chr(26) + "\r" #appendo CTRL + Z res = MDM.send(TXbuff, 0) #invio la stringa al modem res = MDM.receive(3) #Attendo 3 sec s=GPIO.setIOvalue(5,0) #Spengo il led su GPIO5 MOD.sleep(10) #Pausa per un secondo s=GPIO.setIOvalue(6,0) #Spengo il led su GPIO6 MOD.sleep(10) #Pausa per un secondo else: #Non ho ricevuto "OK" s=GPIO.setIOvalue(7,1) #Accendo il led su GPIO7 MOD.sleep(10) #Pausa per un secondo s=GPIO.setIOvalue(7,0) #Spengo il led su GPIO7 MOD.sleep(10) #Pausa per un secondo s=GPIO.setIOvalue(7,1) #Accendo il led su GPIO7 MOD.sleep(10) #Pausa per un secondo s=GPIO.setIOvalue(7,0) #Spengo il led su GPIO7 MOD.sleep(10) #Pausa per un secondo s=GPIO.setIOvalue(7,1) #Accendo il led su GPIO7 MOD.sleep(10) #Pausa per un secondo #ESCO