How to program the AZ-Delivery SIM800L board #04

Programming the SIM800L

Passiamo alla delicata fase di programming con il modulo SIM800L di AZ-Delivery, e produciamo un nuovo sketch funzionante per gestire gli SMS.

Abbiamo imparato cosa sia un modulo di comunicazione GSM per Arduino, come funziona la rete GSM-GPRS, come si configura l’hardware e come funziona il software su Arduino IDE dopo aver caricato le opportune librerie di programmazione per il nostro SIM800L.

Siamo finalmente pronti per capire come ottenere il meglio dal modulo di comunicazione attraverso la scrittura di semplici programmi applicativi.

L’articolo di oggi si occuperà della gestione del modulo per creare SMS, inviarli, leggerli, e persino eseguire brevi telefonate.

Si parte!

Creiamo uno sketch

Siamo giunti alla fase di programming del modulo SIM800L. Iniziamo con uno sketch vuoto. Per prima cosa occorre includere le librerie e impostare i pin. Le seguenti righe di codice mostrano come farlo. (Naturalmente i commenti sono opzionzali, ma con Arduino sono anche fortemente consigliati…)

Successivamente sarà anche possibile impostare il pin RESET. La definizione è ancora commentata. E’ possibile usare altri pin per RX e TX, l’importante è che TX sia connesso a RX e RX a TX.

Inviamo il nostro primo SMS

Per inviare un SMS, aggiungiamo allo sketch le seguenti righe:

Quindi tutto ciò che occorre fare ora è caricare lo sketch finito su Arduino.
Ogni volta che riavvierai il tuo Atmega328p, verrà inviato un SMS al numero specificato. In altre parole, in questo modo è possibile gestire un log degli errori (tipicamente: mancanza di corrente elettrica) del tutto automatizzato, e senza necessità di connessioni di rete.

Come leggere un SMS ricevuto

Il modulo memorizza i messaggi in arrivo sulla carta SIM. A seconda del provider, possono essere da 10 a 50 SMS. I seguenti comandi elencano gli SMS non letti e visualizzano il primo SMS in memoria tramite il monitor seriale. Nota: sostituire solo il contenuto della funzione di setup nel codice precedente.

Eseguire una chiamata

Per effettuare una chiamata, il microfono e l’altoparlante devono essere collegati. Anche il numero di telefono è qui definito in una variabile di tipo char. Ad esempio così:

Si risponde alla chiamata con

La chiamata termina con il comando:

Consigli utili

La libreria contiene ulteriori esempi per la gestione del modulo AZ-Delivery SIM800L GSM GPRS. Troveremo ad esempio la possibilità di recuperare i dati dal modulo, stabilire una connessione Internet o inviare un’e-mail.
In caso di problemi con il modulo, verificare sempre prima se tutte le connessioni siano buone e senza falsi contatti. La tensione di ingresso deve essere compresa tra 3,4 V e 4,4 V CC. Le schede plug-in sono particolarmente soggette a falsi contatti. In tali casi la comunicazione seriale è soggetta alla captazione di rumore, e può quindi essere difficile.
Per sperimentare è possibile utilizzare un alimentatore USB e un modulo DC-DC Step Down se non si dispone di una batteria adatta. Un modulo adatto di AZ-Delivery è il modulo step-down DC-DC LM2596S. Tuttavia, avrai anche bisogno di un multimetro per regolare la tensione sul modulo.
Per caricare la batteria agli ioni di litio è possibile utilizzare un controller di carica con chip TP4056 Micro-USB.
Con un adattatore FTDI e un programma terminale è infine possibile inviare comandi AT, anche senza Arduino, dal PC al modulo. Il bit rate del modulo in vrso il terminale è 115200 bit/s.

Considerazioni finali

Una volta apprese le basi della comunicazione GPRS e le funzioni offerte dalla libreria, vediamo che il passaggio alla fase di programming del SIM800L per accedere alle classiche funzioni di trasmissione di base è piuttosto agevole. Dal prossimo articolo presenteremo progetti un po’ più articolati, e sicuramente più interessanti a livello di utilizzo pratico. Non mancate, dunque, ci ritroviamo qui giovedì prossimo!

Link utili:

Articoli precedenti:

Iscrivetevi ai nostri gruppi Telegram…

… e non dimenticate di farlo anche sui social!

Definire ciò che si è non risulta mai semplice o intuitivo, in specie quando nella vita si cerca costantemente di migliorarsi, di crescere tanto professionalmente quanto emotivamente. Lavoro per contribuire al mutamento dei settori cardine della computer science e per offrire sintesi ragionate e consulenza ad aziende e pubblicazioni ICT, ma anche perche’ ciò che riesco a portare a termine mi dà soddisfazione, piacere. Così come mi piace suonare (sax, tastiere, chitarra), cantare, scrivere (ho pubblicato 350 articoli scientfici e 3 libri sinora, ma non ho concluso ciò che ho da dire), leggere, Adoro la matematica, la logica, la filosofia, la scienza e la tecnologia, ed inseguo quel concetto di homo novus rinascimentale, cercando di completare quelle sezioni della mia vita che ancora appaiono poco ricche.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.