Projet HomeBox: Prenez le contrôle de votre maison !

21

Qui n’a jamais rêvé de partir de chez lui sans avoir à se soucier de baisser le chauffage ou d’éteindre les lumières ? Avec la domotique, c’est possible, vous avez lu assez d’articles ici pour le savoir.

Mais aujourd’hui je vous propose une nouvelle solution très intéressante, mise au point par cinq étudiants de l’ECE: la HomeBox !

Je leur laisse la parole pour présenter leur solution très prometteuse ;-)

 

 

I. Introduction

 

Le projet HomeBox est donc né de la volonté de cinq étudiants de l’ECE Paris (une école d’ingénieur généraliste et high-tech) de créer une box domotique permettant de gérer les équipements de la maison.

Nous avons constaté qu’il existe de nombreux protocoles en domotique, et cela ne cesse d’évoluer. Le principal défi des offres commerciales est donc de gérer cette diversité de protocoles et de répondre à leur évolution. Nous avons choisi d’orienter notre solution vers l’internet des objets car nous pensons que l’avenir de la domotique et le web 3.0 seront bientôt indissociables. Notre box fonctionnera avec des réseaux de capteurs et des protocoles innovants comme le 6lowpan et l’Enocean.

De plus tous les capteurs ne parlent pas nécessairement le même langage et il est donc relativement compliqué de les faire communiquer sur une même plateforme. Après réflexion, nous avons décidé qu’une solution innovante pourrait-être « d’apprendre » de nouveaux protocoles à la box ! De cette façon, si un nouveau protocole voit le jour, pas besoin de tout modifier, il suffit de développer ou télécharger un nouveau service !

Cela représente bien sûr un travail conséquent et notre but n’est donc pas de proposer un projet entièrement abouti. En effet, nous avons créé les fondamentaux pour mettre en place ce nouveau concept de box domotique, ainsi que les outils pour étendre les caractéristiques de la box. Comme l’union fait la force et que nous pensons sincèrement que l’avenir est à l’open source, nous avons décidé de rendre le code entièrement libre. Vous pourrez d’ailleurs le télécharger très prochainement sur le Github du projet Homebox.

Notre box possède donc trois caractéristiques majeures : open-source, évolutive, multi-protocoles.

Voyons plus en détails comment elle fonctionne.

 

II. Cahier des charges

 

Nous avons voulu intégrer les fonctionnalités suivantes :

  • Contrôle des équipements de la maison
  • Utilisation d’un réseau de capteurs dialoguant selon plusieurs protocoles de communication innovants
  • Gestion de la maison à distance via une interface Web
  • Personnaliser facilement ses propres scénarios de vie
  • Création d’une box évolutive et open-source

III. Fonctionnement général

 

 

Une box multi-protocoles, comme son nom l’indique, se doit de communiquer suivant plusieurs protocoles. Avec le temps qui nous était imparti pour développer le projet, nous avons choisi de développer deux premiers réseaux de capteurs : le 6lowPan et le EnOcean.

Le 6lowPAN est basé sur le protocole 802.15.4 et a été créé dans l’esprit de l’internet des objets. En effet grâce à la progressive mise en place de l’IPv6 et ses 16 octets  d’adresses chaque objet peut avoir sa propre connexion internet. Le 6lowPAN permet de créer un réseau de capteurs maillés. Pour faciliter la communication et accroitre notre compatibilité avec le monde du web on a choisi d’implémenter CoAP, qui est en quelque sorte « un protocole http pour les réseaux de capteurs ». Ce service permettra un accès aux ressources par simple requête (GET, POST, PUT…).Quant aux réseaux EnOcean, ils ont la particularité d’être des solutions à récolte d’énergie environnante (petits panneaux photovoltaïques, génération de courant par ondes électromagnétiques lors de l’appui sur un bouton ON/OFF par exemple) fonctionnant sans fil et sans pile.

À terme, la box ne se restreindra bien évidemment pas à ces deux réseaux et c’est ce qui la rend évolutive. Nous mettrons donc à disposition des utilisateurs un tutoriel complet pour développer de nouveaux protocoles. Pour résumé, ceci fonctionne comme l’Apple Store. En effet, Apple propose une plateforme de stockage et fourni la possibilité de développer de nouvelles applications en respectant une certaine norme (Coder en objectiveC par exemple). L’ensemble des ressources liées à notre box sera donc stocké dans un répertoire et la communauté le fera grandir au fur et à mesure. Vous pourrez donc ajouter de nouvelles fonctionnalités en téléchargeant de nouveaux services!

Pour répondre à ce besoin en évolutivité, nous avons utilisé la technologie OSGI. Il s’agit d’une plateforme modulaire de services fondée sur le langage JAVA. Le composant principal de cette technologie est appelé bundle. Chaque bundle représente un service et s’intègre dans une organisation dite orientée composant.

Cette technologie permet de démarrer ou stopper des services à chaud. Tout se fait en temps réel et dynamiquement. Par conséquent, vous n’avez pas à redémarrer votre box lorsque vous y branchez une clé USB par exemple. L’intégration de nouveaux drivers est ainsi grandement facilitée avec cette technologie. A noter, nous avons utilisé le framework OSGI FeliX/Apache dans le cadre de ce projet.

