C'est parti !



Dans ce blog nous allons parler de domotique et pour commencer, dans ce premier article je souhaite vous présenter mon installation actuelle.



Elle ne cesse d'évoluer et ces évolutions feront l'objet de futurs articles.

Je ne connais pas la définition exacte du terme domotique mais quand on le prononce on pense essentiellement à "domicile", "informatique", "électronique", "automatisation". Ce qui voudrait dire que faire de la domotique c'est déployer à son domicile des équipements électroniques gérés par un système informatique pour rendre des services.

En ce qui me concerne, c'est la partie "service" qui me fascine. La technologie au service de l'homme. Des services de plus en plus "intelligents" et "attentifs". Et quoi de mieux que la maison pour être au service de l'homme ? Car la maison depuis la nuit des temps exerce cette fonction de "services". La maison réchauffe quand il fait froid dehors. La maison nous protège, ainsi que nos biens, contre les intempéries mais aussi contre les agressions des autres hommes. La maison nous permet de nous divertir, de nous rassembler, de nous reposer, de nous nourrir. La maison est LE centre de service essentiel des Hommes depuis la première grotte occupée !

Avec la domotique, les services rendus par la maison vont être de plus en plus intelligents. La maison va être encore plus "attentive" à ses occupants et surtout de plus en plus autonome. La notion d'autonomie est une autre notion importante pour moi. Jusqu'à présent, tous les services qui étaient rendus par la maison, l'étaient parce que nous, les Hommes, en sommes les opérateurs. La maison n'étant qu'une simple infrastructure. Pour que la maison nous chauffe, il fallait programmer le chauffage ou l’allumer, gérer au plus près les dépenses pour s'assurer d'avoir assez d'argent pour payer les factures. Pour que la maison nous protège des voleurs il fallait s'assurer de bien fermer les portes à clé, ne pas oublier une fenêtre ouverte quand on partait en vacances, ne pas oublier de fermer le garage le nuit.

Mais ça c'était avant ! La domotique que j'ai envie de mettre en place à mon domicile consiste à ajouter à ma maison un ensemble de solutions technologiques, qui lui permettront de me rendre plus de services, de manière plus autonome et de manière adaptée et intelligente.

Il y aussi un second aspect qui me plait dans la domotique : la partie suivie ! Avec la domotique on devient capable de suivre tout ce qui se passe chez soit : quand quelqu'un rentre ou sort ; quand les portes, les fenêtres sont ouvertes ou fermées ; quand de l’électricité est consommée et en quelle quantité, quelle consommation d'eau, quelle température, quel degrés d'humidité, est-ce qu'il fait soleil ou est-ce qu'il pleut, combien de litres d'eau reste t'il dans la cuve .... les possibilités sont infinies. Et avant que toutes ces données soient transformées en "service" j'avoue que le simple accès à toutes ces informations donne un sentiment de toute puissance ! Cela fait appel à mon instinct du contrôle, nourri ma curiosité et au final représente quelque chose d'assez jouissif et addictif.

Situation de départ 


Mais passons aux choses sérieux. Afin de présenter (et représenter) la solution domotique que j'ai mise en place chez moi, j'ai conceptualisé l'ensemble de ces éléments en 4 couches. Chacune de ces couches étant en interaction avec la suivante et la précédente.

  1. La première couche je l'appellerai la couche "homo". Le terme porte peut être un peu à confusion mais il fait référence à l'homme. Dans cette couche d'abstraction je place tout ce qui est en interaction directe avec l'homme. Un téléviseur par exemple, un réfrigérateur, la température de l'air ambiant ... ! Cette couche représente l'ensemble des éléments sur lesquels la solution domotique va pouvoir agir pour nous rendre des services. 
  2. La seconde couche est la couche "domo". Elle est constituée par l'ensemble des éléments qui sont en interaction avec les composants de la couche "homo". Ce sont tous les capteurs, les moteurs, les circuits imprimés, les microcontrôleurs, les relais .... 
  3. La troisième couche est "techno". Elle est constituée par l'ensemble des éléments techniques dont l’objectif est raccorder l'ensemble des éléments, leur permettre de communiquer, collecter les informations, piloter les composants de la couche "domo" et permettre aux logiciels de s’exécuter. Ces éléments sont en général hébergés et rassemblés dans le "local technique". Pour moi il s'agit d'une étagère dans mon garage à coté du tableau de distribution EDF.
  4. Et pour finir, la quatrième couche, que j'appelle "info" est celle constituée par tous les logiciels nécessaires pour faire fonctionner le tout. Cela va du serveur domotique, au système d'exploitation et bien entendu, tous les développements et scripts personnels qui sont développés afin de rendre la solution adaptée et personnalisée. 
