gestire rubrica modulo telit

Salve!

Vorrei gestire la rubrica sim usata in un modulo GM862 PCS della Telit, non

so come gestire la ricerca nominativi, vorrei che ad ogni chiamata ricevuta

se il numero e' memorizzato nella sim dovrei segnalarlo, ovviamente dovrei

farlo con un microcontrollore, vorrei sapere che comando inviare al modulo

per ricevere in tempi ragionevoli una risposta per sapere se il numero e'

presente oppure no in rubrica.

Reply to
Enzo
Loading thread data ...

Ciao Enzo, se non ricordo male, quando il numero è in rubrica, il +CLIP

risponde mettendo tra "virgolette" il nome corrispondente, altrimenti quel

campo è vuoto.

Ma è solo un ricordo, se vuoi verifico...

Ciao

Sandro

"Enzo" ha scritto nel messaggio

news:4654a283$0$21203$ snipped-for-privacy@news.tiscali.it...

non

ricevuta

Reply to
Sandro

"Sandro" ha scritto nel messaggio

news:TFg5i.17852$ snipped-for-privacy@twister1.libero.it...

Se puoi verificare te ne sarei grato

Reply to
Enzo

"Sandro" ha scritto

Esatto.

Verifica che il telefono implementi correttamente quanto previsto dallo

standard.

La segnalazione +CLIP va abilitata dando il comando AT+CLIP=1, di default è

disabilitata.

+CLIP: ,[,, ,]

for an incoming call, after each RING or +CRING indication

Esempio

RING

Note: incoming call

+CLIP: "0146290800",129,,1,"FRED"

Note: incoming call with number and name presentation

Reply to
Marco

"Marco" ha scritto

quel

è

Aggiungo, nel caso ti interessasse, che esistono comandi AT per operare

sulla rubrica della SIM (lettura, ricerca, cancellazione, aggiunta, ...).

Reply to
Marco

"Marco" ha scritto nel messaggio

news:AYj5i.18089$ snipped-for-privacy@twister1.libero.it...

interessante, comunque dopo le tue ultime notizie avevo fatto delle prove

con hyperterminal avendo esattamente i risultati che hai elencato cioe' se

chiamo un numero che ho nella rubrica sim avro': +CLIP:

"+39065542xxx",145,"",128,"CASAENZO",0 se invece chi chiama non e' in

rubrica si ha :+CLIP: "+39065542xxx",145,"",128,"",0 ora la grande sfida sta

nel far capire al mio fidato microcontrollore Pic la differenza, e per la

verita' non so proprio come incominciare

Reply to
Enzo

"Enzo" ha scritto

sta

Per prima cosa devi riconoscere tutte le risposte/segnalazioni che arrivano

dal telefono. Iniziano e terminano con (Carriage Return = 0x0D,

Line Feed = 0x0A).

Una volta riconosciuta una risposta/segnalazione, passi ad analizzarla (è

una normale stringa di caratteri ASCII).

Come prima cosa devi riconoscere l'header in modo da capire di che tipo di

risposta/segnalazione si tratta (in questo caso l'header è "+CLIP: ", altri

casi ad esempio sono "OK", "ERROR", +CRING: ", ...), è solo un confronto di

stringhe.

Riconosciuto l'header passi alla parte successiva che è variabile (può anche

essere assente).

In genere la parte variabiale è formata da una serie di parametri/valori

separati dal carattere virgola (nel +CLIP infatti è così). Quindi isoli i

vari parametri grazie alla virgole e ne verifichi il formato e il valore. Se

un parametro è assente ci sono 2 virgole consecutive, hai una stringa di

lunghezza zero.

Nel tuo caso quindi il quinto parametro può essere una stringa vuota o una

stringa generica (il nominativo in rubrica) con lunghezza massima dipendente

dalla SIM utilizzata.

Reply to
Marco

Grazie per la collaborazione, premetto che sto cercando di farlo con il

PICBasic Pro della Melabs che nessuno su questo newsgroup digerisce, in

realta' anche io sto capendo che il C e' tutta altra cosa, ovviamente in

positivo, comunque tornando alla questione di partenza pensavo di usare il

coamndo Hserin cercando di sfruttare che il dato che mi interessa analizzare

e' preceduto da 128, quindi dovrei verificare se posso impostare un

controllo tipo:

HSERIN 5000,EXITCHIAMATA,[WAIT ("128, ",34),TMP1,TMP2,TMP3] che grosso modo

dovrebbe dire aspetta 5 secondi e metti nelle variabili tmp1 tmp2 tmp3

quello ceh leggi dopo 128, altrimenti salta alla routine exitchiamata.

Tu cosa ne pensi di questa mia idea?

Reply to
Enzo

"Enzo" ha scritto

analizzare

modo

Non conosco PICBasic Pro e il comando HSERIN. Non ho capito bene come

funziona.

Non so se può essere un problema, però considera che l'indicazione RING (e

quindi l'indicazione CLIP) viene inviata circa ogni 4 secondi (verifica

questo tempo nel telefono che usi) fino a che il telefono continua a

squillare.

In ogni caso non è una soluzione "robusta", addirittura neanche controlli

che effettivamente si tratti di un'indicazione +CLIP. Inoltre se cambi tipo

di telefono può non funzionarti più in quanto alcuni parametri contenuti

nella stringa possono essere non presenti.

Verifica anche che indicazione +CLIP ti arriva quando il numero del

chiamante è nascosto. Il tuo firwmare deve gestire correttamente anche

questa situazione.

Reply to
Marco

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.