ExTcp  - convertotori seriale wireless per ogni esigenza
    
 
Torna a: EzTcp Home Page > Articoli Divulgativi > Linea SMS Machine > HTTP > Come utilizzare la SMS Machine/HTTP con ASP
Come utilizzare la SMS Machine/HTTP con ASP
Data di pubblicazione: 17-10-2003 |  Applicazione Articolo applicativo  |  | Versione Italiana  | (No English Version)The English version of this article does not exists
Parole chiave: - How-To - SMS Machine -

SMS Machine/HTTP è un dispositivo hardware che consente di ricevere SMS da una carta SIM GSM e comunicarli direttamente ad un server Web. SMS Machine/HTTP è in grado anche di trasmettere SMS tramite una carta SIM su richiesta di un server Web.

Se desideriamo, ad esempio, ricevere un SMS senza dover installare ulteriori servizi sul nostro server Web o dover interfacciare un modem GSM su una delle linee seriali del server, sarà sufficente collegare la SMS Machine/HTTP sulla nostra rete e configurarla perchè richiami un nostro script ASP ad ogni messaggio ricevuto passandogli direttamente il numero di telefono del mittente ed il testo del messaggio all'interno di variabili HTTP.

Allo stesso modo possiamo effettuare facilmente delle trasmissioni di SMS da script ASP. In questo caso, supponendo che la nostra SMS Machine / HTTP risponda all'indirizzo IP 192.168.0.101, non dovremo fare altro che richiedere dal nostro script ASP il seguente indirizzo http://192.168.0.101/smssend.cgi, passando in modalità POST il numero ed il testo dell'SMS che intendiamo inviare.

Scopo di questo articolo è fornire un esempio pratico di utilizzo da usare come base per le proprie applicazioni.

Vediamo quindi come realizzare un sistema che riceva un SMS, lo memorizzi in un database Microsoft Access ed invii un SMS di risposta al mittente.

Di cosa abbiamo bisogno

Ecco quello che occorre per realizzare il nostro sistema:

  1. Un PC dotato di sistema operativo Windows su cui gira il nostro Server Web IIS ed i nostri script ASP
  2. Microsoft Access (o le librerie ADO - Database Conenction Object). In alternativa è possibile scaricare una versione delle librerie ADO da questo link del sito della Microsoft
  3. Una SMS Machine / HTTP connessa in rete locale con il Server Web

Per poter inviare SMS faremo uso anche di una estensione ad IIS. Si tratta della DLL ASPtear tramite la quale potremo effettuare richieste HTTP dai nostri script ASP verso server Web esterni. In pratica con questa libreria possiamo simulare all'interno dei nostri script una richiesta Web verso l'esterno come se fosse generata da un normale browser web.

E' possibile scaricare liberamente ASPtear da http://www.alphasierrapapa.com/IISdev/Components/.

Ricezione di un SMS

Per ricevere un SMS dobbiamo, per prima cosa, avere configurato la nostra SMS Machine per fare in modo che, alla ricezione dell'SMS stesso, richiami uno script che risiede sul nostro server Web. Nel seguito supporremo che tale server risponda all'indirizzo IP 192.168.0.50.

Lanciamo il configuratore della SMS Machine / HTTP e scriviamo nell'apposito campo il percorso verso lo script che scriveremo per gestire i messaggi: http://192.168.0.50/ricevi.asp. Scegliamo anche la modalità con cui vogliamo che ci vengano trasmessi i parametri, POST oppure GET. Nel nostro caso esamineremo entrambe le possibilità, cominciando dalla modalità POST.

Apriamo il nostro editor favorito e inziamo a creare lo script ricevi.asp:

  // ------------------------------------------------------------
  // Ricava i parametri passati dalla SMS Machine con il POST
  // ------------------------------------------------------------
  var Telefono=Request.Form("sms_num");
  var Data=Request.Form("sms_date");
  var Testo=Request.Form("sms_text");
  var Code=Request.Form("sms_code");
  // ------------------------------------------------------------