Le schéma ci-dessous présente chacune de ces couches et ce qu'on y trouve. 



La légende est simpliste: 
- Les bulles représentent un flux d'information : en vert ce qui est émis, en rouge reçu.
- Les liens représentent une communication. Un trait plein est filaire, un trait en pointillé est une communication sans fil. En noir il s'agit d'Ethernet, en rouge d'USB.

Je vais maintenant détailler rapidement ce que j'ai déployé dans chacune de ces couches.

Homo 

Pour le moment les équipements inclus dans ma solution domotique sont :
- La température et taux d'hygrométrie de différentes pièces de la maison, de mon réfrigérateur et de ma serre.
- Le contrôle de l'état fermé ou ouvert de diverses portes et fenêtres. La porte d'entrée notamment, les fenêtres des chambres et la porte du garage.
- L'ouverture ou la fermeture de tous les volets de la maison. Mes volets sont tous motorisés et équipé d'interrupteurs sans fils SOMFY RTS.
- L'état allumé et fermé, ainsi que la consommation électrique d'une lampe installée dans la pièce principale de la maison. Avec possibilité d’allumer et éteindre à distance.
- 2 de mes trois téléviseurs.
- Mon PC de bureau ainsi que deux PC portables, 1 téléphone et une tablette.
- Mon système de récupération d'eau ! Ca c'est mon coté écolo : les toilettes, la machine à laver et le robinet d'eau extérieur sont raccordés à une cuve béton enterrée qui contient 5000L d'eau de pluie.
- Mon compteur EDF. C'est un compteur électronique classique (pas un Linky). Je suis en triphasé.

Pour le moment c'est tout. Mais j'ai beaucoup d'idées et de projets pour faire évoluer tout cela.

DOMO


Dans cette couche j'ai identifié tous les équipements et capteurs nécessaires.
- Un boitier RFXtrx433 me permet de piloter nombre d'équipements fonctionnant en 433Mhz. Sa compatibilité avec de nombreux protocoles le rend adapté pour beaucoup de capteurs que l'on trouve dans le commerce. Je pilote des capteurs de température, des détecteurs d'ouverture et aussi les volets roulants. Mais dans ce dernier cas je n'ai pas de retours d'état.
- Une prise électrique ZWAVE capable d’allumer/éteindre et aussi suivre la consommation de l'objet branché dessus. Cette prise est associée à une clé USB ZWAVE.
- Deux Raspberry PI sous KODI pour piloter les téléviseurs et en faire des TV connectées.
- Un système composé avec des arduinos, fait maison, qui me permet de collecter des données spécifiques. Notamment j'ai réalisé une sonde qui m'indique le niveau d'eau dans la cuve de récupération d'eau de pluie.
- Un module se connectant aux fils de télé information du compteur EDF et capable de remonter l'ensemble des informations fournies par EDF (consommation en temps réel ... ).
- Un ancien téléphone Android faisant office de Gateway SMS.


TECHNO 


