Recherche
Renseignez vos critères :

Revue de Presse
Publicité

pawPAW : envoi de notifications ou d’actions par SMS

par Hervé
Publiés le: 10 janvier 2013
Commentaires: 17 Commentaires
Catégories: Android, Développement

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.

Image de prévisualisation YouTube
Si vous avez apprécié, n'hésitez pas à laisser votre commentaire ou à souscrire au flus RSS .

Ceci pourrait vous intéresser:


Publicité

17 Commentaires - Laisser un commentaire
  1. antislash dit :

    Bonjour,

    Très intéressant, je viens de tester avec succès cette solution. Existe t’il a votre avis la possibilité d’intercepter les sms entrants pour qu’ils soient passés à un script ?

  2. Daniel dit :

    Bonjour Hervé,
    J ai testé tous vos articles sur PAW et du coup j ai acheté un mobile Anroid dédié à ces taches en complément de la box eedomus tout cela fonctionne vraiment trés bien et c est relativement facile à metre en oeuvre.Du coup il ne manque plus que de faire décoder les SMS par paw et les transformer en requete http pour activer un périphérique via l api eedomus.

  3. Daniel dit :

    Bonjour Hervé,
    merci pour votre réponse je suis impatient.
    Superbe travail tout au long des articles sur Abavala.
    c est un site de référence !

  4. pikat dit :

    Je n’avais pas encore testé….. tout simplement génial !!!!!
    MERCI et bonne continuation.

  5. Philippe dit :

    Super application en complément de mon Eedomus…
    Et les tutos, extras! merci

    J’ai vu qu’il était possible de lancer une application android depuis le serveur paw.
    Est il possible de la lancer via une requette http?

    Merci d’avance

    • Hervé dit :

      Si c’est possible de lancer une application android depuis PAW, ça ne doit pas être trop compliqué de l’enrober d’une script permettant de l’appeler via une requête http. Je n’ai pas trop regardé ce côté. Ce serait pour quel besoin?

      • Philippe dit :

        Bonsoir Hervé

        J’ai cherché,mais j’ai rien vu là dessus !
        A savoir que je ne suis pas un dieu de l’informatique et des codes! :-)
        Si tu as un moment, je veux bien un peu d’aide…je souhaite lancer ponctuellement une appli android qui se connecte à mon onduleur PV et envoie les données automatiquement vers PVoutput.(des fois cette application se coupe toute seule, j’aimerais donc pouvoir la relancer à distance quand je ne suis pas là ! )

        En te remerciant, d’avance…

  6. Jean-Jacques dit :

    Bonsoir et merci pour cette documentation sur l’utilisation de Paw.
    Je l’utilise avec une box HC2 de Fibaro et cela fonctionne avec un module virtuel dans la mesure où l’on envoie la ligne de commande http au format string… mais gros inconvénient on ne peut inclure une variable.
    J’ai donc essayé en LUA, mais cela ne fonctionne pas. J’ai posté sur un forum français, mais pas de réponse (et je ne maîtrise pas l’anglais pour participer au forum de fibaro)
    Voici le code LUA (sans utilisation de variable pour l’instant)… et merci par avance !
    –[[
    %% properties
    %% globals
    --]]
    HC2 = Net.FHttp(« 192.168.1.32″,8080)
    response = HC2:GET(« /actions/sms.xhtml?numero=0699999999&message=FIBARO%20MESSAGE%20DE%20TEST »)

  7. Jean-Jacques dit :

    J’ai la réponse à ma question précédente : apparemment un bug du code Lua de Fibaro, qui devrait être corrigé.
    Sur le forum de Fibaro, on trouve une solution de @Krikroff avec un addon
    Cordialement

  8. K dit :

    Bonsoir,

    Petit déterrage car je suis en train de tester PAW qui semble correspondre à mon besoin.

    Pensez-vous qu’il soit possible d’envoyer cette requette HTTP depuis une machine située hors du LAN ? (je souhaiterais avoir des notifications pour une machine située hors de chez moi)

    Cordialement

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>



International
    Translate to:

Plugin created thanks to micro sd card , r4i uk , sd card and r4i gold
Publicité
Prochains évènements
  • 5 juin 2014CES Unveiled EASTERN EUROPE - Varsovie
AEC v1.0.4
Partenaires
Planète Domotique Domadoo Univers Domotique Annuaire de la Domotique en France