ExTcp  - convertotori seriale wireless per ogni esigenza
    
 
Torna a: EzTcp Home Page > Articoli Divulgativi > Linea SMS Machine > HTTP > Come utilizzare SMS Machine/HTTP con PHP
Come utilizzare SMS Machine/HTTP con PHP
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 - PHP - SMS Machine -

Un sistema completo di messaggistica SMS utilizzando PHP

La SMS Machine di Area SX consente di ricevere e trasmettere SMS tramite una semplice connessione Web, utilizzando il nostro linguaggio di programmazione preferito: PHP, ASP, PERL, Visual Basic...
In questo articolo vedremo in dettaglio come interfacciare la SMS Machine con il linguaggio PHP.

Come funziona SMS Machine

La SMS Machine (per leggere un articolo di approfondimento SMS Machine/HTTP - Gateway SMS - HTTP) consente di ricevere e trasmettere SMS semplicemente caricando una pagina da un server Web.
Ad esempio, supponendo che la nostra SMS Machine risponda all'indirizzo IP 192.168.0.101, per inviare un SMS non dovremo fare altro che richiedere il seguente indirizzo http://192.168.0.101/smssend.cgi, passando in modalità POST il numero ed il testo dell'SMS che intendiamo inviare.
Analogamente per ricevere gli SMS sarà sufficente configurare la SMS Machine perchè richiami un nostro script PHP passandogli i parametri dell'SMS ricevuto.

Quello che vogliamo realizzare qui di seguito è un sistema che riceva un SMS, lo memorizzi in un database MySql ed invii un SMS di risposta al mittente. Questo tipo di sistema può essere la base di decine di idee per offrire servizi o intrattenimento via SMS direttamente dal nostro sito Web.

Di cosa abbiamo bisogno

Per realizzare tutto questo ci servono:

  • una SMS Machine/HTTP
  • un Server Web Apache con modulo PHP
  • MySql Server

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.
Apriamo quindi il configuratore della SMS Machine e scriviamo nell'apposito campo il percorso verso lo script che scriveremo per gestire i messaggi: http://192.168.0.50/ricevi.php. Scegliamo anche la modalità con cui vogliamo che ci vengano trasmessi i parametri, POST oppure GET. Nel nostro caso entrambe le modalità funzionano con lo stesso script, per la capacità dell'interprete PHP di rendere disponibili le variabili passate sia in POST che in GET nella stessa maniera.

Apriamo quindi il nostro editor favorito e inziamo a creare lo script ricevi.php.
Quando questo script verrà richiamato dalla SMS Machine, nelle variabili $sms_num, $sms_text, $sms_data saranno già memorizzati tutti i dati dell'SMS ricevuto. Più semplice di così!
Da questo punto in poi lo script si potrebbe sviluppare in moltissimi modi, secondo le nostre esigenze. Noi scegliamo di inserire il messaggio ricevuto in un database e di rispondere all'utente confermandogli che la memorizzazzione è avvenuta con successo.

Inserimento dei dati in un database

Per l'inserimento dei dati supporremo di avere creato nel nostro server MySql un database chiamato messaggi, in cui è presente una tabella sms_ricevuti. Tale tabella contiene i campi data, mumero e messaggio.
Per prima cosa quindi dovremo stabilire la connessione con il server Mysql (che per comodità supponiamo rispondere allo stesso indirizzo IP del server Web, 102.168.0.50), utilizzando una utenza ed una password che abbiano accesso al database messaggi.
Aggiungiamo quindi al nostro script ricevi.php le seguenti righe:

  // Memorizza i dati in un database MySql
  
  $mySqlHost="192.168.0.50";    // Indirizzo del nostro server MySql
  $mySqlUser="root";            // E' l'utente Mysql che ha accesso al database messaggi
  $mySqlPassword="password";    // E' la password per l'utente MySql
  $mySqlDatabase="messaggi";    // E' il nome del database in cui memorizzeremo i messaggi
    
  // Si connette al server MySQL
  mysql_pconnect($mySqlHost,$mySqlUser,$mySqlPassword);
    
  // Seleziona il database in cui memorizzare il messaggio
  mysql_select_db($mySqlDatabase);

  // Inserisce il messaggio in una tabella chiamata "sms_ricevuti"
  mysql_query("INSERT INTO sms_ricevuti (numero,messaggio,data) 
              VALUES (\"$sms_num\",\"$sms_text\",\"sms_date\")");

A questo punto il messaggio ricevuto è stato salvato nel database: non dobbiamo fare altro che rispondere all'utente che tutto è andato bene.
Se invece abbiamo problemi di connessione al database occorrerà controllare che l'utente che abbiamo specificato sia valido per MySql e che il database sia stato correttamente creato.

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 funzione PostIt, che effettua l'invio dei parametri che le passiamo simulando un POST. Tale funzione è definita nel file ricevi.php che si può scaricare dal link in fondo a questo articolo.
La funzione riceve come parametri un array associativo contenente i dati da inviare in POST ed una stringa che identifica l'URL verso cui fare il POST stesso.

Nel nostro script preparariamo quindi l'array associativo contenente il nostro messaggio di risposta e lo passiamo alla funzione PostIt:

  // Invia un SMS di risposta

  $dati["num"] = $sms_num;    // Numero a cui inviare il messaggio 
                              //(è lo stesso da cui abbiamo ricevuto)
  $dati["text"] = "Il tuo messaggio è stato correttamente memorizzato";  
                              // Testo del messaggio
  $dati["Pwd"] = "SMS1234";       // Codice per la SMS Machine
  $dati["mode"] = "0";        // Modo di invio 0 - normale, 1 - messaggio flash

  $indirizzo_SMSMachine="http://192.168.0.101";  // Indirizzo della SMSMachine

  //Questa funzione richiama lo script di invio della SMSMachine e simula il passaggio 
  // dei dati in POST
  PostIt($dati,$indirizzo_SMSMachine."/smssend.cgi");

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

Nel file ricevi.php che è possibile scaricare dal link in fondo a questo articolo è presente anche una porzione di codice commentata che permette di reinviare l'SMS ricevuto via E-Mail.

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 anallizzare 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.

File relativi a questo articolo

Script ricevi.php di ricezione, memorizzazione nel database e reinvio di un SMS
Script di ricezione tramite GET o POST che visualizza il messaggio e lo memorizza in un file sul server Web
Invio di un SMS da una pagina Web HTML


Segnala questo articolo: 

Delicious         



Parole chiave: - How-To - PHP - SMS Machine -

Data di pubblicazione: 17-10-2003Hits: 59099
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