Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Comando AT per estrapolare numero di telefono

Raccolta di codici sorgenti

Moderatore: Foto UtentePaolino

0
voti

[1] Comando AT per estrapolare numero di telefono

Messaggioda Foto Utentemrflower » 7 ott 2012, 20:05

Salve a tutti,
mi trovo di fronte ad un problema, ovvero quello di dover estrapolare il numero di telefono di un chiamante o del mittente di un sms.
Mi spiego meglio: la mia applicazione (domotica remota) prevede l'attuazione di determinate azioni in seguito alla ricezione di un sms o di una chiamata. Sto utilizzando un ATMEGA8535 e un modulo GSM SIMCOM SIM900.
Arrivato al punto di riuscire a gestire il flusso di sms in entrata e in uscita, così come per le chiamate, mi trovo però in difficoltà di fronte alla necessità di dover consentire i comandi (naturalmente) soltanto ad un determinato numero "master" abilitato.

Spulciando il datasheet del modulo non sono riuscito a trovare niente che possa aiutarmi.
Visto che non è consigliabile lasciare l'applicazione libera di ricevere sms e chiamate da chiunque (se si vuole ritrovare integra la propria casa al ritorno XD) chiedo gentilmente a chi ha più esperienza di me nel settore un aiuto per la risoluzione del problema.

Come ultima spiaggia avevo pensato all'implementazione di una sorta di codice PIN da inserire direttamente come testo nell'sms ma sarebbe una soluzione scomoda e molto meno intuitiva ed elegante seppur attuabile con le mie attuali conoscenze.

Link del datasheet dei comandi AT relativi al modulo in questione: http://garden.seeedstudio.com/images/a/ ... _V1.03.pdf

p.s. So che tramite la codifica PDU degli sms è possibile estrapolare il numero di telefono ma per la mia applicazione ho previsto una codifica "plain text" e la maggior parte del codice l'ho già scritto per lavorare con quest'ultima.
Avatar utente
Foto Utentemrflower
8 4
 
Messaggi: 40
Iscritto il: 12 mar 2012, 0:26

1
voti

[2] Re: Comando AT per estrapolare numero di telefono

Messaggioda Foto Utentephylum » 7 ott 2012, 23:41

AT+CMGR=1 :?:
dovrebbe darti il mittente come secondo argomento
\int_{}tella
Immagine
Avatar utente
Foto Utentephylum
6.191 5 7 12
G.Master EY
G.Master EY
 
Messaggi: 3217
Iscritto il: 9 ott 2007, 12:40

-1
voti

[3] Re: Comando AT per estrapolare numero di telefono

Messaggioda Foto Utentemrflower » 7 ott 2012, 23:45

phylum ha scritto:AT+CMGR=1 :?:
dovrebbe darti il mittente come secondo argomento


Questo comando mi restituisce soltanto il contenuto dell'sms relativo alla locazione di memoria 1.
Avatar utente
Foto Utentemrflower
8 4
 
Messaggi: 40
Iscritto il: 12 mar 2012, 0:26

1
voti

[4] Re: Comando AT per estrapolare numero di telefono

Messaggioda Foto Utentephylum » 7 ott 2012, 23:49

non vedo il problema puoi cancellare ogni sms ricevuto dopo l'elaborazione o ascoltare i messaggi CMTI in quel senso o comunque ottenerlo dalla lista di CMGL e pescare quelli con REC_UNREAD; mentre riguardo alla funzione, la specifica che hai allegato dice che restituisce:

+CMGR: "REC UNREAD","+numero_mittente","","02","data_ora",<corpo> \n\nOK

mentre per le chiamate ricevi RING\n+CCWA con il numero a quel punto puoi dare ATH per ignorarla
\int_{}tella
Immagine
Avatar utente
Foto Utentephylum
6.191 5 7 12
G.Master EY
G.Master EY
 
