Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

11
voti

Modulo GSM SIMCOM SIM900A in italia

Salve a tutti, spulciando su ebay mi è capitato di incontrare un modulo GSM alla modica cifra di 20 euro circa e, preso dall'entusiasmo di ampliare le mie conoscenze, lo comprai immediatamente senza pensarci mezza volta...
Per chi non lo sapesse questo modulo permette di ricevere/inviare SMS, chiamare e ricevere chiamate mediante una scheda telefonica inserita nell'apposito slot. Esistono varii tipi di moduli GSM, ma il SIMCOM SIM900 è il piu diffuso e semplice da usare con un minimo di conoscenze.


La board ha due header per i collegamenti, uno a due poli e l'altro a dodici poli. Quello a due poli serve per collegare un alimentatore. il produttore nei dati tecnici specifica che la board può assorbire fino a 2A (io ho usato un alimentatore switching da 1A). Il secondo header serve per la seriale che tramite dei jumper permette di selezionare l'interfaccia adeguata al tipo di sistema che si usa per interfacciarlo.


Come è possibile notare, si possono usare tre configurazioni: 3,3v, 5v e RS232 standard.
Per interfacciarlo al computer per fare qualche prova ci sono due metodi: collegarlo ad un convertitore USB-RS232 ( è consigliato usare quelli con a bordo l'integrato PL-2303. ) o usare l'arduino come "intermediante". E' preferibile usare la prima, perchè è diretta e sicura al 100% per tutto quello che mostrerò in questo documento. Prima di tutto accertiamoci che la porta seriale USB funzioni e se il sistema operativo non ha installato automaticamente i driver e/o ha riportato errori. NB: Alcune parti di questa guida sono state testate solo tramite windows, per tanto non assicuro che eventuali emulatori installati su sistemi Linux e/o OSX permettono il funzionamento completo di alcuni programmi presenti nel pacchetto allegato all'articolo.
Adesso è necessario effettuare i collegamenti tra adattatore USB to 232 e modulo GSM come nelle foto, facendo bene attenzione a non combinare pasticci.




Il modulo SIM900A esce di fabbrica con un firmware di base (che può non funzionare in tutte le nazioni ) per verificare ciò è sufficiente inserire una qualunque scheda sim attiva e con il codice PIN -> disattivato <- che non sia 3 (La H3G detta comunemente tre ha solo ripetitori UMTS e non GSM, per tanto il modulo non ho idea di come si comporti e presuppongo vada in roaming con la tim o è addririttura possibile che non si agganci proprio a nessun ripetitore). Nella board è presente un LED di status che serve ad indicare lo stato del ricevitore. Lo stato si nota in base alla frequenza di lampeggio del led:
[64ms ON/800ms OFF] -> Non trova la rete
[64ms ON/3000ms OFF] -> è agganciato ad un ripetitore
[64ms ON/300ms OFF] -> Avviene comunicazione di rete

Io personalmente ci ho perso un bel po di tempo per capire il perchè questo modulo non si agganciasse alla rete. Spulciando in giro per google ho intravisto che in base al firmware presente nel modulo può non funzionare e che infatti tutta l'europa è irraggiungibile se non viene cambiato il firmware con uno sbloccato. Si possono tentare tutti i tipi di comandi possibili ed immaginabili, ma se il firmware non permette l'aggancio alle celle europee non si può accedere a nessun tipo di servizio, infatti provando a telefonare al numero della sim risulta irraggiungibile.
Per chi ha questo tipo di problema, allora ha trovato la soluzione perchè ho deciso di condividere questa mia esperienza così da evitare che qualcuno con pazienza limitata faccia volare tutto dalla finestra di un grattacielo xD.
Materiale necessario:

  1. Modulo GSM
  2. USB to 232
  3. Utility per flash
  4. Firmware da fleshare

NB: il convertitore USB/RS232 deve essere un convertitore con il tipo di integrato descritto sopra. Io ho eseguito tutto quello che è presente in questa guida con quel convertitore, per tanto lo consiglio. NON USARE LE SERIALI DELLA BOARD ARDUINO NE TANTOMENO IL "bridge" SUGGERITO IN GIRO PER LA RETE. questa è un'operazione estremamente DELICATA. Ho testato tutto sul modulo SIM900A e non assicuro il funzionamento di questa guida su altri modelli quali SIM900/SIM900B/SIM900D/SIM908 ecc..
Prima di tutto estraiamo l'utility "Simcom - sim900 Customer flash loader V1.01" e il firmware "1137B01SIM900M64_ST_ENHANCE" (presenti nell'allegato).
Apriamo l'utility, ed a primo impatto si può notare l'interfaccia intuitiva:

1. Clicca su Browse e vai a pescare il file "1137B01SIM900M64_ST_ENHANCE.cla" presente nella cartella del firmware
2. Inserisci l'adattatore e aspetta che venga riconosciuto
3. Seleziona la porta COM (Nel mio caso la "COM2")
Non è necessario cambiare il baudrate, per fleshare va lasciato così.
4. Clicca su start
5. Accendi la board appena richiesto
6. Appena spunta "Flash Loader Downloaded in RAM" tenere premuto il tasto ON/OFF della board, se non è presente allora ha l'auto ON e non è necessario premerlo, farà tutto da solo (come nel mio caso)

