Newsgroup: it.comp.programmare
Titolo: AT-COMMAND per invio sms

Salve,
non so se qui è il posto corretto per porre questa  domanda, ma spero
di trovare aiuto
Vorrei creare un programmino in visual basic che invia sms con i
comandi AT
Come prima cosa vorrei creare un file cmd che funziona con numero di
telefono 1111111111 e messaggio "prova"
Ho visto che per connettersi al telefonino (nokia)  bisogna scegliere
su hyperterminal la com55
se scrivo AT risponde ok ma per il resto dà sempre errore.
Ho trovato un posto post interessante dove c'è scritto
AT+CPMS="BM" imposta la memoria del telefono piuttosto che quella nella
SIM
AT+CMGF=1 imposta l'SMS nel formato testo
AT+CMGS per spedire gli SMD
esempio:  AT+CMGS="+3911111111111"<CR>"Testo del messaggio"<ctrl-Z>
AT+CMGR per leggere gli sms
esempio: AT+CMGR=1 per leggere il messaggio dalla locazione 1
AT+CMGL per visualizzare tutti i messaggi
Purtroppo mi dà sempre errore
Mi pare di essere molto lontano..mi potete aiutare?
Grazie per l'attenzione

 Grazie per l'attenzione
Prego.

Sono standard, o funzionano solo per un determinato modello?
Sono standard.

Vi ringrazio per le risposte e vi spiego meglio il mio obbiettivo.
Ho installato Microsoft sms sender sul mio pc
Sucessivamente ho fatto un semplice programmino in Access che
praticamente si basa su sms sender. Ho una rubrica ...una regitrazione
in un database dei messaggi inviati ..report statistiche..
Il problema è che smssender al momento dell'invio fa comparire un
msgbox con la scritta:
messaggio inviato
Se non si preme ok non c'è verso di fargli inviare altri messaggi.
La mia idea era quello di crare una programma di rete con una rubrica
unica,  uno storico unico ecc... Ora il "server" che dovrebbe
controllare i messaggi provenienti dai vari utenti ed inviarli  dopo il
primo messaggio si blocca per quel msgbox..
Non posso quindi usare smssender per inviarli  ecco il codice che uso
    Str = "C:\Programmi\Microsoft SMS Sender\SMSSender.exe   /p:" &
PhoneNumber & " /l /m:""" & SmsMsg & """"
    Call Shell(Str, 1)
Inoltre non mi sembra una gran cosa per un programma di invio sms usare
un'altro programma di invio sms. ( un programma su cui non viene
fornito alcun tipo di supporto)
Ricercando altre soluzioni ho letto un post interessante dal titolo
Card PCMCIA GSM per invio SMS
nel gruppo it.tlc.cellulari
Prima di tutto dovrei riuscire a inviare un sms con hyperterminal
poi creare un file cmd  funzionante ed infine scrivere uno script
visual basic dove messaggio e numero sono variabili che cambiano di
volta in volta.
Per questo motivo ho chiesto il vostro aiuto
Grazie per l'attenzione



 Grazie per l'attenzione
L'aiuto ti si da' volentieri.
Mi serve sapere di che ambienti di sviluppo disponi.
Hai detto visual basic, speravo in qualcosa di meglio.
In visual basic mi pare di ricordare che ci fosse un oggetto per
colloquiare con la porta seriale.
Mi chiedo se esista un oggetto per la seriale anche in VShell
Vado a documentarmi.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Bingo!
Ho trovato che esiste questo simpatico oggetto ActiveXperts.Comport
che fa proprio al caso tuo.
Te lo scarichi (e' freeware), lo installi, dopodiche' puoi utilizzarlo
in VBScript e mandare SMS via batch.
C'e' anche un esempio bello pronto!
Send an SMS using a GSM Modem connected to the PC; Enable logging
   Const RECIPIENT    = "
+31624896641
"
   Const MESSAGE      = "Hello, world!"
   Set objComport     = CreateObject( "ActiveXperts.Comport" )' Create a
new Comport instance
   objComport.Device  = "Nokia 6680 SmartPhone"               ' Use the
Stanrd 9600 bps Modem Telephony driver
   objComport.LogFile = "C:\ActiveComport.log"                ' Enable
logging
 
   objComport.Open                                            ' Open the
port
   Wscript.Echo "Open, result: " & objComport.LastError
   If( objComport.LastError <> 0 ) Then
     WScript.Quit
   End If
   WriteStr objComport, "at+cmgs=" & Chr( 34 ) & strNumber & Chr( 34 )
   ReadStr objComport
   WriteStr objComport, strMessage
   strTermCmd = Chr( 26 )	                                  ' Terminate
message: [ctrl]z and then [enter]
   WriteStr objComport, strTermCmd
   objComport.Sleep 3000                                      ' It takes
a while before GSM phone responds
   ReadStr objComport                                         ' +CMGS:
expected
   ReadStr objComport                                         ' OK
expected
   objComport.Close                                           ' Close
the port


 Te lo scarichi (e' freeware), 
Mi correggo, ho letto male la licenza: non e' freeware.
E' shareware con 30 giorni di valutazione.


 E' shareware con 30 giorni di valutazione.
Ti ringrazio per la tua risposta, proverò e ti faccio sapere.. si
nessun programmatore ama visual-basic e ancora di meno Microsoft Access
..che però mi ha permesso di avvicinarmi gradualmente alla
programmazione.  Ora spero di trovare il tempo per studiare c# 
A presto


Un programma fatto da me con Microsoft Access che ha una sua rubrica
una registrazione degli sms inviati , alcune statistiche che si basa su
sql-express come database.
Praticamente è  identico a smssender ma ha come obbiettivo un uso
multi-utente.
Pensavo di eseguire una routine ogni 60 secondi che prende dal database
gli sms che devono essere inviati

MICHELE ha scritto:

Al di la' del fatto che c'e' di mezzo Access, in pratica il tuo 
programma accede ad un database per reperire i dati e utilizza una 
procedura esterna (il file.exe) per spedire i SMS.
Non necessariamente devi considerare un programma come un unico file 
eseguibile che contiene tutto al suo interno.
Se poi hai questo tipo di esigenze multiutente, potresti pensare di 
sviluppare qualcosa con architettura client-server.
Il server e' la parte che si incarica di spedire i SMS quando uno 
specifico client ci accede, si identifica e gli fornisce i dati per 
spedire il SMS
In tutti i modi, il nucleo del programma, ovvero la parte che dialogando 
col modem GSM gli manda i dati per il SMS devi sviluppartela, o usando 
quell'oggetto che ti ho trovato o dialogando direttamente con la porta 
seriale mediante i metodi che ti mette a disposizione il sistema operativo.

eseguibile che contiene tutto al suo interno.
Vero.  Io ho già costruito applicazioni di questo tipo.  Un'idea
sicuramente carina è quella di usare un server che interfaccia la
seriale e fa un polling, ogni tot, su una base dati, alla ricerca di
messaggi da inviare.  
Le applicazioni (in qualsiasi linguaggio siano fatte) che vogliono
mandare SMS non fanno altro che aggiungere un record alla tabella.