|
GSM/GPRS & GPS SHIELD V2 PER ARDUINO - IN KIT
|
| |
Shield per Arduino in grado
di accogliere i moduli
GSM/GPRS & GPS della famiglia
SIMCom come il SIM900 (con funzionalità
GSM/GPRS)
e SIM908 (con funzionalità
GSM/GPRS & GPS)
che, opportunamente
controllato tramite
un’interfaccia seriale ed una
UART per la gestione della connessione,
permette di effettuare
chiamate voce, inviare SMS o
effettuare delle connessioni alla
rete Internet.
La disponibilità di
nuove librerie di supporto allo
sviluppo software, permettono
grande flessibilità nella configurazione
dei moduli e nello
sviluppo di applicazioni voce,
dati e basate su WEB. Con delle
semplici chiamate a funzioni di
alto livello è possibile, ad esempio,
leggere un SMS ricevuto o
avviare una chiamata ed effettuare
tutte le altre operazioni
eseguite da un normale cellulare.
La scheda, compatibile con
Arduino Duemilanove, Arduino
UNO, Arduino MEGA, ecc... dispone
di due prese per il flusso
audio analogico. Grazie a un microfono
e ad un auricolare dotati
di jack da 3,5 mm (è sufficiente
la cuffia standard per computer), è possibile effettuare una chiamata
voce a tutti gli effetti. Nel
caso di ricezione di una chiamata
si udrà attraverso le cuffie
una suoneria che avvisa della
chiamata in arrivo. La shield comprende il condensatore ad elevata capacità dedicato all' RTC
(Real Time Clock) previsto all’interno del SIM900 e del SIM908.
Il condensatore permette di mantenere aggiornata l'ora anche in assenza di alimentazione. L’intero circuito funziona con
una tensione di alimentazione di
12 Vdc fornita direttamente dalla
scheda Arduino. Durante le
operazioni più pesanti dal punto
di vista dei consumi di corrente,
come l’utilizzo del GPRS, il
modulo assorbe picchi di corrente di
circa 1A, dunque è necessario
che la sorgente di alimentazione
sia in grado di fornire tale
intensità di corrente. La shield
prevede un connettore per il
collegamento di una batteria
esterna al litio, ricaricabile solamente con SIM908, in quanto il modulo integra un circuito di ricarica dedicato.
La tensione necessaria per la ricarica
della batteria viene prelevata
direttamente dalla scheda
Arduino (dal pin Vin). L’ingombro
massimo dello shield è di
100 x 57 mm. La confezione non comprende il modulo
GSM, l’antenna e la batteria,
acquistabili separatamente.
La scheda è predisposta per accogliere
uno dei seguenti moduli
GSM (la scelta è funzione delle
proprie esigenze): FT900M, FT971 e TDGGSM_900. La
batteria da utilizzare deve essere
di tipo ricaricabile al litio con
tensione nominale di 3,7V (es.
cod. BATTGC1800).
|
| |
GSM/GPRS & GPS SHIELD V2 CON IL MODULO FT900M (MODULO CELLULARE CON SIM900 MINIATURIZZATO) |
| |
PER COMPLETARE LA SCHEDA SERVONO: |
QUANTITÀ |
PRODOTTO |
1 |
7300-ARDUINOUNOREV3 oppure 7300-ARDUINOMEGAREV3 |
1 |
7100-FT900M (MODULO CELLULARE CON SIM900 MINIATURIZZATO) |
1 |
8170-ANTGSMSTL-MMCX (ANTENNA STILO GSM CONNETTORE MMCX) |
|
| |
GSM/GPRS & GPS SHIELD V2 CON IL MODULO FT971 (MODULO CELLULARE CON SIM908 MINIATURIZZATO) |
|
PER COMPLETARE LA SCHEDA SERVONO: |
QUANTITÀ |
PRODOTTO |
1 |
7300-ARDUINOUNOREV3 oppure 7300-ARDUINOMEGAREV3 |
1 |
7100-FT971M (MODULO CELLULARE CON SIM908 MINIATURIZZATO) |
1 |
8170-ANTGSMSTL-S01 (ANTENNA STILO GSM CONNETTORE SMA) |
1 |
8160-ANTGPS-SMA (ANTENNA GPS CON ATTACCO SMA) |
2 |
8170-CAVOUFLSMA (CAVO ADATTATORE CON CONNETTORE UFL-SMA). |
|
| |
GSM/GPRS & GPS SHIELD V2 CON IL MODULO
TDGGSM_900
(MODULO GSM CON SIM900)
|
|
PER COMPLETARE LA SCHEDA SERVONO: |
QUANTITÀ |
PRODOTTO
|
1 |
7300-ARDUINOUNOREV3 oppure 7300-ARDUINOMEGAREV3 |
1 |
8100-TDGGSM_900 (completo di antenna GSM 8170-ANTSMAGSM). |
|
| |
LIBRERIA GSM GPRS |
La libreria software legata alla scheda GSM GPRS shield è open-source e utilizza il servizio di hosting di Google Project, raggiungibile all’indirizzo
http://code.google.com/p/gsm-shield-arduino/. La libreria viene costantemente aggiornata e migliorata con l’aggiunta di nuove funzioni e correzioni di eventuali
bug, perciò si consiglia di controllare di avere sempre l’ultima release. È stata inoltre prevista la gestione della comunicazione TCP/IP attraverso GPRS. Grazie
agli ormai diffusi smartphone e tablet, sono presenti in commercio numerose offerte per l’utilizzo di Internet sui dispositivi mobili. In base alle esigenze ed alle conoscenze dell’utente è possibile implementare diverse funzioni, atte a svolgere, ad esempio, funzioni quali: l’invio di email, la pubblicazioni di dati attraverso
il metodo GET o lo streaming di flussi audio/video. Per una panoramica delle principali funzioni attualmente implementate, si rimanda alle tabelle contenenti
l’elenco dei comandi. Innanzi tutto è necessario avere all’interno della directory libraries, contenuta nella directory principale di Arduino, la cartella GSM_GPRS, contenente tutte le funzioni utilizzabili. Inoltre per poter utilizzare la seriale software, solamente nel caso si utilizzi un IDE di Arduino precedente alla 1.00, bisogna avere anche la libreria NewSoftSerial (reperibile da www.arduiniana.com) alla quale questo shield si appoggia per la comunicazione. Ora nel caso si volessero cambiare i pin della seriale software, attraverso l’apposito jumper, è opportuno riportare tale cambiamento anche all’interno della libreria stessa.
Tale modifica va effettuata nelle prima riga del ile GSM.cpp. Per motivi legati all’utilizzo di memoria, si è scelto di suddividere le funzioni in classi differenti contenute
in ile differenti, in modo da consentire all’utente di includere o meno le parti di codice necessarie, andando così a risparmiare memoria RAM, lasciandola libera per il resto del programma. Per il funzionamento di base è sempre necessario includere i file SIM900.h e SoftwareSerial.h (o NewSoftSerial.h nel caso di IDE precedente alla 1.00), mentre a seconda delle necessità si può includere call.h (per la gestione delle chiamate), sms.h (per l’invio, ricezione e salvataggio degli SMS) e inetGSM.h
(contenente funzioni legate all’HTTP e alla connessione GPRS). Laddove non diversamente specificato si sottintende che la funzione restituisce 1 in caso di operazione completata con successo, altrimenti 0. |
|
SIM900.h
È sempre necessario includere questo file in quanto contiene le funzioni base per l’avvio e la configurazione del modulo SIM900. Per queste funzioni non è necessario istanziare un oggetto gsm, in quanto questa operazione è stata già effettuata all’interno della libreria. Sarà sufficiente chiamare le funzioni utilizzando “gsm.” come prefisso. |
|
CALL.h
Nel caso si vogliano effettuare delle telefonate, rispondere o semplicemente
rifiutare una telefonata in arrivo, è necessario l’utilizzo di questa classe.
Per l’utilizzo di tali funzioni è sufficiente istanziare l’oggetto all’interno dello
sketch. |
| |
SMS.h
Per la gestione dei messaggi di testo bisogna utilizzare questa classe apposita.
Come in precedenza è necessario richiamarla all’interno dello sketch
ed istanziarne successivamente un oggetto. Ad esempio nelle funzioni
seguenti si fa riferimento a un oggetto creato, all’inizio dello sketch, con il
comando SMSGSM sms. |
| |
inetGSM.h
In questa classe vengono incluse le funzioni per stabilire una connessione
e gestire le comunicazioni tramite protocollo HTTP. |
| |
CONFIGURAZIONE |
Per preservare la compatibilità con l’Arduino Mega, la modalità di comunicazione con il SIM900 (seriale hardware, utilizzando i pin 0 e 1 dell’Arduino Uno o seriale
software utilizzando invece i pin 2 e 3) è impostabile tramite jumper ma vi è anche la possibilità di utilizzare i pin a propria scelta tramite un semplice collegamento.
Sempre per preservare la massima
flessibilità e personalizzazione, si è predisposta la scheda con delle piazzole da saldare sul retro (Fig. 2), che consentono di andare a effettuare i collegamenti per portare in ingresso alle porte digitali dell’Arduino, i segnali di controllo del flusso dati (CTS, RTS) o segnali di alert per chiamate in arrivo o SMS non letto (RI). È possibile dunque disabilitare questi collegamenti andando così a risparmiare la quantità di ingressi o uscite utilizzati, avendo sempre la possibilità, eventualmente, di sfruttarli come meglio si crede con la realizzazione di un ponticello.
La Fig. 3 mostra la presenza di due connettori a pettine sulla parte superiore. Questi ulteriori collegamenti consentono l’utilizzo dello shield anche con i nuovi
moduli compatti del SIM900 e SIM908, dotati di un differente pin-out mirato al risparmio di spazio. Il nuovo modulo SIM908 sempre della SIMCom, si caratterizza
per la presenza di un localizzatore GPS a 42 canali con un’accuratezza inferiore ai due metri e mezzo. Mediante il jumper BAT/VEXT (Fig. 4) è possibile impostare la sorgente di alimentazione dello shield: posizionare il jumper su VEXT se si desidera alimentare il dispositivo tramite la scheda Arduino oppure su BAT se si utilizza una batteria esterna ricaricabile. Per consentire la ricarica di quest’ultima è necessario chiudere il jumper siglato CHRG (Fig. 5) posto in prossimità del condensatore CRTC. |
|
Fig. 1 - A sinistra la configurazione per la seriale software, al centro hardware e, a destra, personalizzata. |
|
|
Fig. 2 - Dettaglio delle piste dei segnali
di controllo del SIM900, con la possibilità
di portarli in ingresso ad Arduino
tramite una semplice saldatura. |
Fig. 3 - Strip per il collegamento dei
nuovi moduli che equipaggiano i chip
della famiglia SIMCom in versione
compatta. |
|
|
Fig. 4 - Jumper per la scelta della
sorgente di alimentazione
(BAT=
alimentazione tramite batteria; VEXT=
alimentazione
tramite scheda Arduino). |
Fig. 5 - Jumper CHRG. Chiudendo
questo ponticello il sistema provvede
alla ricarica della batteria esterna
eventualmente collegata allo shield. |
| |
|
|