Shield per Arduino in grado di accogliere i moduli GSM/GPRS GPS da noi proposti e visibili tra i correlati. Il modulo 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) utilizzabile esclusivamente nei moduli che dispongono di tale funzione.
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 correlati a questa scheda (la scelta è funzione delle proprie esigenze). La batteria da utilizzare deve essere di tipo ricaricabile al litio con tensione nominale di 3,7V e connettore 3 vie passo 1,25mm.
|
|
GSM/GPRS GPS Shield V2 con il modulo FT1308M (modulo Cellulare con SIM800C miniaturizzato)
|
|
|
|
PER COMPLETARE LA SCHEDA SERVONO:
- 7300-ARDUINOUNOREV3 oppure 7300-ARDUINOMEGAREV3
- 7100-FT1308M (MODULO CELLULARE CON SIM800C MINIATURIZZATO)
- 8170-ANTGSMSTL-MMCX (ANTENNA STILO GSM CONNETTORE MMCX).
|
|
GSM/GPRS GPS Shield V2 con il modulo FT1178M (modulo Cellulare con SIM928A miniaturizzato) |
|
|
PER COMPLETARE LA SCHEDA SERVONO:
- 7300-ARDUINOUNOREV3 oppure 7300-ARDUINOMEGAREV3
- 7100-FT1178M (MODULO CELLULARE CON SIM928A MINIATURIZZATO)
- 8170-ANTGSMSTL-S01 (ANTENNA STILO GSM CONNETTORE SMA)
- 8160-ANTGPS-SMA (ANTENNA GPS CON ATTACCO SMA)
- 8170-CAVOUFLSMA (CAVO ADATTATORE CON CONNETTORE UFL-SMA).
|
|
GSM/GPRS GPS Shield V2 con il modulo TDGGSM_800F (modulo GSM con SIM800F) |
|
|
|
PER COMPLETARE LA SCHEDA SERVONO:
- 7300-ARDUINOUNOREV3 oppure 7300-ARDUINOMEGAREV3
- 8100-TDGGSM_800F (completo di antenna GSM 8170-ANTSMAGSM).
|
|
Libreria GSM GPRS |
|
La libreria software legata alla scheda GSM GPRS shield è open-source ed è raggiungibile all’indirizzo http://www.gsmlib.org/. È 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. 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.
Se ad esempio si utilizza la libreria http://www.gsmlib.org/download/GSM_GPRS_GPS_IDE100_v307_1.zip ricordarsi di rinominare la cartella con nome GSM all’interno della Libraries di Arduino, quindi solo dopo potr essere utilizzata dall’IDE.
|
|
Tabella Funzioni Libreria GSM GPRS (Vedi PDF Allegato) |
|
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. |
|