ITlS AT cmmands server 1
Smmari Descrizine... 3 Funzinament... 3 Esempi... 6 2
Descrizine Il cmpnente ITlS AtServer presente nel namespace ITlS.Cmpnents.Netwrk.Mdem cnsente di inviare SMS ed email attravers cmandi AT inltrati ad un mdem GPRS. AtServer dispne di un insieme di metdi in grad di facilitare le prcedure di cnfigurazine ad invi al prgrammatre, in md da nascndere la reale implementazine delle prcedure mediante i cmandi AT. I metdi si suddividn in: Metdi di inizializzazine mdem; Metdi di cnfigurazine ed invi SMS; Metdi di cnfigurazine ed invi email; Nella restante parte di quest dcument verrann elencati i metdi dispnibili nel cmpnente in questine descrivend per ciascun di essi il servizi ffert e la mdalità di funzinament. Funzinament Il cmpnente AtServer prevede che l interfaccia di cmunicazine cn il mdem sia di tip seriale, prima di invcare qualsiasi metd dispnibile nel cmpnente è necessari cnfigurare i parametri di cmunicazine da utilizzare nella prta seriale. AtServer dispne di una prprietà SerialCnfig che cnsente di selezinare i parametri di cmunicazine adeguati alle caratteristiche del mdem cn cui si vule interagire mediante cmandi AT, i parametri presenti in questa prprietà sn gli stessi utilizzati per la cnfigurazine del canale seriale utilizzata dai driver ITlS (vedi dcument ITlS basics): 1. BaudRate: impsta la velcità di cmunicazine. 2. DataBits: impsta il numer dei bit dati da utilizzare nella cmunicazine seriale. 3. Parity: impsta il bit di parità per il cntrll errri di cmunicazine. 4. PrtName: Impsta il nme della prta seriale da utilizzare. 5. StpBits: impsta il numer di bit di stp per il byte. Una vlta cnfigurat il canale di cmunicazine seriale è necessari invcare il metd InitializePrt(), attravers quest metd la prta seriale viene inizializzata cn i parametri specificati ed è quindi pssibile inviare cmandi al mdem: //creazine del cmpnente AtServer private ITlS.Cmpnents.Netwrk.Mdem.AtServer atserver = new ITlS.Cmpnents.Netwrk.Mdem.AtServer(); //impstazine dei parametri del canale seriale mediante this.atserver.serialcnfig.databits = 8; this.atserver.serialcnfig.parity = ITlS.Data.Serial.Parity.Nne; this.atserver.serialcnfig.prtname = "COM19"; this.atserver.serialcnfig.stpbits = ITlS.Data.Serial.StpBits.One; //inizializzazine della prta seriale attravers i paramtri specificati nella prprietà SerialCnfig atserver.initializeprt(); Riepilgand, prima di iniziare le prcedure di cnfigurazine del mdem è necessari impstare I parametri di cnfigurazine del canale seriale e quindi invcare in metd InitializePrt(). 3
Cnfigurazine del mdem Una vlta stabiliti i parametri di cmunicazine è necessari cnfigurare il mdem, questa perazine deve essere eseguita una sla vlta in fase di inizializzazine e deve essere ripetuta sl se nel mdem viene a mancare l alimentazine ppure vengn reimpstati i parametri di fabbrica. I metdi sn riprtati di seguit nell rdine cn cui dvrebber essere invcati per ttenere un crrett funzinament del cmpnente. public vid InitializeMdem(): Inizializza il mdem impstand la verbsità dei messaggi di errre in frma di stringhe (per aumentare la cmprensine degli errri ritrnati dal mdem a seguit dei cmadi eseguiti), quindi impsta il mdem per utilizzare il frmat estes di indicazine chiamata in entrata. public AtResult RestreFactrySettings(): Attravers l invcazine di quest metd è pssibile reimpstare i parametri di fabbrica del mdem. La classe AtResult cntiene due prprietà le quali cntengn infrmazini circa il cmand inviat e la rispsta ricevuta. public string NeedPin(): Attravers quest metd è pssibile interrgare il mdem per sapere se è necessari inserire il pin di access. Il valre di ritrn è una stringa una quant la rispsta del mdem può cntenere infrmazini differenti. public AtResult InsertPin(string pin): Cnsente di inserire il pin di access (quand richiest) alla scheda SIM. public IOMde SelectedIOMde(): Ottiene il frmat del messaggi SMS, in particlare le due mdalità dispnibili sn: TEXT: Mdalità testuale; PDU: Mdalità cdificata; public vid SelectIOMde(IOMde imde): Impsta il frmat del messaggi SMS, le mdalità dispnibili sn quelle elencate nel metd precedente. public vid SelectCharset(CharSet charset): Cnsente di selezinare il set dei caratteri da utilizzare durante l invi delle email. I set dei caratteri ammissibili sn: UCS2: il carattere è cmpst da 16 bit ad ttetti multipli cdificati mediante la specifica ISO/IEC10646 [32]. GSM: viene utilizzat il set di caratteri GSM predefinit. public vid DeleteSavedSMS(): Elimina tutti i messaggi presenti nella scheda SIM. I metdi dispnibili per la fase di cnfigurazine csì cme quelli per l invi di SMS ed email generan un eccezine se l perazine nn è stata eseguita cn success, i dettagli del falliment del cmand AT sn inseriti cme crp del messaggi dell eccezine generata. Se il metd prevede la restituzine di 4
infrmazini essere sn ritrnate stt frma di stringa, quest perché in generale i cmandi AT nn prevedn un meccanism di cntrll di esecuzine cmune a tutti i cmandi, quindi il valre i valri di ritrn sn strettamente legati al cmand eseguit. Invi SMS public vid SetSMSServiceCenterAddress(string address): Permette di impstare il numer del centr mssaggi per l peratre desiderat attravers il paramtr address. public vid SendSMS(string number, string message): Invia il messaggi specificat nel parametr message al numer specificat nel parametr number. Invi email public vid InitializeGprs(string apn): Inizializza la cnnessine GPRS impstand l APN da utilizzare. public vid InitializeInternetService(string apn, string dns): Inizializza la cnnessine internet specificand l APN e il DNS da utilizzare. public vid InitializeSMTP(string address, int prt, string name, string passwrd): Impsta I parametri di indirizzament e autenticazine del server SMTP dve: address: è l indirizz ip del server SMTP; prt: è la prta scket da utilizzare; name: è il nme utente da utilizzare nel cas sia richiesta l autenticazine; passwrd: è la passwrd da utilizzare per eseguire l autenticazine sul server SMTP. public vid InitializeMail(string frm, string t, string subject, params string[] cc): Inizializza I parametri principali necessari per crrett invi di un messaggi email: frm: impsta l indirizz email del mittente del massaggi di psta; t: impsta l indirizz del destinatari del messaggi di psta; subject: impsta l ggett dell email; cc: impsta un, nessun mlteplici indirizzi email da inserire in cpia di cnscenza per l email da inviare. public vid SendEmail(string message): Invia il messaggi specificat nel parametr message agli indirizzi specificati attravers il metd precedente. 5
Esempi Inizializzazine private ITlS.Cmpnents.Netwrk.Mdem.AtServer atserver = new ITlS.Cmpnents.Netwrk.Mdem.AtServer(); atserver.initializeprt(); atserver.initializemdem(); AtResult result = atserver.insertpin("6850"); SMS atserver.setsmsservicecenteraddress("+393359609600"); atserver.sendsms("+39366xxxxxx", "my first message"); email atserver.selectcharset(charset.ucs2); atserver.initializegprs("wap.tim.it"); // APN VODAFONE:mbile.vdafne.it // APN TIM :wap.tim.it // DNS VODAFONE:194.185.97.134 // DNS TIM :213.230.155.94 atserver.initializeinternetservice("wap.tim.it", "213.230.155.94"); // SMTP VODAFONE:smtp.net.vdafne.it // SMTP TIM:mail.psta.tim.it // Prt VODAFONE:25 // Prt TIM:25 atserver.initializesmtp("mail.psta.tim.it", 25, null, null); //atserver.initializesmtp("smtp.net.vdafne.it", 25, null, null); atserver.initializemail("albert.schiassi@alice.it", "albert_schiassi@iprel.it", "prva invi mail è à ò é ù secnd tentativ", "albert_schiassi@iprel.it", "albert.schiassi@alice.it"); atserver.sendemail("my first email message"); atserver.clseprt(); 6