Actualités | Audio/Vidéo | Evènements | DIY | Domotique | Informatique | Maison | Mobile | Sécurité

Découvrons les capteurs HTTP de l'eedomus

Envoyer Imprimer PDF
Note des utilisateurs: / 5
MauvaisTrès bien 

Hier, les eedomus ont été mises à jour pour le bonheur de tous les utilisateurs. Parmi les nouvelles fonctions, je me suis particulièrement arrêté sur la fonction Capteur HTTP que vient d'ajouter Connected Object à sa box. Ces nouveaux types de périphérique sont encore en versions expérimentales mais la fonctionnalité est impressionnante. Je vous propose de découvrir ensemble la puissance de cette nouveauté ...

Un périphérique "Capteur HTTP" est tout simplement un périphérique qui se met à jour à partir d'un flux XML. Cette mise à jour est programmable. La balise du flux XML est spécifiable via la norme XPath. Et c'est XPath qui s'avère une très bonne idée car ça permet de lire tous les types de fichiers XML, même les plus compliqués (web services météo, page web xhtml, etc).

Initialement, ce périphérique a été créé pour interfacer l'eedomus aux cartes IPX800. Plusieurs blogs ont illustré cet exemple hier. Je ne vais pas revenir dessus.

Pour écrire cet article, j'ai décidé de prendre un fichier XML plus complexe pour démontrer la puissance de XPath. Prenons le fichier XML de la Zibase comme exemple (http://192.168.1.104/sensors.xml) .

Pour commencer, il faut ouvrir votre Zibase et choisir un capteur. Dans mon exemple, je choisis le capteur T° Ext Av car il possède deux variables (T° et Humidité).

Ensuite, il faut aller dans le configurateur de la Zibase pour noter l'identifiant radio du capteur : Ici OS439158786

Maintenant, il faut créer un capteur eedomus http pour chaque valeur que l'on veut récupérer du fichier XML de la Zibase. Ici on parle de la température et de l'humidité.

Pour chaque capteur, il faut spécifier l'url de flux XML de votre zibase. Ce flux est disponible à l'adresse http://IP_Votre_Zibase/sensors.xml.

Voici un exemple de flux:

<evs>
<ev type="7" pro="OS" id="67072" gmt="1334180986" v1="232" v2="0" lowbatt="0"/>
<ev type="7" pro="OS" id="439158786" gmt="1334180984" v1="105" v2="71" lowbatt="0"/>
<ev type="7" pro="OS" id="3930851841" gmt="1334180960" v1="342" v2="0" lowbatt="0"/>
<ev type="5" pro="TS" id="2239889408" gmt="1334180876" v1="180" v2="30" lowbatt="0"/>
<ev type="5" pro="TS" id="690159616" gmt="1334180940" v1="210" v2="19" lowbatt="0"/>
<ev type="5" pro="TS" id="772603904" gmt="1334180686" v1="210" v2="19" lowbatt="0"/>

Il faut spécifier le chemin Xpath pour lire votre valeur souhaitée. Ici, j'utilise le chemin :

//ev[@id=439158786]/@v2

Que signifie cette syntaxe barbare ?

  • EV signifie balise EV
  • @ID signifie attribue ID de la balise EV
  • ID=439158786 correspond au capteur que l'on a choisi plus haut dans cet article
  • /@v2 signifie attribut v2 (qui représente la variable v2 du noeud EV filtré sur l'ID = 439158786)

Ca peut paraitre compliqué, mais si vous faites quelques recherches sur XPath, vous verrez que c'est très puissant. On peut même appliquer des fonctions de calcul, de concatenation, ... Je ne sais pas si tout fonctionne. J'ai moi même eu un problème pour faire fonctionner la division par 10 nécessaire à la lecture de la température. J'ai demandé de l'aide à Connected Object ... je vous tiendrais au courant.

Pour finir cet exemple, précisez le délai de rafraichissement de ce périphérique HTTP et sauvez pour valider vos informations. La page suivante apparait. Au bout de quelques secondes, vos périphériques s'initialisent après la lecture du flux XML de la Zibase

 

En conclusion

Si vous faites quelques recherches sur Xpath, vous allez comprendre à quel point ce langage est puissant. On peut imaginer extraire simplement n'importe quelle information d'une page web bien structurée. On peut imaginer lire n'importe quel flux XPL comme celui du RFXCOM ou d'un serveur 1-wire.

Il est donc possible de programmer des interfaces en standard sans passer par un script spécifique sur une machine extérieure ou un NAS. Je suis également en train d'exploiter cette fonction pour lire ma carte IPX et notamment implémenter des graphes sur mon compteur de consommation d'eau que je vous ai présenté, il y a peu de temps.

Bref, je vais vous reparler de ces périphériques très bientôt.

 

Cet article vous est proposé par Domotics: Domotics habite dans la région Toulousaine. Il est ingénieur en informatique et électronicien amateur. La domotique est pour lui une passion qu'il pratique depuis 1999. En 2003, il décide de partager ses expériences sur le magazine et le forum de touteladomotique.com

 

Mise à jour le Mercredi, 15 Août 2012 15:31  

Ajouter un Commentaire


Code de sécurité
Rafraîchir

Recherche

Les Flux RSS de TLD
Instagram

Produits Partenaires

GCE Electronics est partenaire de Touteladomotique.com RFXCOM.com est partenaire de Touteladomotique.com



Liens Utiles

Boutiques Partenaires

Liens Utiles

Un don pour TLD ?

Pourquoi faire un don ?

Publicité

Espaces publicitaires à louer
Contactez-nous

Connexion