Commander une carte Arduino depuis Homeseer

Solution à base d'un PC et du logiciel Homeseer. Vous trouverez ici les tutos, les discussions sur les plugs-in et les scripts à base de VBasic, ASP, VBScript, etc

Commander une carte Arduino depuis Homeseer

Messagede Peedjy » 31 Jan 2012, 13:12

Bonjour à tous,
Voici ma première réelle contribution complète sur le forum.
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
A+, Peedjy
Toute l'actualité Hi-Tech au service de la maison:http://blog.domogy.com
Peedjy
Dieu de domotique
 
Messages: 375
Inscription: 07 Oct 2011, 12:02
Localisation: Macon (71)

Re: Commander une carte Arduino depuis Homeseer

Messagede fselan » 31 Jan 2012, 18:59

Salut,
eh bien merci de cette contribution... cela fait un bout de temps que je me dis qu'il faudrait que je teste l'Arduino... Ta contribution m'y insite...
As tu un lien privilégié au niveau du prix pour acheter le même matos que toi...? connais tu par la même occasion un site (FR) ou ils partagent les codes et ou la communauté est plutôt sympa.

Encore merci....
Avatar de l’utilisateur
fselan
Dieu de domotique
 
Messages: 393
Inscription: 09 Mai 2006, 21:25
Localisation: Rouen -Normandie

Re: Commander une carte Arduino depuis Homeseer

Messagede Peedjy » 01 Fév 2012, 00:12

Salut fselan
Pour les cartes Arduino UNO, elles sont dispo chez planete Domotique ainsi que le shield Ethernet.
Ensuite tu peux regarder du coté des distributeurs de composants electroniques (Farnell, Lextronic, ou sparkfun)
enfin il y a aussi e-bay (si tu n'es pas trop pressé car les delais sont parfois un peu long)
En règle générale les prix sont assez proches. Compte une vingtaine d'euros pour une carte Uno et une trentaine pour le Shield Ethernet. 50€ ça reste abordable pour une solution qui offre jusqu'à 10 sorties. (Je compte pas les relais)
Par contre il y a un point à verifer pour le shield Ethernet c'est le chip controller. La dernière version est equipée d'un chip W5100
et d'un connecteur pour carte SD alors que les verions precedentes utilisaient un chip ENC28J60. cela peut poser des problèmes de compatibilité au nivea du code de la librairie Ethernet.
Pour ceux qui est des Forums j'en ai pas vraiment de favoris je passe plutôt par notre ami Google. (Il y a vraiment beaucoup de ressource déjà dispo sur le net.)
A+

Peedjy
Toute l'actualité Hi-Tech au service de la maison:http://blog.domogy.com
Peedjy
Dieu de domotique
 
Messages: 375
Inscription: 07 Oct 2011, 12:02
Localisation: Macon (71)

Re: Commander une carte Arduino depuis Homeseer

Messagede lechienz » 16 Fév 2012, 02:59

Salut Peedjy

Tres intéressant
Si tu pourrais élaborer un peu plus sur, comment intégrer cela a homeseer

Et merci pour le "hint" Homidom, je ne connaissais pas, reste a voir

merci

Lechienz
lechienz
Membre un peu timide !
 
Messages: 2
Inscription: 15 Fév 2012, 04:39

Re: Commander une carte Arduino depuis Homeseer

Messagede Peedjy » 16 Fév 2012, 12:18

Salut lechienz
Qu’est ce que tu veux savoir exactement sur l’intégration à Homeseer ?
Est-ce que tu veux plus de détails sur comment créer des ‘modules’ avec le framewoks Domotics ou sur le fonctionnement du script en lui-même?
Si c’est pour les modules Il y avait une vidéo pour expliquer toute l’installation mais je n’arrive pas à la retrouver !!! Si d’autres savent ou elle est passée ???

Sinon, voici un extrait du script pour la sortie 1 les fonctions sont quasiment identiques pour toutes les autres sorties.
On envoie une requête avec la sortie que l’on veux faire changer (L=1 dans mon exemple) puis l’arduino retourne le nouvel état de la broche. Ensuite on garde cette info dans le Device associé.

Sub Output1()
dim retour
dim posiLED1
dim EtatLed1
retour = hs.GetURL("http://192.168.1.177","/?L=1",true,80)
posiLED1 = InStr (retour, "Etat LED 1:")
If posiLED1 > 0 Then
EtatLed1 = Trim (Mid (retour, posiLED1 +11,5))
hs.SetDeviceString "A1",EtatLed1
End If
End Sub

Tout le reste se passe dans l’Arduino mais normalement le Zip contient tout le nécessaire pour que ça fonctionne. (Si tu utilises le frameworks !)
A+
Peedjy
Toute l'actualité Hi-Tech au service de la maison:http://blog.domogy.com
Peedjy
Dieu de domotique
 
Messages: 375
Inscription: 07 Oct 2011, 12:02
Localisation: Macon (71)

Re: Commander une carte Arduino depuis Homeseer

Messagede Peedjy » 20 Fév 2012, 16:48

Bonjour à tous
Une description détaillée de cette réalisation (partie matérielle) est maintenant disponible sur mon Blog
http://domogy.blogspot.com/p/arduino.html

A+
Toute l'actualité Hi-Tech au service de la maison:http://blog.domogy.com
Peedjy
Dieu de domotique
 
Messages: 375
Inscription: 07 Oct 2011, 12:02
Localisation: Macon (71)

Re: Commander une carte Arduino depuis Homeseer

Messagede lechienz » 21 Fév 2012, 03:03

Salut

c'est surtout cette information la qu'il me manquait --> framewoks Domotics
Je ne connaissais pas(un homeseer débutant) , je vérifie cela aussitot que j'ai un moment de libre
merci encore
lechienz
Membre un peu timide !
 
Messages: 2
Inscription: 15 Fév 2012, 04:39

Re: Commander une carte Arduino depuis Homeseer

Messagede showtime » 05 Mar 2012, 23:32

Bonjour Peedjy,

tout d'abord merci pour ta contribution ! Je regarde pour intégrer moi aussi un arduino ( ou plusieurs ...) avec Homeseer dans ma future installation .
Je regarde alors toutes les possibilités qui s'offrent à nous et en fait il n'y en a pas 10...

Alors à mon avis je vais partir avec un shield ethernet et requête http comme tu l'as fait . Cependant je pense qu'il serait bien de pousser le travail un peu plus loin, par exemple la récupération des entrée . Je ne sais pas si tu pense de ton coté faire évoluer le système ou si il te convient ainsi ?

Cependant je voulais poser une question au niveau "sécurité" n'est-il pas un peu dangereux de travailler avec des url en "clair" sans accès protégé?

Au plaisir

Alex
Avatar de l’utilisateur
showtime
P'tit Guru de domotique
 
Messages: 59
Inscription: 27 Juil 2011, 22:06

Re: Commander une carte Arduino depuis Homeseer

Messagede Peedjy » 06 Mar 2012, 09:00

Salut Showtime
Pour les entrées j'ai déja commencé a faire évoluer le code de l'Arduino. La page de retour dispose des entrées anolog et des deux dernières entrées numeriques (Pin0 et Pin1) mais je n'ai pas le temps de faire évoluer les scripts coté Homeseer. (Ca ne devrait pas être très compliqué à faire)
Si tu veux je peux te faire passer le nx code source Arduino.

Cote sécurité, je suis plutot d'accord... Mais faire plus securisé et plus complexe dépasse mes compétances. Donc si qq un veut essayer de sécuriser, ça serra au bénéfice de tt le monde. Comme je disais, mon montage fourni une base de départ qui ne demande qu'à évoluer et être améliorée. Mais il faut aussi être réaliste, il peut dans certaines applications être une alternative aux cartes IP commerciales, mais n'est pas aussi abouti même si le principe de fonctionemt reste le même le temps passé au developpement n'a rien de comparable. D'autant plus que on voit apparaitre sur le marché de plus en plus de cartes IP à des pris de plus en plus bas (dernier exemple ce matin l'article de domotics!)http://www.touteladomotique.com/index.php?option=com_content&view=article&id=353:2012030601&catid=25:domotique&Itemid=13