Messaggi: 3217
Iscritto il: 9 ott 2007, 12:40

0
voti

[5] Re: Comando AT per estrapolare numero di telefono

Messaggioda Foto Utentemrflower » 7 ott 2012, 23:58

phylum ha scritto:non vedo il problema puoi cancellare ogni sms ricevuto dopo l'elaborazione o ascoltare i messaggi CMTI in quel senso o comunque ottenerlo dalla lista di CMGL e pescare quelli con REC_UNREAD


Infatti non c'è nessun problema, il contenuto dell'sms mi serve anzi. Il problema è che questo comando che dici tu mi restituisce solo il contenuto dell'sms.

phylum ha scritto:+CMGR: "REG UNREAD","+numero_mittente","","02","data_ora",<corpo> \n\nOK


Ho letto anche io questa stringa ma ti posso assicurare che il comando che hai scritto tu mi restituisce soltanto il contenuto dell'sms.
Avatar utente
Foto Utentemrflower
8 4
 
Messaggi: 40
Iscritto il: 12 mar 2012, 0:26

2
voti

[6] Re: Comando AT per estrapolare numero di telefono

Messaggioda Foto Utentephylum » 8 ott 2012, 0:02

prova ad inviare AT+CSDH=1 prima di CMGR
\int_{}tella
Immagine
Avatar utente
Foto Utentephylum
6.191 5 7 12
G.Master EY
G.Master EY
 
Messaggi: 3217
Iscritto il: 9 ott 2007, 12:40

1
voti

[7] Re: Comando AT per estrapolare numero di telefono

Messaggioda Foto Utentemrflower » 8 ott 2012, 0:09

phylum ha scritto:prova ad inviare AT+CSDH=1 prima di CMGR


Grazie mille :)

Non avevo visto questo comando, praticamente, anche in modalità text, mi mostra i vari parametri dell'sms, era proprio quello che cercavo!

Non posso darti rep+ perché non ho il minimo di rep per farlo XD
Avatar utente
Foto Utentemrflower
8 4
 
Messaggi: 40
Iscritto il: 12 mar 2012, 0:26

2
voti

[8] Re: Comando AT per estrapolare numero di telefono

Messaggioda Foto Utentephylum » 8 ott 2012, 0:27

non preoccuparti, qui gli unici che si preoccupano del punteggio di rep# sono quelli che toccano lo zero assoluto :)

tutto quello che ci aspettiamo come ricompensa è una conversazione educata, senza litigi, insulti etc. ed il rispetto delle semplici regole che abbiamo stabilito. O_/ O_/
\int_{}tella
Immagine
Avatar utente
Foto Utentephylum
6.191 5 7 12
G.Master EY
G.Master EY
 
Messaggi: 3217
Iscritto il: 9 ott 2007, 12:40

0
voti

[9] Re: Comando AT per estrapolare numero di telefono

Messaggioda Foto Utentemrflower » 8 ott 2012, 0:30

Ti citerò nei ringraziamenti XD
Avatar utente
Foto Utentemrflower
8 4
 
Messaggi: 40
Iscritto il: 12 mar 2012, 0:26

0
voti

[10] Re: Comando AT per estrapolare numero di telefono

Messaggioda Foto Utentemrflower » 9 ott 2012, 0:14

mentre per le chiamate ricevi RING\n+CCWA con il numero a quel punto puoi dare ATH per ignorarla

Ti disturbo di nuovo.

Ho risolto per quanto riguarda gli sms ma non riesco ad uscirne invece con le chiamate. Anche settando AT+CCWA=1 (che dovrebbe essere l'equivalente di AT+CSDH=1 per gli sms), al momento della ricezione di una chiamata, l'unico messaggio che vedo è RING, senza +CCWA numero.
Avatar utente
Foto Utentemrflower
8 4
 
Messaggi: 40
Iscritto il: 12 mar 2012, 0:26

Prossimo

Torna a Firmware e programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite