mardi 14 février 2012

Commander une carte Arduino depuis Homeseer

Bonjour à tous,
 Je vous propose un module basé sur le framework Domotics, pour piloter éclairage, prises, portail, etc… à partir d’une carte Arduino, d’un shield Ethernet et de Homeseer (celui-ci reste facultatif) car l’Arduino peut également être autonome et se piloter avec un simple navigateur.
Principe de fonctionnement :
Mon montage est basé sur une carte Arduino UNO qui possède 13 E/S numériques mais dans mon exemple je n’en utilise que 8 (extensible jusqu’à10) pour piloter des LED (appelés LED1 à LED8). Il est ensuite très simple de remplacer les LED par des relais pour commander tout ce qui vous passe par la tête.
La carte Arduino est équipée d’un Shield Ethernet. Ceci lui permet d’être éloigné du PC. Elle sera configurer comme serveur pour répondre à des requêtes http du type http://192.168.1.177/?L=1 pour faire commuter la sortie N°1. Par contre elle a besoin d’une alimentation 5V et d’une connexion à votre réseau pour fonctionner.
Le serveur Web dispose d’une interface utilisateur (certes très basic), mais qui permet de piloter notre carte Arduino à partir d’un simple navigateur Web à condition d’être sur le même réseau interne.
Pour accéder à l’interface on appelle l’adresse du serveur défini dans le code source chargé dans l’Arduino, depuis le navigateur d’un PC ou d’un smartphone, tablette etc…Ensuite on appui sur le bouton correspondant à la sortie que l'on veut faire changer d'état(ON/OFF)

La seconde étape sera d’interfacer le montage avec Homeseer. Pour cela je me suis basé sur les ‘modules’ qui utilisent le Framework Domotics. Il permet de créer automatiquement les Devices et les events qui remplaceront l’utilisation du navigateur en envoyant le même type de requête au serveur Arduino et d’avoir le retour d’état des sorties.
Le déclenchement des sorties pourra ainsi se faire en fonction de n’importe quels conditions dans Homeseer et être complètement intégré au reste de votre installation.

Les évolutions possibles sont :
Coté matériel: Il reste 2 E/S numériques de libre et toutes les entrées analogiques qui ne sont pas utilisées. Je pense qu’on doit pouvoir basculer facilement certaines broches numérique en entrée avec peu de modification si cela est nécessaire. On peut remplacer les LED et utiliser les sorties pour commander des relais. L’avantage des relais est de pouvoir commander à peu prêt tout ce qui s’alimente par une tension à condition de respecter quelques caractéristiques (tension, courant, isolation etc…) certains relais (type ON/ON) peuvent aussi être câblés en circuit Va et Vient avec un interrupteur traditionnel pour garder une commande physique en cas de problème avec le serveur. Par contre dans ce cas l’état ON/OFF de la sortie de représentera plus l’état de l’appareil à commander mais bien la position de l’interrupteur. (au risque de consommer du courant pour maintenir un circuit ouvert !) 

Coté code là aussi je pense qu’il est tout à fait possible de le faire évoluer. Celui de l’Arduino pour avoir une interface web plus sympa, ou pour exploiter certaines broches en entrée, comme les entrées analogiques pour relever des capteurs ou les entrées numérique, voir pourquoi pas utiliser les PWM pour faire de la variation d’éclairage etc… mais également celui du module Homeseer pour pouvoir ajouter aux Devices un bouton qui déclenche l’event associé sans avoir à jongler d’un écran à l’autre.
Je pense aussi que le concept peut surement être adapté à d’autres box domotiques capables d’envoyer des requêtes http

Bref voici une base qui ne demande qu’à évoluer, libre à vous de l’utiliser, et de l’adapter comme bon vous semble. Si jamais vous l’améliorez, merci de partager.

Je n’ai évidement pas écris la totalité de ces codes mais plutôt adapté ce que j’ai trouvé ici ou la sur le web pour arriver à une solution de base qui fonctionne.
En cas de problème vous pouvez toujours me laisser vos questions, j’essayerai d’y répondre volontier, mais je ne vous garantie pas de savoir répondre à tous.

Télécharger le module Homeseer avec le code source pour l'Arduino ici :
http://domotics.free.fr/upload/ARDUINO.zip
La seconde étape sera d’interfacer le montage avec Homeseer. Pour cela je me suis basé sur les ‘modules’ qui utilisent le Framework Domotics. Il permet de créer automatiquement les Devices et les events qui remplaceront l’utilisation du navigateur en envoyant le même type de requête au serveur Arduino et d’avoir le retour d’état des sorties.
Le déclenchement des sorties pourra ainsi se faire en fonction de n’importe quels conditions dans Homeseer et être complètement intégré au reste de votre installation.

Les évolutions possibles sont :
Coté matériel: Il reste 2 E/S numériques de libre et toutes les entrées analogiques qui ne sont pas utilisées. Je pense qu’on doit pouvoir basculer facilement certaines broches numérique en entrée avec peu de modification si cela est nécessaire. On peut remplacer les LED et utiliser les sorties pour commander des relais. L’avantage des relais est de pouvoir commander à peu prêt tout ce qui s’alimente par une tension à condition de respecter quelques caractéristiques (tension, courant, isolation etc…) certains relais (type ON/ON) peuvent aussi être câblés en circuit Va et Vient avec un interrupteur traditionnel pour garder une commande physique en cas de problème avec le serveur. Par contre dans ce cas l’état ON/OFF de la sortie de représentera plus l’état de l’appareil à commander mais bien la position de l’interrupteur. (au risque de consommer du courant pour maintenir un circuit ouvert !)

Coté code là aussi je pense qu’il est tout à fait possible de le faire évoluer. Celui de l’Arduino pour avoir une interface web plus sympa, ou pour exploiter certaines broches en entrée, comme les entrées analogiques pour relever des capteurs ou les entrées numérique, voir pourquoi pas utiliser les PWM pour faire de la variation d’éclairage etc… mais également celui du module Homeseer pour pouvoir ajouter aux Devices un bouton qui déclenche l’event associé sans avoir à jongler d’un écran à l’autre.
Je pense aussi que le concept peut surement être adapté à d’autres box domotiques capables d’envoyer des requêtes http

Bref voici une base qui ne demande qu’à évoluer, libre à vous de l’utiliser, et de l’adapter comme bon vous semble. Si jamais vous l’améliorez, merci de partager.

Je n’ai évidement pas écris la totalité de ces codes mais plutôt adapté ce que j’ai trouvé ici ou la sur le web pour arriver à une solution de base qui fonctionne.
En cas de problème vous pouvez toujours me laisser vos questions, j’essayerai d’y répondre volontier, mais je ne vous garantie pas de savoir répondre à tous.

Télécharger le module Homeseer avec le code source pour l'Arduino ici :
http://domotics.free.fr/upload/ARDUINO.zip
et poser vos questions sule forum ici:
http://www.touteladomotique.com/forum/viewtopic.php?f=24&t=6833

A+, Peedjy

Aucun commentaire:

Enregistrer un commentaire