Finalement, tout dépend de l'utilisation de chacun et des fonctions rechérchés. Pour ma part je réserve mon montage à des fonctions secondaires et peu critiques.

PS: est-ce que les cartes commerciales offrent plus de sécurité???
A+

Sent from my GT-I9100 using Tapatalk
Toute l'actualité Hi-Tech au service de la maison:http://blog.domogy.com
Peedjy
Dieu de domotique
 
Messages: 375
Inscription: 07 Oct 2011, 12:02
Localisation: Macon (71)

Re: Commander une carte Arduino depuis Homeseer

Messagede showtime » 06 Mar 2012, 23:14

Salut Peedjy, merci pour ta réponse.

J'ai bien lu tes explications et je comprend que tu n'ai pas le temps de faire évoluer l'ensemble, de mon côté j’attends la réception du matériel pour pouvoir commencer mes essais.

J'ai pris un Arduino UNO et un Mega 2560 pour pouvoir gérer un nombre plus important d'e/s

Tu soulève en effet une réflexion, d'après ce que j'ai lu à gauche et à droite, les autres solutions de carte IP fonctionnent en requêtes HTTP en clair ...

Je ne sais pas si il existe d'autre protocoles qui permettraient d’apporter un protection dans les requêtes.


Bonne soirée
Avatar de l’utilisateur
showtime
P'tit Guru de domotique
 
Messages: 59
Inscription: 27 Juil 2011, 22:06

Re: Commander une carte Arduino depuis Homeseer

Messagede Peedjy » 07 Mar 2012, 08:55

Je complete juste en rappelant que les requettes envoyees sont sur un reseau local interne (pas accessible depuis l'exterieur) pour etre visible il faut d'abord etre connecte au reseau. Donc si il est bien protege ca limite les risques. Pour le rendre accessible depuis l'exterieur (internet) il faut le faire deliberement.
Toute l'actualité Hi-Tech au service de la maison:http://blog.domogy.com
Peedjy
Dieu de domotique
 
Messages: 375
Inscription: 07 Oct 2011, 12:02
Localisation: Macon (71)

Re: Commander une carte Arduino depuis Homeseer

Messagede showtime » 07 Mar 2012, 22:11

Bonjour Peedjy,

oui en effet, en considérant que l'on est en réseau local il n'y a pas de soucis. Cependant dans mon projet, le serveur principal tournera sous Homeseer et j'aurais besoin d’accéder à certaines fonctions depuis l’extérieur ( Alarme, caméra ip ...) pour cela je mettrais en place un tunnel VPN pour me connecter à mon intranet mais bon on est jamais assez prudent en informatique ! Et la on ne parle pas de perte de donnée ou autre, mais bien du contrôle d'une maison !

Bon d'un autre côté, les requêtes HTTP seront établie par moi dans les script donc il serait difficile de les "deviner" mais il doit certainement exister des méthode de sniffing...

Sinon tu as déja expérimenté Homeseer et un arduino connecté en USB ?
Avatar de l’utilisateur
showtime
P'tit Guru de domotique
 
Messages: 59
Inscription: 27 Juil 2011, 22:06

Suivante

Retourner vers Homeseer

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités

Copyright © 2011 - Touteladomotique.com - Tous droits réservés
Les blogs partenaires : Abavala, Domo-Blog, Domotique34, Maison et Domotique