Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Antifurto per scooter

Tipologie, strumenti di sviluppo, hardware e progetti

Moderatore: Foto UtentePaolino

2
voti

[11] Re: Antifurto per scooter

Messaggioda Foto Utentericello9 » 19 set 2012, 15:25

Una domanda, ricello9: mi dai il link della batteria? In futuro vorrei fare delle prove ma sono un po' digiuno...

In questo momento sto usando la batteria di un vecchio cellulare nokia, la batteria è siglata bl-5c
http://docs-europe.electrocomponents.com/webdocs/0cf3/0900766b80cf37fc.pdf
Ma per il mio progetto ho intenzione di acquistarne una con una capacità superiore, si possono trovare sul sito di futura elettronica.
Avatar utente
Foto Utentericello9
195 1 3 7
Stabilizzato
Stabilizzato
 
Messaggi: 360
Iscritto il: 16 mar 2009, 0:13

1
voti

[12] Re: Antifurto per scooter

Messaggioda Foto UtentePaolino » 19 set 2012, 15:39

Ok, grazie :ok:

Ciao.

Paolo.
"Houston, Tranquillity Base here. The Eagle has landed." - Neil A.Armstrong

-------------------------------------------------------------

PIC Experience - http://www.picexperience.it
Avatar utente
Foto UtentePaolino
32,6k 8 12 13
G.Master EY
G.Master EY
 
Messaggi: 4226
Iscritto il: 20 gen 2006, 11:42
Località: Vigevano (PV)

0
voti

[13] Re: Antifurto per scooter

Messaggioda Foto Utentemrflower » 20 set 2012, 19:50

Ciao ricello9, anche io sto usando il modulo GSM SIMCOM SIM900 per un mio progetto anche se è parecchio diverso dal tuo. Quella che dovrei realizzare io è una sorta di domotica remota, ovvero, inviando specifici messaggi di testo, dovrei essere in grado di attivare, spegnere o richiedere lo stato di alcuni elettrodomestici.
Volevo chiederti in che modo hai organizzato il flusso di caratteri dal micro al modulo GSM (per gli AT commands).
Io avevo in mente di memorizzare nella EEPROM i caratteri che ad esempio comandano l'invio di un SMS e di passarli tramite UART al modulo insieme al terminatore di riga. Secondo te è un buon approccio?

Grazie infinite

edit: mi sono dimenticato di specificare che il mio programma deve essere scritto in assembly
Avatar utente
Foto Utentemrflower
8 4
 
Messaggi: 40
Iscritto il: 12 mar 2012, 0:26

2
voti

[14] Re: Antifurto per scooter

Messaggioda Foto Utentericello9 » 20 set 2012, 21:36

Ciao mrflower, premetto che sono ancora alla fase di progettazione del mio antifurto, però ho gia usato un modulo simile, il telit gm862.
E' sempre un modulo gsm che ho gestito dall'usart del PIC, sempre attraverso comandi At.
In quel caso mi è servito per fare un apricancello attivavabile da cellulare.
Per quel progetto ho usato un PIC 16 perché i 18 non li conoscevo. Nonostante la quantità ridotta di memoria l'uso della eeprom interna l'ho riservato alla memorizzazione dei numeri di cellulare che mi attivano l'apertura del cancello.
A mio avviso è inutile memorizzare i comandi AT nella eeprom del micro, perché in fin dei conti il numero di comandi essenziali sono pochi; piuttosto creo degli array che costituiscono il comando AT:
Codice: Seleziona tutto
char chup[]={'A','T','+','C','H','U','P','CR'} //comando per interrompere la chiamata ;

e all'occorenza li trasmetto al modulo gsm tramite usart.
Premetto che uso il C come linguaggio di programmazione, perché a mio avviso l'assembly è troppo ostico per programmi complessi; comunque sto parlando sempre a livello hobbistico.
Spero di esserti stato d'aiuto, comunque su questo forum puoi trovare gente molto più preparata e competente del sottoscritto.

Ciao
Marcello.
Avatar utente
Foto Utentericello9
195 1 3 7
Stabilizzato
Stabilizzato
 
Messaggi: 360
Iscritto il: 16 mar 2009, 0:13

0
voti

[15] Re: Antifurto per scooter

Messaggioda Foto Utentemrflower » 21 set 2012, 12:59

Grazie della risposta Marcello. Purtroppo sono costretto ad usare assembly perché si tratta di un esame universitario ed è uno dei vincoli. Concordo con te che, in fin dei conti, i comandi veramente essenziali sono pochi (5 o 6 nel mio caso) ma comunque, per il chip che uso io (che è un AVR, in particolare l'8535) che ha 512 byte di EEPROM potrei anche pensare di "sprecarli" per memorizzarci i caratteri ASCII relativi ai caratteri che compongono il messaggio che desidero inviare.... Poi non so, magari, anzi, sicuramente c'è un metodo più efficiente ma non ho molta esperienza (è il mio primo progetto).

Volevo poi farti un'altra domanda dato che sei sicuramente più ferrato di me sull'argomento gsm :)
Per quanto riguarda la lettura degli sms ricevuti avevo pensato di fare questo procedimento:

