« Domotique et Norme X10 » : différence entre les versions

De Lea Linux
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Ligne 3 : Ligne 3 :
Le X10 est un protocole de communication par courant porteur qui permet de faire dialogeur ensemble des équipements compatibles. Je ne réinventerais pas la roue, de très bonne documentation existe sur le sujet, notamment celle-ci [http://www.si.ens-cachan.fr/ressource/r5/r5.htm Domotique et Norme X10].
Le X10 est un protocole de communication par courant porteur qui permet de faire dialogeur ensemble des équipements compatibles. Je ne réinventerais pas la roue, de très bonne documentation existe sur le sujet, notamment celle-ci [http://www.si.ens-cachan.fr/ressource/r5/r5.htm Domotique et Norme X10].


Pour résumer très rapidement, il permet avec la mise en place d'emetteurs et de récepteurs d'automatiser des tâches de la vie quotidienne au sein de son logement (ex ouvrir les volets, fermer la veilleuse du petit dernier...)
Pour résumer très rapidement, il permet avec la mise en place d'émetteurs et de récepteurs d'automatiser des tâches de la vie quotidienne au sein de son logement (ex ouvrir les volets, fermer la veilleuse du petit dernier...)


= Présentation =
= Présentation =


== But recherché ==
== But recherché ==
Le but de cet article est d'expliquer comment pouvoir commander à partir de Linux les récepteurs et de programmer l'emetteur PC vers X10 (CM11)  suivant des macros.
Le but de cet article est d'expliquer comment pouvoir commander à partir de Linux les récepteurs et de programmer l'émetteur PC vers X10 (CM11)  suivant des macros.
Il existe sous Linux quelques projects qui permettent de mettre en place une 'maison domotique', le plus important est [http://misterhouse.net/ MisterHouse]. C'est une application complexe à mettre en oeuvre et que l'on peut plus apparenter à un logiciel pour HTPC.
Il existe sous Linux quelques projects qui permettent de mettre en place une 'maison domotique', le plus important est [http://misterhouse.net/ MisterHouse]. C'est une application complexe à mettre en oeuvre et que l'on peut plus apparenter à un logiciel pour HTPC.
J'ai choisi pour ma part d'utiliser [http://heyu.tanj.com Heyu]. C'est un logiciel simple à mettre en place et à configurer et dont je vous propose de vous en expliquer l'utilisation.
J'ai choisi pour ma part d'utiliser [http://heyu.tanj.com Heyu]. C'est un logiciel simple à mettre en place et à configurer et dont je vous propose de vous en expliquer l'utilisation.
Ligne 15 : Ligne 15 :
Le matériel minimum à acquérir pour tester son utilisation est :
Le matériel minimum à acquérir pour tester son utilisation est :
* un pc équipé d'un port série
* un pc équipé d'un port série
* un emetteur CM11
* un émetteur CM11
* un récepteur type AM12
* un récepteur type AM12


Ligne 22 : Ligne 22 :
= Heyu =
= Heyu =
== Installation ==
== Installation ==
Vérifier que vous disposerez de la dernière version sur le site de l'auteur :
Vérifier que vous disposez de la dernière version sur le site de l'auteur :
<code>$ wget http://heyu.tanj.com/download/heyu-2.0beta.6.2.tgz
<code>$ wget http://heyu.tanj.com/download/heyu-2.0beta.6.2.tgz
$ tar zxvf heyu-2.0beta.6.2.tgz
$ tar zxvf heyu-2.0beta.6.2.tgz
Ligne 56 : Ligne 56 :


== Configuration ==
== Configuration ==
Comme nous avons pu le voir précedemment, les fichiers de configuration vont se trouver dans le répertoire choisit à l'étape d'installation, ici /etc/heyu.
Comme nous avons pu le voir précédemment, les fichiers de configuration vont se trouver dans le répertoire choisit à l'étape d'installation, ici /etc/heyu.
Le fichier de configuration principal est heyu.conf
Le fichier de configuration principal est heyu.conf
<code>TTY    /dev/ttyS0
<code>TTY    /dev/ttyS0
Ligne 79 : Ligne 79 :
</code>
</code>


Le port ttyS0 doit pouvoir être utiliser par tous les utilisateurs afin de communiquer avec le CM11 :
Le port ttyS0 doit pouvoir être utilisé par tous les utilisateurs afin de communiquer avec le CM11 :
<code># /bin/chmod a+rw /dev/ttyS0
<code># /bin/chmod a+rw /dev/ttyS0
</code>
</code>
Ligne 108 : Ligne 108 :
dusk au lever du soleil et dawn au coucher du soleil
dusk au lever du soleil et dawn au coucher du soleil


Ces variables sont calculées en fonction des coordonnées géographiques (LONGITUDE/LATITUDE) indiquées dans le fichier /etc/heyu/x10.conf.  
Ces 2 dernières variables sont calculées en fonction des coordonnées géographiques (LONGITUDE/LATITUDE) que l'on indique dans le fichier /etc/heyu/x10.conf.  


Pour vérifier les heures calculées, utiliser la commande suivante :
Pour vérifier les heures calculées, utilisez la commande suivante :
<code>$/usr/local/bin/heyu utility suntable
<code>$/usr/local/bin/heyu utility suntable
</code>
</code>
Ligne 117 : Ligne 117 :
<code>$/usr/local/bin/heyu upload
<code>$/usr/local/bin/heyu upload
</code>
</code>
Les directives du fichier x10.sched sont envoyées au CM11 qui lui exécutera l'ensemble des macros de façon autonome.


= Pour finir =
= Pour finir =

Version du 2 septembre 2006 à 13:26

Introduction

Le X10 est un protocole de communication par courant porteur qui permet de faire dialogeur ensemble des équipements compatibles. Je ne réinventerais pas la roue, de très bonne documentation existe sur le sujet, notamment celle-ci Domotique et Norme X10.

Pour résumer très rapidement, il permet avec la mise en place d'émetteurs et de récepteurs d'automatiser des tâches de la vie quotidienne au sein de son logement (ex ouvrir les volets, fermer la veilleuse du petit dernier...)

Présentation

But recherché

Le but de cet article est d'expliquer comment pouvoir commander à partir de Linux les récepteurs et de programmer l'émetteur PC vers X10 (CM11) suivant des macros. Il existe sous Linux quelques projects qui permettent de mettre en place une 'maison domotique', le plus important est MisterHouse. C'est une application complexe à mettre en oeuvre et que l'on peut plus apparenter à un logiciel pour HTPC. J'ai choisi pour ma part d'utiliser Heyu. C'est un logiciel simple à mettre en place et à configurer et dont je vous propose de vous en expliquer l'utilisation.

Prérequis

Le matériel minimum à acquérir pour tester son utilisation est :

  • un pc équipé d'un port série
  • un émetteur CM11
  • un récepteur type AM12

A noter, il existe 2 versions de CM11, l'une USB et l'autre série, j'ai choisi d'acheter cette dernière pour être sûr de son fonctionnement avec notre OS préféré.

Heyu

Installation

Vérifier que vous disposez de la dernière version sur le site de l'auteur : $ wget http://heyu.tanj.com/download/heyu-2.0beta.6.2.tgz $ tar zxvf heyu-2.0beta.6.2.tgz $ cd heyu-2.0beta.6.2 $ ./Configure $ make $ su (pour devenir root) Password :

  1. make install

mkdir -p -m 755 /usr/local/bin cp heyu /usr/local/bin chgrp root /usr/local/bin/heyu chmod 755 /usr/local/bin/heyu chown root /usr/local/bin/heyu ./install.sh

I did not find a Heyu configuration file. Where would you like the sample Heyu configuration file installed?

 1. In directory /home/dimitri/.heyu/
 2. In subdirectory .heyu/ under a different user home directory
 3. In directory /etc/heyu  (for system-wide access)
 4. No thanks, I'll take care of it myself

Choice [1, 2, 3, or 4] ? 3 Creating directory /etc/heyu with permissions rwxrwxrwx. Adjust ownership and permissions as required. The sample configuration file will be installed as /etc/heyu/x10.conf

I will add the TTY port for your CM11 to the config file Specify /dev/ttyS0, /dev/ttyS1, etc. To which port is the CM11 attached? /dev/ttyS0

Configuration

Comme nous avons pu le voir précédemment, les fichiers de configuration vont se trouver dans le répertoire choisit à l'étape d'installation, ici /etc/heyu. Le fichier de configuration principal est heyu.conf TTY /dev/ttyS0 HOUSECODE A LOG_DIR NONE SCRIPT_MODE SCRIPTS SCHEDULE_FILE x10.sched MODE COMPATIBLE PROGRAM_DAYS 366 COMBINE_EVENTS YES COMPRESS_MACROS NO

  1. LONGITUDE W079:49 # [degrees:minutes East or West of Greenwich]
  2. LATITUDE N36:04 # [degrees:minutes North or South of equator]

DAWN_OPTION FIRST DUSK_OPTION FIRST MIN_DAWN OFF MAX_DAWN OFF MIN_DUSK OFF MAX_DUSK OFF REPL_DELAYED_MACROS YES WRITE_CHECK_FILES YES

Le port ttyS0 doit pouvoir être utilisé par tous les utilisateurs afin de communiquer avec le CM11 : # /bin/chmod a+rw /dev/ttyS0

Petit test

Tout d'abord, chaque module est identifié par un code Maison (de A à P) et un code Unité (de 1 à 16). Cette identification va permettre de commander le récepteur de la façon suivante : $ /usr/local/bin/heyu on A1 permet d'allumer le récepteur A1. Et si tout va bien, l'équipement électrique connecté sur le module doit s'allumer. Vous me direz, ouaih il est gentil mais cela n'a pas beaucoup d'intérêt. Mais ce n'est que le début.

Cas concret

A présent que tu avons validé le bon fonctionnement entre heyu et le CM11, passons à un cas concret. Disons que nous voulons que soit ouvert des volets électriques à l'aube et fermer au coucher du soleil. Pour cela il faut acquérir des modules SW10 que l'on branche en lieu et place des interrupteurs classiques monté/descente. Pour simplifier les choses, nous leur affecterons le même code maison/unité A2.

Un nouveau fichier permet de créer ce scénario /etc/heyu/x10.sched : timer smtwtfs 01/01-12/31 dusk 23:00 allumer null timer smtwtfs 01/01-12/31 dawn 00:00 eteindre null macro allumer 0 on a2 macro eteindre 0 off a2 smtwtfs correspond au jour de la semaine (Sunday, Monday...)

01/01 - 12/31 à la période d'exécution souhaitée

dusk au lever du soleil et dawn au coucher du soleil

Ces 2 dernières variables sont calculées en fonction des coordonnées géographiques (LONGITUDE/LATITUDE) que l'on indique dans le fichier /etc/heyu/x10.conf.

Pour vérifier les heures calculées, utilisez la commande suivante : $/usr/local/bin/heyu utility suntable

Une fois le fichier complété, il faut l'envoyer à l'emetteur CM11, pour cela : $/usr/local/bin/heyu upload

Les directives du fichier x10.sched sont envoyées au CM11 qui lui exécutera l'ensemble des macros de façon autonome.

Pour finir

Le x10 et heyu offre de nombreuses possibilités dont je ne vous ai fait découvrir qu'une mince partie. N'hésitez pas à user et abuser des man keyu et autres fichiers sample disponibles avec ce logiciel.

Copyright

© {{{1}}} {{{2}}} {{{{{3}}}}}