7. Aspetta che finisca tutto e spunti "Download done"
8. Riavvia la board intervenendo sull'alimentazione

Arrivati a questo punto il modem SIM900A si potrà agganciare alle celle italiane... Adesso vi mostrerò come è possibile usare questo modulo in modo molto semplice.
Materiale necessario:
1. SIM valida e attiva (Non TRE)
2. SSCOM 3.2

NB: SSCOM è presente nel pacchetto allegato.

Iniziamo configurando il modem:

1. Colleghiamo il cavetto USB-TO-232
2. Inseriamo la SIM
3. Alimentiamo la board
4. Attendiamo che il led di status lampeggi alla frequenza 64 ON/ 3000 OFF
5. Apriamo SSCOM

6. Selezioniamo la porta (Nel mio caso la COM2)
7. Selezioniamo il Baudrate a 115200
8. Facciamo click su "Open Com"
Se tutto è andato a buon fine dovrebbe comparire tutto come nello screenshot:

I comandi vanno inseriti nella casella "Data Input" e per inviarli basta semplicemente fare click su "SEND"
NB: Quando viene inviato il comando, il programma non svuota la casella e va fatto manualmente.
Ora testiamo se il modem risponde:
Digitiamo il comando "AT" e inviamolo, se riceviamo "OK" allora il modem è pronto a ricevere istruzioni.
La prima cosa da fare è settare un baudrate piu basso di quello usato in questo momento e renderlo fisso.
Digitiamo AT+IPR=9600 (Dove 9600 corrisponde al baudrate desiderato) e il modem invierà "OK" se lo ha cambiato. Se tutto è andato a buon fine, il modem non risponderà piu al baudrate "115200" quindi nel menù a tendina selezioniamo "9600" e inviamo il comando "AT", il modem dovrebbe rispondere con "OK". Fatto questo è necessario salvare la configuarazione nella memoria, per fare ciò basta inviare il comando "AT&W" e come al solito dovremmo ricevere "OK".
Adesso è necessario riavviare il modem, intervenendo sull'alimentazione.
All'avvio avremo questi messaggi che ci indicano che tutto è OK:


Adesso introdurrò senza andare troppo nei dettagli l'utilizzo del modem ed alcuni comandi da conoscere per poterlo sfruttare (in modo basilare)

Le chiamate:
Provando a chiamare il numero della sim il modulo si comporterà così: scrive "RING" finchè c'è ancora la chiamata e quando finirà scrive "NO CARRIER".



Mentre per effettuare una chiamata basta digitare "ATD<Numero>" ad esempio: "ATD+391234567890" il numero è +39 1234567890 dove +39 è il prefisso ed il resto è il numero da chiamare. funziona anche senza prefisso, ma è preferibile metterlo, il modulo risponde solo con un "OK" e non emette nessun altra scritta per dire che la chiamata è ancora attiva. Per terminare in entrambi i casi la chiamata basta inviare il comando "ATH" e il modulo riaggancerà la chiamata rispondendo con un solito "OK".


Adesso è il momento degli SMS!
Per inviare gli SMS sono necessarii quattro passaggi:
1. Impostare il modem in modalità "Invio SMS"
2. Assegnare il destinatario
3. Scrivere il messaggio
4. Dare l'OK all'invio


Per impostare il modem in modalità "Invio SMS" bisogna inviare il comando "AT+CMGF=1". Alla ricezione il modem risponderà con "OK"

Ora è il momento del destinatario: per farlo è necessario inviare il comando "AT+CMGS="+391234567890"; " tenendo in considerazione che il numero VA necessariamente messo tra i doppi apici. Nel numero il "+39" non è obbligatorio ma tuttavia se si usa è meglio in modo da specificare il paese in cui è stata attivata la scheda. Il modem a questa istruzione risponderà con un " > ".

Ora è possibile scrivere il testo del messaggio. Per terminare il corpo del messaggio ed inviarlo è necessario inviare il carattere in modalità HEX (Esadecimale) "0x1A". Il modem darà due risposte:
1. +CMGS:xx (Dove xx corrisponde ad un numero)
2. OK (il solito)



Per ricevere i messaggi via seriale bisogna semplicemente fare un comando per settare il modem: "AT+CNMI=2,2,0,0,0". La risposta sarà "OK" ed da ora in poi i messaggi che arriveranno verranno spediti via seriale.

Questa guida è stata interamente pensata per chi come me ha comprato questo modulo e non riesce a farlo funzionare in italia.
Questa guida è solo a titolo illustrativo, e per tanto non mi ritengo responsabile del danneggiamento del dispositivo.
Quello che è presente in questa guida è stato testato da me personalmente perchè mi trovo in possesso di questo dispositivo che a primo impatto è risultato inutilizzabile.

Download

Simcom_SIM900A.rar

15

Commenti e note

Inserisci un commento

di ,