-a messaggio ricevuto, il microcontrollore chiede tramite comando AT di leggere il messaggi nella locazione di memoria zero (che credo sia la prima che venga scritta);
-a questo punto il messaggio dovrebbe essere inviato sotto forma di testo (ASCII) al micro tramite UART;
-col micro leggo e confronto il testo con quelli che considero "validi" e agisco di conseguenza;
-cancello la memoria della sim tramite comando AT e attendo l'arrivo di un nuovo sms (di cui mi accorgo tramite interrupt) che dovrebbe ripiazzarsi nella locazione di memoria zero.

Questo è sostanzialmente quello che dovrebbe essere il loop principale del mio codice, pensi possa andare bene o c'è qualche errore di ragionamento o miglioria che si potrebbe apportare?
Avatar utente
Foto Utentemrflower
8 4
 
Messaggi: 40
Iscritto il: 12 mar 2012, 0:26

2
voti

[16] Re: Antifurto per scooter

Messaggioda Foto Utentericello9 » 21 set 2012, 19:43

La struttura logica che hai descritto è simile a quella usata nel mio progetto "apricancello"; il modulo gsm memorizza gli sms in arrivo nella prima locazione di memoria della sim che trova vuota.
-col micro leggo e confronto il testo con quelli che considero "validi" e agisco di conseguenza;

Nel mio caso ho inserito anche il controllo dello stato del messaggio, cioè se è gia stato letto oppure no, in modo da evitare ripezioni; anche se l'eliminazione del messaggio a fine lettura dovrebbe escludere questa ipotesi.
Inoltre io andavo a leggere oltre che il messaggio nella posizione 1 anche nella posizione successiva perche nel modulo telit non avevo un segnale dedicato all'arrivo degli sms, quindi dovevo interrogare il gsm ciclicamente.
MA comunque non è il caso del SIM900.
un altro consinglio è quello di rispettare i ritardi tra comandi AT inviati in successione al modulo gsm, per non incorrere in problemi difficili da identificare.
Comunque se ti studi per bene il datasheet non avrai problemi.
Avatar utente
Foto Utentericello9
195 1 3 7
Stabilizzato
Stabilizzato
 
Messaggi: 360
Iscritto il: 16 mar 2009, 0:13

0
voti

[17] Re: Antifurto per scooter

Messaggioda Foto Utentemrflower » 23 set 2012, 1:11

un altro consinglio è quello di rispettare i ritardi tra comandi AT inviati in successione al modulo gsm, per non incorrere in problemi difficili da identificare.



Intendi dire di rispettare i tempi tra l'invio di un comando AT e l'altro in modo da consentire al modulo di rispondere adeguatamente? Non sono sicuro di aver ben capito.
Avatar utente
Foto Utentemrflower
8 4
 
Messaggi: 40
Iscritto il: 12 mar 2012, 0:26

0
voti

[18] Re: Antifurto per scooter

Messaggioda Foto Utentericello9 » 23 set 2012, 22:37

Intendi dire di rispettare i tempi tra l'invio di un comando AT e l'altro in modo da consentire al modulo di rispondere adeguatamente? Non sono sicuro di aver ben capito.


SI intendevo dire quello, ricordo che nei primi esperimenti con il modulo gsm andavo in casino perché non inserivo dei ritardi tra i vari comandi AT e alcuni comandi venivano scavalcati.
Avatar utente
Foto Utentericello9
195 1 3 7
Stabilizzato
Stabilizzato
 
Messaggi: 360
Iscritto il: 16 mar 2009, 0:13

0
voti

[19] Re: Antifurto per scooter

Messaggioda Foto Utentemrflower » 5 ott 2012, 0:48

SI intendevo dire quello, ricordo che nei primi esperimenti con il modulo gsm andavo in casino perché non inserivo dei ritardi tra i vari comandi AT e alcuni comandi venivano scavalcati.


Ciao, sono andato avanti col progetto e adesso riesco a inviare comandi AT al modulo tramite microcontrollore però mi sono imbattuto in un problema che è proprio quello esposto tra le virgolette quassù:

riesco ad inviare il primo comando AT ma non il successivo, dev'essere proprio un problema in termini di rispetto di un certo ritardo fra i vari comandi. Quello che ti chiedo è:
è meglio che imposti un ritardo vero e proprio in termini temporali (ad es. 1s, 2 s, ecc.) o è più opportuno che faccia qualche tipo di controllo su RXD del micro?

Grazie mille :)
Avatar utente
Foto Utentemrflower
8 4
 
Messaggi: 40
Iscritto il: 12 mar 2012, 0:26

0
voti

[20] Re: Antifurto per scooter

Messaggioda Foto Utentericello9 » 5 ott 2012, 16:45

è meglio che imposti un ritardo vero e proprio in termini temporali (ad es. 1s, 2 s, ecc.) o è più opportuno che faccia qualche tipo di controllo su RXD del micro


Io dopo ogni comando do un ritardo di venti millisecondi e poi verifico, tramite la RXD del micro, se ho ricevuto il messaggio di errore o di ok.

Codice: Seleziona tutto
printf("ATE=0\r");    //Disabilito l'eco sui comandi   
  DelayMs(20);
  verifica_error();
  verifica_ok();
Avatar utente
Foto Utentericello9
195 1 3 7
Stabilizzato
Stabilizzato
 
Messaggi: 360
Iscritto il: 16 mar 2009, 0:13

PrecedenteProssimo

Torna a Realizzazioni, interfacciamento e nozioni generali.

Chi c’è in linea

Visitano il forum: Nessuno e 10 ospiti