Principe
Pour le contrôle du système domotique de ma chambre, j’ai opté pour HomeKit, une API d’Apple qui permet d’unifier ses différents appareils électroniques sur ses appareils iOS. En effet, mon système domotique se composait déjà de volets connectés, que l’on contrôle à distance, ainsi que d’une serrure, de deux lampes et d’un éclairage NeoPixels (voir mes aures projets).
J’ai donc créé HomeServ, un serveur domotique compatible HomeKit qui me permet de contrôler tous mes appareils depuis iOS ou watchOS.
Ainsi, dans le centre de contrôle de mon iPhone, j’ai accès à tous ces appareils. Je peux également les contrôler via Siri ou via l’app Home sur l’Apple Watch.
Le premier appareil est une lampe classique, pour laquelle l’on peut choisir l’état on/off avec un simple appui sur le bouton correspondant. Le deuxième correspond à mes volets, où l’on peut choisir l’état ouvert ou fermé en appuyant sur le bouton. Le troisième appareil est une lampe un peu particulière car, à l’instar des Hue de Phillips, l’on peut choisir la couleur de la lumière, sa chaleur et sa luminosité. Ainsi un appui forcé ou prolongé sur le bouton permet de choisir tous ces paramètres pour la lampe, et de même pour l’éclairage NeoPixels situé dans le salon. Enfin le cinquième appareil est un ventilateur, pour lequel on peut choisir l’état allumé ou éteint.
Il me reste à ajouter un appareil, à savoir la serrure connectée.
L’avantage d’avoir utilisé HomeKit est l’intégration à iOS, à savoir qu’il n’y a pas besoin d’une app tierce sur l’iPhone, donc pas besoin que l’app charge, puis se connecte, et ce pour chaque appareil. Ici les appareils sont facilement accessibles par le centre de contrôle ou par Siri, donc aucun de temps de chargement n’est nécessaire, tout est instantané et synchronisé entre tous les appareils iOS. De même, l’on peut partager le contrôle de la pièce avec d’autres personnes très simplement. Enfin HomeKit permet la création simple de scènes qui permettent d’unifier les actions de plusieurs appareils avec un clic. Voici une vidéo qui explique le fonctionnement :
À l’intérieur
À l’intérieur d’HomeServ l’on trouve un Raspberry Pi, qui centralise les informations d’HomeKit et les redirige vers chaque appareil.
La première lampe ainsi que le ventilateur sont contrôlés par des relais à l’intérieur du boîtier d’HomeServ, contrôlés directement par les GPIO du Raspberry Pi.
En ce qui concerne les volets et la décoration de NeoPixels, ils sont situés assez loin d’HomeServ, et faire passer des câbles n’était pas envisageable. Ainsi, ils sont contrôlés par un module ESP8266 via des relais ou via les GPIO des modules. Ces module sont connectés à un serveur MQTT local en Wifi, et le Raspberry Pi d’HomeServ, lorsqu’il reçoit une commande d’HomeKit, change la valeur binaire (volet ouvert ou fermé) du module relais ou la valeur numérique de la couleur RGB des NeoPixels..
La lampe qui change de couleur est composée de NeoPixels, donc est connectée à une alimentation et à un GPIO du Raspberry Pi par un câble pour les données.