Oggi ho ricevuto da Banggood un modulo GSM basato sul chip SIM800 di SIMCom. Utilizzerò questo modulo in un prossimo progetto di controllo remoto con Arduino; in questo articolo vi presenterò le sue caratteristiche principali.
Il chip SIM800 è quad-band (850/900/1800/1900MHz) e consente la trasmissione/ricezione di voce, SMS e dati (rete GPRS).
Il piccolo modulo (circa 3x4cm) ospita da un lato il chip SIM800 e la maggior parte dei componenti, mentre dall’altro il connettore per la sim card cellulare:
Ho scelto la versione con antenna esterna… insieme al modulo viene quindi fornita l’antenna e un cavetto (circa 20cm):
Il modulo, alimentato a 5V, offre una interfaccia seriale ed è controllato tramite comandi AT.
Per verificare il suo funzionamento è quindi possibile collegarlo al PC tramite un semplice adattatore USB – seriale e inviare i corretti comandi AT come da manuale. Attenzione solo ad invertire i pin TX e RX; il pin TX dell’adattatore va collegato al pin RX del modulo GSM e viceversa:
Il test più semplice è l’invio e la ricezione di un SMS. Per semplicità attiviamo il formato testuale (=1) di invio con il comando AT+CMGF=1. Il modulo ci risponderà con il comando inviato dopo AT (quindi +CMGF=1) seguito da OK.
Possiamo ora specificare il destinatario del messaggio con AT+CMGS=”numero“. Dopo aver inviato il carattere di “a capo”, il modulo ci presenterà il prompt >, dopo il quale possiamo inserire il testo del messaggio. Terminiamo l’inserimento con il carattere 0x1A (CTRL-Z); il modulo ci risponderà indicando il numero di caratteri inviati (26):
All’arrivo di un nuovo SMS, il modulo invia il messaggio +CMTI. Possiamo leggere i messaggi ricevuti con il comando AT+CMGL, indicando un eventuale filtro (nell’esempio REC UNREAD, ovvero tutti i messaggi ricevuti e non ancora letti):
I possibili filtri sono elencati nel manuale:
Dopo aver verificato il corretto funzionamento del modulo, possiamo ora realizzare un progetto più completo, interfacciandolo ad esempio con Arduino…
Ciao, mi sono imbattuto nel tuo sito cercando informazioni sul modulo sim800c che non riesco a far funzionare! Ti volevo chiedere: tu fai riferimento ad una alimentazione di 2amp che necessariamente arriva sui pin vcc e gnd dal modulino usb-ttl; i miei problemi potrebbero derivare dal fatto che questi 2amp probabilmente non arrivano? Grazie
ciao! il modulo richiede molta corrente quindi deve essere alimentato esternamente, non puoi usare i 5V che arrivano dal convertitore USB->seriale.
sim 800l
salve è possibile inserire nello sketch solo numeri diciamo autorizzati, in modo che altri numeri di cellulare non possono compiere nessuna azione grazie
ciao Paolo, sicuramente sì… nel tuo sketch puoi verificare se il numero di telefono che ti ha inviato – ad esempio – l’SMS è “autorizzato”
ciao è possibile alimentare sia arduino che la sim 800l con un’unico alimentatore, se si in che modo ,grazie in anticipo
ciao Paolo, assolutamente sì… prendi un alimentatore da 5V e almeno 2A e collega Arduino e il modulo SIM800 in parallelo.
ciao, è possibile realizzare un access point con questo modulo e raspberry pi 3?
ciao! per fare un access point ti basta il raspberry… vedi ad esempio questa guida.
Ciao, utilizzo un SIM800C che purtroppo spesso non riesce a comunicare con la SIM, ho provato a misurare la tensione sulla slot SIM e spesso è a zero. il modulo quindi non si connette a nessuna rete e nemmneo riesce a leggere il CCID della SIM. Cosa può essere successo?
ciao, probabilmente l’alimentazione che fornisci al modulo non è sufficiente… anche a me è capitato: verifica che il tuo alimentatore possa garantire almeno 2A.
Salve Luca,
volevo chiederti un’ informazione.
La scheda SIM che hai utilizzato in questo progetto è una normale 4G o una GSM GPRS?
Io ho acquistato questo modulo https://www.amazon.it/dp/B07B2V27VF/ref=pe_3310731_189395851_TE_3p_dp_1 per connetterlo con un raspberry pi 3 con scheda SIM dati della Vodafone 4g, ma non riesco in alcun modo a farli dialogare. Ti ringrazio anticipatamente per una tua eventuale risposta.
ciao, è una normalissima SIM vodafone… non l’ho però mai provato con Raspberry ma “solo” con microcontrollori quali Arduino.
Ti ringrazio tantissimo per la celere risposta.
Credo a questo punto ci sia qualcosa nei vari collegamenti…
Se non ti disturbo magari + avanti ti ricontatto.
Grazie ancora.
nessun problema!
Ciao Luca,
ho lo stesso modulo ma non riesco a comunicare con la seriale del PC.
Il modulo (lato GSM) sembra che funzioni, i lampeggi sono giusti e se gli mando un SMS o telefono le casse del PC “impazziscono”.
La linea risulta libera, il numero è raggiungibile.
Lo alimento con un alimentatore esterno da 3A, lato PC ho provato 2 adattatori USB, uno con il CP102 e l’altro con FTDI ma non mi risponde.
Uno dei due è a 3.3V, l’altro (credo) TTL, può essere questo ? Ho collegato RX e TX invertiti e il GND all’altro GND disponibile per avere il riferimento comune di massa.
Tu, se non sono indiscreto cosa hai usato ?
Ciao Davide! Io ho utilizzato un adattatore FTDI… i tuoi collegamento mi sembrano corretti, sulla seriale non ti appare nulla? Non riesci proprio ad inviare comandi? A breve pubblicherò un progettino con questo modulo, magari seguendo il mio tutorial riuscirai a risolvere