Go Down

Topic: Futurashop/OpenElectronics GSM GPRS GPS Shield - TOPIC DI SUPPORTO (Read 6917 times) previous topic - next topic

evildeejay

Aug 02, 2012, 06:53 pm Last Edit: Aug 22, 2012, 11:54 pm by evildeejay Reason: 1
Salve a tutti,
apro questo post per raccogliere consigli e segnalazioni di bug/malfunzionamenti/richieste riguardo lo shield di Futurashop/Open-electronics "GSM GPRS GPS Shield for Arduino".
La libreria è open-source quindi è ben accetto qualunque aiuto e collaborazione.

PROBLEMI NOTI

-MEMORIA RAM
La libreria occupa di per sé parecchia RAM, lasciandone a disposizione una quantità limitata per lo sketch. Arduino in caso di saturazione della RAM si riavvia e posta in output caratteri strani.
E' in corso una modifica per spostare tutte le stringhe non variabili su EEPROM per liberare RAM.
La versione 3.02 ha quasi la totalità delle stringhe su memoria flash. Dovrebbe avere molta più RAM a disposizione dello skecth.

-METODO POST PARZIALMENTE IMPLEMENTATO
Il metodo post, al contrario del GET che funziona correttamente, essendo stato preso da un'altra libreria non è stato ancora adattato e testato.

-GPS NON FIXA
Verificare:
1) di aver chiuso il ponticello J1 che porta l'aliemntazione all'antenna GPS;
2) di alimentare lo shield con una sorgente esterna di circa 12V ed almeno 1A;
3) collegato le antenne correttamente e di aver posto l'antenna GPS in campo aperto.


Per discriminare tra un problema HW e uno SW, è necessario caricare lo sketch
AT+CGPSPWR=1
AT+CGPSRST=1
(attendere qualche decina di secondi per il fix)
AT+CGPSSTATUS? (restituisce lo status del fix del GPS, verificare che l'antenna sia collegata e posta in campo aperto)
AT+CGPSINF=0 (resitutisce i dati del GPS se il fix è stato effettuato)
Se tramite questa procedura il GPS funziona è possibile escludere un problema HW.

-LIBRERIA RESTITUISCE STATUS ERRATO
"i risultati sono stati che con arduino UNO le funzioni base le ha fatte subito, ma con la parte gps mi ha dato problemi, usando il codice scaricato dal sito ritornava position unknown, mentre lanciando gli stessi comandi at dalla linea di comando di arduino ritornava (at+cgpsatatus?) 3d/2d fixed e (atcgpsinf=0)"
Risolto nella versione 3.02

Per chiunque voglia aiutare questo è il sito dove è hostata la libreria:
http://code.google.com/p/gsm-shield-arduino/
eventualmente chiedetemi pure di aggiungervi come collaboratori per proporre modifiche al codice.

Saluti,
Marco

Testato

invece della Eeprom puoi considerare di usare la funzxione di scrittura in flash F(), cosi' si risparmia l'uso della libreria eeprom.h
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

tonid

Sono molto interessato anche io a questa cosa visto che ho comperato tutto ciò che serviva per il funzionamento,shield,antenne e modulo SIM908........ho appena finito di montare lo shield ed appena ho tempo provo a caricare gli sketch degli esempi e vedo che succede,non credo di poter essere di molto aiuto visto che non son bravo con la programmazione ma se posso tornare utile per delle prove resto volentieri a disposizione ....

Ciao

OpenElectronics

Aggiungo di postare i codici che hanno problemi.

e.....
Quote
1) di aver chiuso il ponticello J1 che porta l'alimentazione all'antenna GPS;


a volte il problema è solo questo.

http://www.open-electronics.org

giannilucia

Salve,

volevo sapere, siccome il problema riguarda l'eccessivo utilizzo della RAM, il problema si potrebbe risovere utilizzando un Arduino ATmega 2560?

Michele Menniti


Salve,

volevo sapere, siccome il problema riguarda l'eccessivo utilizzo della RAM, il problema si potrebbe risovere utilizzando un Arduino ATmega 2560?

Se ti riferisci allo sketch che mandi ad Arduino, il mega2560 ha 8K di sram contro 2k del mega328P, quindi dipende da cosa stai realizzando. In caso contrario puoi ricorrere a Progmem per usare parte della flash in emulazione ram.
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

giannilucia

Ti ringrazio per la risposta, ma volevo sapere se il problema relativo alla libreria gsm potesse essere,"risolto", utilizzando AT Mega

Michele Menniti


Ti ringrazio per la risposta, ma volevo sapere se il problema relativo alla libreria gsm potesse essere,"risolto", utilizzando AT Mega

direi di sì, loro dicono (v. primo post) che la libreria lascia poca ram per lo sketch, quindi occupa meno di 2K, tu gliene dai 8, poi dipende da che software vai a scrivere tu, se non è niente di stratosferico risolvi al volo.
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

giannilucia

Grazie sei sempre molto gentile,un ultima cosa, c'è un modo per vedere quanta RAM utilizzo nei miei sketch?

Michele Menniti


Grazie sei sempre molto gentile,un ultima cosa, c'è un modo per vedere quanta RAM utilizzo nei miei sketch?

sinceramente non lo so, è un problema che mi sono posto e che mi pare sia stato affrontato ma non ricordo se ci fosse una soluzione, magari se passano Leo o Astro ci danno risposta certa, se non erro qualcosa di utile era stato aggiunto alla 1.0.1, purtroppo non so dirti di più. :smiley-sad-blue:
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

leo72

Si può vedere la memoria RAM usata staticamente (quindi come stack e creazione di variabili) dopo aver compilato il proprio sketch. Basta spostarsi nella cartella temporanea che l'Arduino crea in /tmp/buildxxxxxxxxxxxxxxxxxx (su Windows non mi ricordo dove la mette), aprire un terminale e dare "avr-size nome_file_sketch.elf -C".
Ti verrà restituita l'occupazione di flash e di Ram.

A livello dinamico (ossia con lo sketch in esecuzione) puoi provare questo:
http://arduino.cc/playground/Code/AvailableMemory


jumpjack

#12
Aug 08, 2012, 05:17 pm Last Edit: Aug 08, 2012, 11:06 pm by jumpjack Reason: 1
Scusate, ma per usare questo dispositivo mi serve questo shield, o funziona anche collegandolo direttamente ad arduino?

Testato

hai postato due volte lo stesso link  :)

cmq il secondo che volevi postare e' solo un aiuto al montaggio, se replichi il circuito tu stesso con i componenti ti funziona.
per chi non vuole sporcarsi le mani ci sono appunto questi "adattatori"
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

jumpjack


hai postato due volte lo stesso link  :)

Scusate la coglionaggine :-), il secondo link era questo:
http://www.futurashop.it/allegato/8190-GSMGPRSSHIELDV2.asp?L2=CORRELATI&L1=7300-ARDUINOUNOREV3&L3=&cd=8190-GSMGPRSSHIELDV2&nVt=&d=19,50

Ho corretto anche l'altro post.

Il punto è: se il modulino GSM ha le uscite seriali per controllarlo, non posso usare SOLO la arduino per controllarlo, senza lo shield? Mando due comandi AT e via, no?

Go Up