Ciao a tutti, ho un dubbio sulla shiled GSM ufficiale di arduino.
Una volta che lo scratch all'interno della funzione loop ha verificato il pin e si è agganciata alla rete mi attiva le funzioni gsm quindi posso inviare sms, far echiamate ecc... ma se voglio mandare un sms solo in un'occasione particolare ovvero se dopo 10 giorni avviene qualcosa su un sensore, devo riagganciarmi alla rete e ritentare l'operazione iniziale di verifica pin oppure quel passaggio è gia "ricordato"?
Lo shield GSM funziona ne più ne meno come un normale cellulare.
Se accendi un cellulare questo ci mette una decina di secondi per essere operativo, esattamente quello che fa lo shield nella fase a cui accennavi.
Da quel momento il cellulare/shield risulta collegato alla rete.
Per motivi di rete del gestore, è possibile che il segnale o la cella a cui è collegato il cellulare non siano disponibili nel momento in cui invii un SMS, ragion per cui occorre ritentare l'invio.
Stessa cosa per lo shield: dopo aver inviato lo SMS lo sketch deve verificare che sia stato inviato correttamente e, in caso negativo, ritentare l'operazione tot volte.
Perfetto grazie, ma non ho trovato la funzione che mi fa capire se l'sms è andato a buon fine oppure no.
Questa funzione sms.print(txtMsg); restituisce qualcosa in caso di errore?
Edit: non è la funzione print ma endSMS() che restituisce eventualmente l'errore:
In asynchronous mode, endSMS() returns 0 if it is still executing, 1 if successful, and >1 if there is an error. In synchronous mode, it returns 1 if the previous successfully executed, and 0 if it has not.