Dans mon local technique on trouve du très classique :
- un switch Giga Ethernet 8 ports.
- une Box ADSL (j'ai un 8Mb/s à peu près).
- un Raspberry PI 3 faisant office de serveur domotique.
- un NAS Synology comme serveur de fichier, serveur Web et disque réseau.
- un HUB USB auto-alimenté.


INFO

La partie logicielle de l'installation est constituée de logiciels open source et de logiciels ou scripts que j'ai développés.
La brique principale, autours de laquelle tourne l'ensemble de la solution, est le serveur domotique. Pour ma part j'ai choisi "Domoticz" car totalement gratuit, entouré par une communauté active et facilement personnalisable par tout bidouilleur de base comme moi.
Comme serveur SMS j'ai utisé le logiciel Android SMS Gateway. Hyper simple, fiable et surtout ne nécessite qu'une version 2.x d'Android pour fonctionner. Ce qui m'a permis de recycler un vieux téléphone.

Parmi les logiciels que j'ai développé il y a : 
- sonde_cuve : un programme qui reçoit les données de la part du capteur de niveau, les transforme et va mettre à jour le serveur domoticz.
- inspector : un programme capable de réaliser des actions en fonction de l'entrée ou la sortie d'un téléphone d'une zone géographique. Par exemple lorsque je sors de la zone de mon domicile, le programme regarde si j'ai laissé des fenêtres ou des portes ouvertes et si c'est le cas m'envois un SMS pour me le signaler.
- sendsms : programme capable d'envoyer un SMS.

Voila. Je crois que nous avons fait le tour.
Ce qui est passionnant avec la domotique, c'est que plus on réalise de choses, plus on monte en compétences, plus on a de projets ! Et moi des projets j'en ai des milliers.
Je vais essayer de mettre à jour ce blog pour les faire partager.

Si vous avez des questions n'hésitez pas.

A suivre ....


Commentaires

  1. Bonjour

    Pourrais-tu fournir les sources de tes programmes fabriqués "maison"?

    RépondreSupprimer
    Réponses
    1. Bonjour Laurent,
      Ces programmes que j'ai écris en python sont en général asses longs et s’appuient sur des librairies que j'ai écrites également. Dans tout ce code il y a énormément de choses qui ne sont adaptées qu'à mon écosystème. Donc sans aucune utilité ni logique pour quelqu'un d'extérieur. Toutefois, si tu veux avoir des morceaux de code spécifiques à tel ou tel usage, je le partagerai avec plaisir.

      Cordialement,
      Alex

      Supprimer
    2. Je suis sensible à votre démarche et votre pédagogie. Je souhaiterais mettre en œuvre votre projet "exemple du capteur de niveau d'eau" mais de nombreuses lacunes m’empêchent de mener à bien son implantation., aussi pourriez vous, comme vous l'indiquez, me communiquer son script. En vous remerciant par avance.

      Supprimer
    3. Bonjour Christian,

      Depuis l'écriture de cet article intitulé "c'est parti", j'ai refait mon système de mesure de niveau de cuve. Initialement j'avais fait communiquer deux arduino avec un émetteur et un récepteur RF433. Les contraintes de ce mode de communication m'ont amenées à le changer pour mettre en place, coté sonde, un ESP8266 qui est capable de communiquer de manière native en Wifi et donc d'envoyer des requêtes directement à mon serveur domotique sans passer par un script tournant sur le raspberry.
      J'ai décris la mise en place de cette sonde dans l'article sur la programmation de l'EsP que vous trouverez ici : http://framboiseaupotager.blogspot.fr/2018/01/lessentiel-sur-esp8266-nodemcu-sequence.html
      La partie code y est décrite en détail.
      Toutefois, si vous avez besoin d'un coup de main ou que je vous donne des programmes spécifiques je le ferai avec plaisir dans la limite de mes compétences.
      Précisez moi de quoi vous avez besoin par mail si vous le souhaite : acampeaux@gmail.com

      Alex

      Supprimer
  2. Bonjour,

    Je ne pense pas que ton système soit unique. Comment fait-tu pour monitorer la cuve ?
    Qu'elle est la marque du capteur? Le script ?
    A quoi sert le samsung naos?

    RépondreSupprimer
    Réponses
    1. Bonjour Laurent,

      Je ne pense pas que mon système soit unique non plus. Je me suis inspiré de nombreux articles et forums pour mettre les choses en place.

      La sonde de ma cuve est un petit montage que j'ai réalisé avec :
      - Un arduino nano comme microcontroleur et alimentation électrique.
      - Un module à ultrason HC-SR04 pour mesurer la distance entre le haut de la cuve et la surface de l'eau (grace à cela, connaissant la profondeur de ma cuve, j'en déduis le volume restant à chaque instant).
      - Un module emmeteur RF433 pour envoyer la valeur.

      J'ai mise tout cela dans une boite électrique étanche. Mais j'ai du installer une prise de courant dans un regard à coté de la cuve pour y brancher la sonde. Je travaille actuellement sur des solutions autonomes mais je n'ai pas encore assez de connaissances.
      La sonde mesure et envois le volume toutes les secondes avec la librairie VirtualWire pour arduino et un protocole d'envois de message que j'ai élaboré afin d'avoir un minimum de contrôle sur la validité du message. RF433 étant pas toujours très stable.

      De l'autre coté j'ai un Arduino qui est connecté en USB à mon Raspberry. L'arduino envois sur la liaison série les données qu'il reçoit (via un recepteur 433Mhz et la librairie VirtualWire).
      Et sur le RPI j'ai écrit un programme qui se lance toute les 10 minutes par crontab, récupère 10 mesures sur la liaison série, en fait une moyenne et met à jour le capteur virtuel sous domoticz en faisant une requête json.
      Ca fait un peu usine à gaz mais cela fonctionne assez bien. Je prévois toutefois de refaire mon montage avec un ESP8266 en tant que microcontroleur coté cuve. Déjà parce que le wifi est plus performant que le 433Mhz et aussi pour plus de centralisation.

      Le Samsung NAOS me sert uniquement de serveur SMS. J'ai mis dessus une puce free à 2€/mois et le programme SMS Gateway qui tourne en permanence. Ainsi domoticz est capable d'envoyer des SMS.

      Cordialement,
      Alex

      Supprimer

Enregistrer un commentaire