Con queste semplici istruzioni abbiamo già ottenuto un notevole risultato: nelle variabili dello script Telefono, Data e Testo sono ora memorizzati tutti i dati dell'SMS Ricevuto.

Da questo punto in poi lo script si potrebbe sviluppare in moltissimi modi, secondo le nostre esigenze. Noi scegliamo di inserirlo in un database e di rispondere all'utente confermandogli che la memorizzazzione è avvenuta con successo.

Se invece preferiamo utilizzare la modalità GET dobbiamo modificare leggermente il nostro script, come qui di seguito mostrato:

  // ------------------------------------------------------------
  // Ricava i parametri passati dalla SMS Machine con il GET
  // ------------------------------------------------------------
  var Telefono=Request("sms_num");
  var Data=Request("sms_date");
  var Testo=Request("sms_text");
  var Code=Request("sms_code");
  // ------------------------------------------------------------

Inserimento dei dati in un database

Per l'inserimento dei dati supporremo di avere creato con Microsoft Access un database chiamato messaggi.mdb, in cui è presente una tabella sms_ricevuti. Tale tabella contiene i campi Data, Numero e Messaggio.

La connessione verso il Database può avvenire in diversi modi ed utilizzando diversi strumenti (ADODB, ODBC) a secondo della base dati utilizzata (Access, SQL Server o altre basi dati); in ogni caso comunque l'importante è stabilire la connessione con il database creato per poter eseguire la query di inserimento.

Aggiungiamo quindi al nostro script ricevi.asp le seguenti righe:

  // Ricava il percorso del Database nel filesystem
  filePath = Server.MapPath("messaggi.mdb")
  // Apre la connessione verso il Database
  Set AdoConn = Server.CreateObject("ADODB.Connection")
  AdoConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filePath  
  // Esegue la query SQL
  query="INSERT INTO sms_ricevuti (Data, Numero, Messaggio) /
         VALUES ('" & Data & "', '" & Telefono & "', '" & Testo & "')"
  AdoConn.Execute query		
  // Chiude la connessione	
  AdoConn.close                

A questo punto il messaggio ricevuto è stato salvato nel database: non dobbiamo fare altro che rispondere all'utente che tutto è andato bene.

Invio dell'SMS di risposta

Per l'invio dell'SMS di risposta abbiamo la necessità di richiamare una pagina che si trova sul server Web interno alla SMS Machine, inviandole in POST i parametri dell'SMS da spedire. Per tale scopo abbiamo bisogno della dll ASPTear.dll, che quindi deve essere installata sul nostro server.
Per installare la dll è sufficiente copiarla in una cartella (ad esempio C:\WINNT\system32) e poi dal menu Start->Esegui digitare il comando

  regsvr32 C:\WINNT\system32\ASPtear.dll

A questo punto la dll è disponibile per IIS e possiamo includerla nei nostri script come un qualsiasi altro oggetto.
Aggiungiamo quindi al nostro script le seguenti istruzioni:

  // Crea l'oggetto ASPTear
  xobj = Server.CreateObject("SOFTWING.ASPtear");
  // Codifica il testo per la transazione HTTP
  Testo="Il tuo SMS è stato correttamente inserito nel database."
  Testo=Server.URLEncode(Testo);
  Response.ContentType = "text/html";    
  // Apre la pagina di invio della SMS Machine
  strRetval = xobj.Retrieve("http://192.168.0.101/smssend.cgi", 1, /
      "text="+Testo+"&Pwd="+Code+"&num="+Numero+"&mode=0", "", "");

La prima istruzione crea il riferimento all'oggetto ASPTear; successivamente il testo dell'SMS di risposta viene codificato per poter essere spedito tramite la transazione HTTP. La riga che esegue il compito fondamentale è l'ultima che apre la connessione HTTP verso la SMS Machine, passandole i parametri per l'invio dell'SMS di risposta.

A questo punto il ciclo è completo e l'utente che ha inviato il messaggio vedrà arrivare la conferma direttamente sul suo telefonino.

