Site icon Abavala !!!

PAW : envoi de notifications ou d’actions par SMS

Le troisième exercice lié à PAW consiste a programmer la fonctionnalité d’envoi de SMS.  Le principe est simple.  Le serveur domotique devant m’alerter par SMS d’un incident survenu se connecte en HTTP au serveur PAW.  En le contactant sur la page dédiée, il lui communique le numéro de téléphone du destinataire ainsi que le message à transmettre.  PAW prend alors relai et effectue l’envoi du SMS au numéro de téléphone. Voyons comment faire.

Le script du jour apporte les spécificités suivantes:

  • Pouvoir être appelé par une simple requête HTTP
  • Pouvoir passer en paramètre le numéro de téléphone à appeler
  • Pouvoir passer en paramètre le message à transmettre

Pour obtenir le service attendu encore une fois il suffit de placer le script sur le serveur et le tour est joué.

Voici le script que je vous propose:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Envoi de SMS</title>

</head>
<body>
<h1>Envoi de SMS</h1>
<bsh>
//déclarations
import de.fun2code.android.pawserver.util.*;

//récupération des paramètre d'entrée
numero = parameters.get("numero");
message = parameters.get("message");

//tests rudimentaires des paramètres
if(numero != null && message != null) {

	sendRes = SmsUtil.sendSms(numero, message);

	if(sendRes) {
		print("<p><b><font color='green'>Message envoyé à " + numero + "</font></b></p>");
	}
	else {
		print("<p><<b><font color='red'>Message en erreur pour " + numero + "</font></b></p>");
	}

}

</bsh>
<h3>Paramètres</h3>
<p>
La page prend en paramètre d'entrée les éléments suivants:<br>
<ul>
<li>numero : Le numéro de téléphone cible</li>
<li>message  : Le texte du SMS</li>
</ul>
</p>
<p>
<h3>Texte du message envoyé:</h3>
<bsh>$$.print(message); </bsh>
</p>
</body>
</hmtl>

L’installation se fait de la même manière que pour le script concernant la reconnaissance vocale.  Le prérequis est bien entendu d’avoir installé au préalable le serveur PAW sur votre téléphone Android comme présenté dans le précédent article:

  • Télécharger le code précédent et le sauvegarder le sur votre disque dur dans un fichier appelé : “sms.xhtml”
  • Se connecter au serveur PAW.
  • Accéder au gestionnaire de fichiers : Menu Media->File manager
  • Dans le répertoire /sdcard/paw/html de votre téléphone créer le répertoire “actions” s’il n’existe pas encore

  • Indiquer l’endroit de votre disque dur où se trouve le script à uploader sur le serveur PAW en cliquant sur “Parcourir”.
  • Sélectionner le fichier “sms.xhtml” et cliquer sur “Open”.
  • Effectuer l’upload en cliquant sur “Upload”.
  • Le message suivant vous confirme le chargement du script sur le serveur.

Il ne vous reste plus qu’à renseigner l’URL adéquate dans un scénario pour une Zibase ou bien dans un périphérique HTTP sur un serveur eedomus.

L’URL à renseigner sera de la forme:

http://192.168.0.10:8080/actions/sms.xhtml?numero=0602030405&message=ceci%20est%20mon%20message

Pensez à modifier “192.168.0.10” par l’adresse IP de votre serveur PAW et “0602030405” par le numéro de téléphone du destinataire du SMS.  Le contenu du message sera à préciser dans le paramètre “message”.

Pratique et simple, ce script est une alternative à SMS Gateway dont nous avons déjà parlé il y a quelques mois. Il permet à tout système pouvant communiquer en HTTP d’envoyer des SMS.

Ce script permet également faire rentrer votre prise Orange MyPlug dans votre système domotique en lui envoyant un “ON” ou bien un “OFF” par SM.  Pour cela il faut d’abord créer un actionneur HTTP dans votre environnement eedomus et lui affecter 2 valeurs, l’une pour ON et l’autre pour OFF.

Comme le montre la vidéo ci dessous voici le résultat de l’association d’une prise MyPlug et d’une box domotique eedomus.  Le tout est piloté par l’application dédiée de l’eedomus.

Quitter la version mobile