Modulo GSM SIM800

by luca
16 comments

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:

gsm-005 gsm-004

Ho scelto la versione con antenna esterna… insieme al modulo viene quindi fornita l’antenna e un cavetto (circa 20cm):

gsm-006

Il modulo, alimentato a 5V, offre una interfaccia seriale ed è controllato tramite comandi AT.

E’ molto importante collegare il modulo ad un alimentatore in grado di fornire fino a 2A di corrente, altrimenti ci potrebbero essere problemi di stabilità della connessione GSM.

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:

gsm-008 gsm-007

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):

gsm-001

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):

gsm-002

I possibili filtri sono elencati nel manuale:

gsm-009

Dopo aver verificato il corretto funzionamento del modulo, possiamo ora realizzare un progetto più completo, interfacciandolo ad esempio con Arduino…

gsm-003

 

 

Related Posts

16 comments

Giacomo 28 gennaio 2018 - 13:16

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

Reply
luca 29 gennaio 2018 - 09:57

ciao! il modulo richiede molta corrente quindi deve essere alimentato esternamente, non puoi usare i 5V che arrivano dal convertitore USB->seriale.

Reply
paolo 1 marzo 2018 - 23:34

sim 800l
salve è possibile inserire nello sketch solo numeri diciamo autorizzati, in modo che altri numeri di cellulare non possono compiere nessuna azione grazie

Reply
luca 2 marzo 2018 - 08:54

ciao Paolo, sicuramente sì… nel tuo sketch puoi verificare se il numero di telefono che ti ha inviato – ad esempio – l’SMS è “autorizzato”

Reply
paolo 29 marzo 2018 - 16:39

ciao è possibile alimentare sia arduino che la sim 800l con un’unico alimentatore, se si in che modo ,grazie in anticipo

Reply
luca 2 aprile 2018 - 18:41

ciao Paolo, assolutamente sì… prendi un alimentatore da 5V e almeno 2A e collega Arduino e il modulo SIM800 in parallelo.

Reply
ettore 13 maggio 2018 - 11:22

ciao, è possibile realizzare un access point con questo modulo e raspberry pi 3?

Reply
luca 13 maggio 2018 - 14:35

ciao! per fare un access point ti basta il raspberry… vedi ad esempio questa guida.

Reply
emi 4 ottobre 2018 - 14:20

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?

Reply
luca 6 ottobre 2018 - 05:23

ciao, probabilmente l’alimentazione che fornisci al modulo non è sufficiente… anche a me è capitato: verifica che il tuo alimentatore possa garantire almeno 2A.

Reply
salvatore 5 ottobre 2018 - 19:48

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.

Reply
luca 6 ottobre 2018 - 05:24

ciao, è una normalissima SIM vodafone… non l’ho però mai provato con Raspberry ma “solo” con microcontrollori quali Arduino.

Reply
salvatore 6 ottobre 2018 - 07:40

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.

Reply
luca 6 ottobre 2018 - 11:28

nessun problema!

Reply
Davide Nardella 16 febbraio 2019 - 02:28

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 ?

Reply
luca 16 febbraio 2019 - 11:19

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

Reply

Rispondi a paolo Cancel Reply

diciotto − tredici =