Nota: la dll AspTear può essere sostituita con altri metodi equivalenti per ricevere una pagina da un sito Web; ad esempio è possibile utilizzare l'ogetto Winsock per aprire una conenssione verso il server e mandare un comando di GET.

Sviluppi e potenzialità del sistema

Con il metodo appena visto è possibile integrare in maniera semplice ed immediata, la messaggistica SMS nel nostro sito Web o nella nostra applicazione.

Ad esempio si potrebbe creare un database che contenga informazioni rilevanti per i nostri utenti (ad esempio una rubrica telefonica) e permettere loro di interrogarlo via SMS. Per fare questo sarebbe sufficiente analizzare il messaggio in arrivo alla ricerca di comandi di interrogazione da noi definiti, effettuare le query sul database e ritornare i dati ottenuti all'utente attraverso l'SMS di risposta.

Un'altra applicazione di semplicissima realizzazione potrebbe essere un "deposito" di SMS che l'utente possa poi accedere via Web.

Inoltre il sistema ha notevoli doti di scalabilità: è sufficiente aggiungere sulla rete nuove SMS Machine (fino ad esaurimento degli IP della rete!) per poter aggiungere nuovi numeri GSM per la ricezione, utilizzando lo stesso server per il trattamento degli SMS.

Download

In questa sezione vengono riportati tutti i file necessari per eseguire gli esempi riportati in questo articolo.

Dll ASPTear versione 1.0
Script ricevi.asp di ricezione, memorizzazione nel database e reinvio di un SMS
Script di ricezione tramite POST
Script di ricezione tramite GET
Script di ricezione e reinvio

Maggiori informazioni su SMS Machine/HTTP

Articoli correlati

  • SMS Machine/HTTP - Gateway SMS - HTTP
    SMS Machine/HTTP riceve e trasmette messaggi SMS e li comunica direttamente ai tuoi script web qualunque sia il linguaggio di programmazione o il sistema operativo scelto.
    Funziona con normali carte SIM di qualunque operatore telefonico alle normali tariffe commerciali.
    SMS Machine/HTTP è un prodotto professionale dedicato alle aziende che sviluppano servizi WEB e desiderano integrare le loro applicazioni con la messaggistica SMS in modo rapido, semplice ed economico!


Segnala questo articolo: 

Delicious         



Parole chiave: - How-To - SMS Machine -

Data di pubblicazione: 17-10-2003Hits: 50199
I marchi citati sono proprietà dei titolari dei relativi diritti. Le caratteristiche tecniche e i prezzi riportati sono indicativi e soggetti a variazioni senza preavviso. Le foto non hanno valore contrattuale. Nonostante accurate verifiche, il presente documento può contenere prezzi o specifiche errati. Area SX si scusa in anticipo e si impegna ad evitare tali imprecisioni.

 Area SX store
In questa sezione puoi ordinare direttamente i prodotti descritti in questo articolo
Tutti i prezzi indicati sono espressi in Euro con IVA e spese di trasporto escluse. I prezzi si riferiscono al singolo pezzo
DescrizioneCodicePrezzo
Per maggiori informazioniSMS Machine HTTP/EMAIL
Gateway per lo scambio di messaggi SMS tra rete GSM ed Applicazioni WEB.
SMS Machine HTTP riceve i tuoi SMS e li inoltra ad un server o ad una casella EMAIL e riceve chiamate HTTP o EMAIL che vengono trasformate in SMS.
Gestisce SMS concatenati (fino a 300 caratteri), notifiche di ricezione, messaggi di tipo 'attivo' WAP Push e squilli
Caratteristiche:
  • Modem Quad Band 800/900/1800/1900 MHz
  • Interfaccia di rete 10/100Mbit
  • Alimentatore a parete


Prodotto compliant RoHs
SMS-HTTP€ 449.00
€ 390.00
Per maggiori informazioniPer maggiori informazioni
 Aggiungi la quantità indicata nel carrello

Area SX s.r.l. - Via Stefano Longanesi 25, 00146 ROMA - Tel: +39.06.99.33.02.57 - Fax: +39.06.62.20.27.85 - P.IVA 06491151004