L’essence même d’un système domotique étant le contrôle de la maison à distance, le projet possède une interface Web (détaillée plus loin dans cet article). Elle permet à l’utilisateur non seulement de consulter les mesures actuelles de chaque capteur mais aussi de créer des scénarios divers et variés. Pour le stockage des données de chaque réseau de capteurs, nous utilisons une base de données s’appuyant sur la technologie NoSQL, MongoDB.

 

IV. Le Hardware

 

Nous avons choisi d’utiliser une GuruPlug Server pour notre projet. Notre choix se justifie par la taille du boitier (plutôt petite, celle d’un plugcomputer), la présence d’un port Ethernet et de deux ports USB.

 

 

Il est tout à fait possible de d’utiliser une autre plateforme hardware, pourvu qu’elle possède un kernel Linux et que les capacités de la plateforme permettent l’utilisation de l’ensemble OSGI.

Pour tester et développer le réseau 6LoWPAN, nous utilisons des modules Raven et un stick USB d’envoi / réception. Ils sont dotés de plusieurs capteurs.

 

 

Pour faciliter l’utilisation de ces modules on utilise le système d’exploitation Contiki. Ce dernier nous permet d’implémenter facilement le protocole 6lowPAN et CoAP.

Pour exploiter le protocole EnOcean, nous avons utilisé plusieurs capteurs : température, switch on / off, contacteur de porte, …

 

 

L’intérêt principal ici est de montrer le fonctionnement de ce protocole économe en énergie.

 

V. L’interface Web

 

Voici un aperçu de l’interface Web. C’est ici que vous allez pouvoir consulter les différentes valeurs de vos capteurs et actionneurs, mais aussi créer vos propres scénarios.

 

 

Une fois loggué, vous pouvez piloter votre maison en accédant aux différentes options.

 

 

Avec un accès direct aux différents périphériques:

 

 

Ou la réalisation de scénarios via l’onglet Scénario. Vous pouvez directement y configurer le comportement de votre maison en mettant en scène sous forme de dessin vos  différents capteurs et actionneurs.

 

 

L’objectif était de développer une solution simple et intuitive pour la création de scénarios. Nous avons donc construit un système de dessin qui permet de couvrir l’ensemble des caractéristiques liées à la création de scénarios. Le principe est simple, vous sélectionnez un ou plusieurs capteurs et y associez une condition. Si toutes les conditions sont réunies, un actionneur reçoit un ordre, choisi là encore par vos soins. Vous pouvez combiner, multiplier et associer les constructions, il n’y a aucune limite !

Cliquez sur l’ajout d’une entrée ou d’une sortie provoque l’ouverture d’une boîte de dialogue qui permet de régler des seuils (pour les capteurs), mais aussi une action dans le cas où la condition est vérifiée ou pas (pour les actionneurs). L’heure est bien entendu prise en compte. Vous pouvez effectuer une action périodique (ouvrir les volets de la maison tous les jours de la semaine à partir de 16h. Vous pouvez tout aussi bien sélectionner un intervalle de temps et définir par exemple un mode vacances. Vos scénarios sont visibles sur la page web et vous pouvez les modifier à tout moment.

 

 

Paramétrage de la condition de déclenchement

 

Paramétrage de l’action à effectuer si la valeur cible est atteinte

 

Sauvegarde du scénario et choix de la temporisation

 

Sauvegarde du scénario et choix d’une durée

 

 

 

 

VI. Travail restant

 

Malgré tous les efforts investis, notre solution n’est pas complète. Comme nous l’avons dit précédemment, l’objectif était de bâtir toute l’architecture et de fournir les outils nécessaires au développement du projet. Quelques pistes d’évolution nous tiennent tout particulièrement à cœur :

  • Création d’un « market place » permettant de télécharger des applications sur la box, à la manière des Smartphones
  • Développement d’un bundle pour vérifier la faisabilité des scénarios
  • Ajout d’autres protocoles pour étendre les possibilités de la box.

 

VII. Conclusion

 

De nombreuses box domotiques existent sur le marché. Nous n’avons pas la prétention de nous imposer comme un concurrent supplémentaire ; mais plutôt de fournir une solution alternative, en proposant une box qui utilise déjà les capteurs présents dans la maison. La box se veut évolutive et mise à jour régulièrement. C’est là que l’open-source prend tout son sens. Le code est déposé sur Github, et est accessible par tous : étudiants, ingénieurs, développeurs et passionnés. Nous comptons sur vous pour nous rejoindre et vous remercions de nous avoir lu !

Pour toute question, remarque ou suggestion, n’hésitez pas à nous contacter: [email protected]



A propos de l'auteur

Je me suis essayé à la domotique il y a quelques années avec quelques modules X10, quelques softs gratuits, etc… pour équiper la maison que j'avais en location. Puis j'ai eu la chance de pouvoir faire construire, et c'est là que mes projets domotiques ont explosé, la construction neuve me permettant de prévoir une installation complète, et intégrée à la maison. Aujourd'hui, quasiment toute mon installation repose sur le Z-Wave.