Projet Red House : teasing #1

Cela fait un petit moment que je m’intéresse à la domotique et l’année dernière j’ai acheté de quoi contrôler tous les appareils électriques de mon appartement en utilisant le protocole X10. Jusqu’à présent la gestion de ces appareils était assurée par un ensemble de petits scripts écrit en Python suivant les besoins de l’instant avec une synthèse vocale pour interagir grossièrement avec l’utilisateur. Mais dernièrement, le système devenant plus complexe, j’ai commencé à vouloir regrouper tout cela dans une seule appliquation.

J’aimerai obtenir une espèce d’entité contrôlant l’appartement, avec des sorties (principalement la synthèse vocale et les actions sur le matériel électrique, par exemple les lampes…) et des entrées (capteur de température et luminosité, micro, webcam, appareil photo, bluetooth…) et un ensemble de règles adaptées à ma vie dans celui ci.

J’ai donc passé ces deux dernières semaines à mettre au point un système en couches, avec en bas les protocoles d’accès aux entrées et sorties ainsi qu’aux logiciels externes, une couche intermédiaire permettant de mettre en relation les différents éléments de la couche basse et une couche haute contenant des objets représentants l’environnement et les règles à suivre.

Dans ce premier article je vais me contenter de vous montrer le log de la synthèse vocale de la version qui tourne actuellement. On peut y voir le démarrage du système un peu après minuit,  sa mise en veille lorsque je me couche à 00h45, puis la fonction réveil le lendemain matin à 7h00, la mise en veille automatique lorsque je quitte l’appartement à 8h00 et la remise en route lorsque je reviens à 10h00 :

192.168.0.2 [Thu, 16 Oct 2008 00:23:00 CEST] "Hi There! Thanks for waking me up!"
192.168.0.2 [Thu, 16 Oct 2008 00:23:03 CEST] "I will be ready in a few seconds..."
192.168.0.2 [Thu, 16 Oct 2008 00:23:08 CEST] "Clock module loaded..."
192.168.0.2 [Thu, 16 Oct 2008 00:23:10 CEST] "Power Management module loaded..."
192.168.0.2 [Thu, 16 Oct 2008 00:23:12 CEST] "Okay everything is alright and fully loaded. I'm ready!"
192.168.0.2 [Thu, 16 Oct 2008 00:30:00 CEST] "It's half past midnight "
192.168.0.2 [Thu, 16 Oct 2008 00:45:00 CEST] "It's a quarter to 1 AM"
192.168.0.2 [Thu, 16 Oct 2008 00:45:02 CEST] "Good night Vincent! Sleep well."
192.168.0.2 [Thu, 16 Oct 2008 07:00:00 CEST] "Hi Vincent !"
192.168.0.2 [Thu, 16 Oct 2008 07:00:09 CEST] "It's time for you to wake up !"
192.168.0.2 [Thu, 16 Oct 2008 07:01:11 CEST] "Vincent, you have to wake up !"
[Thu, 16 Oct 2008 08:00:45 CEST] Debug: he's gone
192.168.0.2 [Thu, 16 Oct 2008 08:00:45 CEST] "The house is going to sleep !"
192.168.0.2 [Thu, 16 Oct 2008 08:02:24 CEST] "The house is now sleeping !"
[Thu, 16 Oct 2008 10:23:59 CEST] Debug: he's back
192.168.0.2 [Thu, 16 Oct 2008 10:23:59 CEST] "The house is waking up !"
192.168.0.2 [Thu, 16 Oct 2008 10:24:06 CEST] "The house is now awake !"
192.168.0.2 [Thu, 16 Oct 2008 10:30:00 CEST] "It's half past 10 AM"
192.168.0.2 [Thu, 16 Oct 2008 10:34:32 CEST] "Vincent, you've got a new mail."
192.168.0.2 [Thu, 16 Oct 2008 10:34:41 CEST] "Oh sorry, it's a spam."
192.168.0.2 [Thu, 16 Oct 2008 10:34:43 CEST] "Vincent, you've got a new mail."
192.168.0.2 [Thu, 16 Oct 2008 10:34:46 CEST] "It's a mail from one of your servers."
192.168.0.2 [Thu, 16 Oct 2008 10:34:58 CEST] "Vincent, you've got a new mail."
192.168.0.2 [Thu, 16 Oct 2008 10:35:00 CEST] "It seems to be a personal mail."
[...]

Tout cela est géré automatiquement sans intervention de ma part. Dans un prochain article je parlerai de la partie concernant la mise en veille et le réveil de l’appartement lors de mes absences et en particulier des technologies qui entre en jeu.

J’ai commandé les capteurs qui me manquaient la semaine dernière et j’ai passé le weekend à concevoir une installation la plus propre et la plus simple possible. En attendant leur arrivée, je vais continuer de réfléchir à l’organisation de la couche haute. J’aimerai y implémenter quelques technologies intelligentes pour rendre le projet plus intéressant.

Ce projet n’en est donc qu’à ses balbutiements mais les deux premières couches sont faciles à écrire et une version bête et méchante de la couche haute est déjà en action. Dès que j’aurai obtenu quelque chose de montable j’en publierai les sources en licence GPL et en attendant je pense écrire une série d’articles détaillant telle ou telle partie du système.

A suivre donc…

Tags : , , , ,

Articles relatifs :

Publicités

Laisser un commentaire

Votre adresse email ne sera jamais publiée ou revendue à des tiers. Les champs requis sont marqués d'un *.

*
*