2.4 Généralisation de la notion d'événements X-10
Proposé par Xavier Redon
2.4.1 Introduction
Il existe de nombreux équipements pour la domotique domestique utilisant
divers moyens de communication (e.g. fils, radio, infrarouge, etc.). La
norme la plus utilisée est X10, les équipements X10 sont très divers
(relais pour prises électriques, variateurs pour lampes, thermostats,
détecteurs de présence, etc.) et très répandus (du moins en Amérique).
Ces éléments communiquent par courant porteur (le 220V). Il existe des
interfaces informatiques pour communiquer avec des équipements X10
(via l'interface série). L'interface la plus sophistiquée est l'interface
CM11.
2.4.2 Objectif
Vous devez continuer l'avant-projet de vos collègues de l'an passé.
Ces derniers ont réussi à unifier les divers aspects de la programmation de
l'interface CM11 (envoi d'ordres X-10, réception des ordres X-10 passant
sur le réseau électrique et enfin programmation de macros et
d'événements temporels au sein du CM11). Il reste à unifier la notion
de macros et d'événements.
2.4.3 Description du travail à réaliser
Il est possible de faire un parallèle entre le fonctionnement du CM11 en
mode autonome et le fonctionnement d'un PC disposant d'une interface CM11.
Le CM11 comme le PC peuvent déclencher des actions en fonction de certains
événements : des événements temporels (déclenchement à telle heure
de tel jour, déclenchement périodique, etc.), ou des événements X-10
(déclenchement d'un détecteur de contact, déclenchement d'un détecteur
de mouvement, appui sur un bouton de télécommande, etc.). Les actions
peuvent être l'envoi d'une commande X-10 (allumer une lampe, augmenter
la température de régulation d'un thermostat, allumer un appareil
domestique, etc.) mais aussi lancer une application informatique. Il est
clair que certains couples (événement,action) ne peuvent être
implantés que sur le PC mais d'autres peuvent l'être indifféremment
sur le PC ou sur l'interface CM11.
Vous devez au minimum réaliser les points suivants :
-
Utilisation du logiciel de vos prédécesseurs et tests avec le
matériel X-10 fourni (sources disponibles à l'URL
http://www.eudil.fr/~rex/archive).
- Trouver une nouvelle syntaxe du fichier de configuration pour que
les règles (événement,action) aient la même forme qu'ils soient
destinés au PC ou à l'interface CM11.
- Implanter un algorithmique permettant de séparer les règles
en deux catégories : celles ne pouvant être exécutées que sur
un PC et les autres.
- Déterminez le nombre de règles de la seconde catégorie pouvant
être chargées sur le CM11. S'il faut faire un choix vous pouvez le faire
en vous aidant des indications de l'utilisateur (mots-clefs pour indiquer
la priorité d'une règle dans le fichier de configuration).
- Chargement des règles sélectionnées dans le CM11, génération
d'un fichier pour indiquer au programme résidant sur le PC quelles règles
il doit prendre en compte.
- Trouver un mécanisme commun avec les autres groupes travaillant sur
le même thème permettant de s'abstraire des adresses X-10 (en publiant
par exemple les alias du fichier de configuration de Penguin Power).
- Enfin vous devez construire une interface graphique de type Web
utilisant PHP permettant de générer de façon conviviale le fichier de
configuration de Penguin Power modifié par vos soins. En particulier,
cette application doit permettre de générer les événements
temporels facilement.