Ciao @ciraf. I commenti all'articolo non sono adatti a discutere la questione che poni; ti suggerisco di aprire un argomento nel forum.

Rispondi

di ,

salve a tutti mi è appena arrivato dalla Cina il modulo Sim900a ma inserita la Sim non si registra. come leggo sui vari blog forse problema di firmware Cinese e non idoneo per l'europa/italia. ho eseguito alla lettera le spiegazioni di Daniele che ringrazio per le spiegazioni esaustive, di fatto tutto è andato bene ossia sembra che il Firmware si sia installato dando alla fine l'indicazione "Download done". ma purtroppo continua a non registrarsi e non riesco ad attivare i comandi AT non si collega. Potette darmi un aiuto grazie Raffaele

Rispondi

di ,

Ricordo che tra sim900 e sim900a ci sono delle differenze, per tanto non sono sicuro che il firmware del sim900a funzioni sul sim900

Rispondi

di ,

Scusate, per l'invio dei messaggi mi sono dimenticato un comando importante che ora non ho a disposizione. In questo momento mi trovo fuori italia e non ho nemmeno il mio portatile dietro. Il modulo non lo tocco prmai da un po di tempo, m proveró lo stesso ad aiutarvi da qui. Vi aggiorno presto

Rispondi

di ,

Scusate, per l'invio dei messaggi mi sono dimenticato un comando importante che ora non ho a disposizione. In questo momento mi trovo fuori italia e non ho nemmeno il mio portatile dietro. Il modulo non lo tocco prmai da un po di tempo, m proveró lo stesso ad aiutarvi da qui. Vi aggiorno presto

Rispondi

di ,

Scusate, per l'invio dei messaggi mi sono dimenticato un comando importante che ora non ho a disposizione. In questo momento mi trovo fuori italia e non ho nemmeno il mio portatile dietro. Il modulo non lo tocco prmai da un po di tempo, m proveró lo stesso ad aiutarvi da qui. Vi aggiorno presto

Rispondi

di ,

No purtroppo l'ho abbandonato, anche perche ultimamente ho davvero poco tempo. Ho provato a cercare altro su internet ma niente. ti auguro maggior fortuna.

Rispondi

di ,

Ciao Corrado66, Anche a me il modulo non aggancia la rete (ed io ho il SIM900 quadri band, non dovrebbe avere problemi in italia). Ho provato vari firmware, varie sim senza pin, alimentatore esterno 5V 2A ma il problema rimane: il modulo non aggancia la rete (risponde ai comandi AT ma da' errore al comando AT+CIFSR -> ERROR) e se chiamo il numero della sim inserita, l'operatore mi dice "Utente non raggiungibile". Tu hai risolto in qualche modo? C'è qualcuno che può dare una mano in proposito? Inizio a pensare che sia il modulo difettoso... :( Saluti a tutti e un grazie anticipato a chi darà una mano... ;) A:I:)

Rispondi

di ,

Ciao a tutti, anche io stò lottando con una SIM900 che mi fà tutto ciò che non mi serve e non riesco a fare ciò per cui l'ho acquistata: gli SMS. Ho realizzato un firmware per il comando della SIM900 e tutto funziona perfettamente, comandi e risposte dalla scheda, a parte gli SMS. Ho seguito i tuoi consigli per la trasmissione di SMS, al comando AT+CMGF=1 mi risponde: OK, quando assegno il destinatario con AT+CMGS="+393330000000" mi risponde +COPS: 0,0 I TIM quando dovrebbe rispondere > per poi trasmettere il numero di telefono del destinatario. Che può essere? Ho settato prima la velocità di trasmissione a 9600 e mi dà Ok di risposta, ho anche verificato il AT+CMGS=? e mi risponde OK, insomma tutto a posto a parte gli SMS, chi mi può aiutare?

Rispondi

di ,

Ciao Daniele, sono un nuovo iscritto (Salve a tutti) anche io ho acquistato un modulo gsm con sim900a (http://www.ebay.it/itm/351337719671?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649) allettato dal prezzo, non sapendo che in europa non funziona. Ho trovato quindi il tuo lavoro molto interessante, ho seguito alla lettera i vari passaggi e tutto sembra essere andato bene ma il modulo continua ad non agganciare la rete. Sono un autodidatta e non so piu cosa provare prima di buttarlo. Hai qualche suggerimento? Grazie

Rispondi

di ,

Ciao [user]daniele1996[/user], grazie per questo contributo; aspettiamo il prossimo. Saluti

Rispondi

di ,

era da un pezzo che volevo scrivere nel mio blog, ma non avevo argomenti. Ora ho colto l'occasione per questo argomento visto che nel web esiste semplicemente un "accenno"... Grazie :)

Rispondi

di ,

Bell'articolo, ed un grazie per aver condiviso il tutto. Ciao.

Rispondi

di ,

Complimenti Daniele ! Acquisto intelligente e bel passo in avanti ! ;)

Rispondi

Inserisci un commento

Per inserire commenti è necessario iscriversi ad ElectroYou. Se sei già iscritto, effettua il login.