Posted on Leave a comment

My Automated Home: Raspberry Pi + Node-Red + MQTT & Amazon Echo

Dans notre fonctionnalité maternelle la plus récente, Dave McLaughlin nous emmène tout au long de son voyage en développant son propre système de maison intelligente. Avec quelques mises à niveau de bricolage vers le matériel domestique existant et une intégration de logiciels intelligents, il a construit un système fascinant…

Au début

Ayant utilisé Homeseer et un certain nombre d’appareils câblés et sans fil pendant que je suis au Royaume-Uni, je suis passé à Wireless lorsque j’ai déménagé à l’étranger vers l’Indonésie en 2005. Comme je vivais dans un appartement ou un condo loué, j’ai besoin d’une option qui ne nécessiterait aucun cordon autre que peut-être Ethernet dans la même pièce.

Je décide d’un système Z-Wave, ajoutant plus tard des modules WEMO LAMP aussi. Pour le côté Z-Wave, j’ai choisi les modules d’appareil HomePro pour les prises et les modules de lampe Everspring pour l’éclairage. Aucun de ces 2 modules n’était bon marché.

J’ai couru avec cette configuration jusqu’au milieu de 2016, mais les problèmes suivants ont provoqué un changement. Premièrement, Z-Wave était capricieuse avec 2 unités à l’extrémité de l’appartement OU, même si j’avais un module d’appareil à mi-chemin entre cela n’a jamais fonctionné de manière fiable. J’aurais continuellement expulsé la tablette à base de tactile Homeseer pour que mon lit de lit se déclenche. Plus tard, j’aurais 2 unités que les lampes contrôlées explosent et échouent. L’un des IC qui faisait partie de l’alimentation avait partagé de grande taille.

Le mal de tête suivant était les modules Wemo Lamp. La seule façon de les faire fonctionner était avec IFTTT via leurs canaux Homeseer et WeMo. Tant que ma connexion Internet était bonne, cela fonctionnait correctement, bien qu’un peu lent parfois. Pas exactement un 10 sur l’échelle WAF.

Début 2016, je suis tombé sur un site Web dirigé par Peter Scargill qui dirigeait une entreprise de conception électronique il y a beaucoup d’années de Tyneside. À cette époque, j’ai utilisé ses contrôleurs câblés AppCon pour la domotique basés sur les petits microcontrôleurs photo 8 bits. J’avais des centaines de mètres de cordon d’alarme de 4 de base partout dans mon appartement. Le système était réputé mais essayer de cacher tout ce cordon ne s’est pas bien passé avec mon partenaire à l’époque.

Avance rapide jusqu’en 2016 et Peter était de retour en faisant la maison avec les contrôleurs basés sur Little ESP8266.

Ceux-ci sont basés sur un noyau Cortex M4 avec le WiFi 802.11 intégré et sont livrés avec un SDK qui permet le développement avec Eclipse ainsi qu’une option IDE Arduino.

Comme mes unités HomePro étaient gênantes, j’ai pris la décision de réorganiser les internes et de garder les pièces mécaniques. J’ai donc sorti l’ancien PCB et j’ai fait toutes les mesures afin que je puisse faire mon propre ensemble PCB à 2 piles à peu près comme l’ancien. Le PCB inférieur est l’alimentation et le relais à semi-conducteurs.

J’ai choisi les relais à l’état solide pendant qu’ils allument la traversée zéro et évitent tout problème avec la baisse de l’AC et la baisse de l’alimentation. Cela fonctionne sans faute et je peux changer jusqu’à 8 ampères avec cet arrangement. Beaucoup plus que suffisant pour l’utilisation prévue de ces modules.

Ces images montrent la nouvelle pile de cartes et les anciennes planches du module et enfin les nouvelles planches installées dans le boîtier HomePro.

Il y a une LED sur la planche pour afficher le statut et j’ai percé un petit trou pour permettre que cela soit vu de l’extérieur. Il clignote rapidement jusqu’à ce qu’il obtienne une connexion WiFi et MQTT. En utilisant le bouton à l’avant, vous pouvez appuyer et maintenir ceci pendant environ 3 à 5 secondes juste après l’alimentation et cela activera une APN et une page Web que vous pouvez utiliser pour configurer l’appareil. beaucoup plus facile que d’essayer de le faire sur la connexion série. Peter et Aiden ont tout considéré avec cela.

Maintenant, l’éclairage devait être trié. Les unités Everspring que j’avais achetées au Royaume-Uni il y a quelques années montraient une faute gênante. Ils commençaient à l’occasion à s’éteindre, puis à nouveau. C’était complètement aléatoire. J’ai remplacé une unité par une nouvelle et la même chose s’est produite. Ensuite, un jour, j’ai identifié que la faille ON / OFF se produisait lorsque la tension dans l’appartement ou le condo tombait en dessous de 209 VAC – l’Indonésie n’est pas très bonne lorsqu’elle concerne la stabilité de l’alimentation secteur. J’ai ouvert l’une des unités et j’ai constaté qu’ils utilisaient une conception d’alimentation à très faible coût basé sur un type de condensateur / compte-gouttes. Celles-ci sont bonnes lorsque vous avez une alimentation stable, mais elles ne l’aiment vraiment pas lorsque l’entrée de tension est trop faible.

Donc armé de la conception de l’unité HomePro, j’ai défini sur la création d’un nouveau PCB pour s’adapter aux enceintes existantes. L’ESP12 était situé d’un côté et la puissance AC-DC de l’autre. Le relais à semi-conducteurs était également du même côté que l’alimentation. Un bouton PROG et ON / OFF a également été installé afin que je puisse installer le logiciel initialement. L’interface Web serait utilisée pour la configurer plus tard. Vous pouvez voir le côté ESP du PCB ci-dessous. La fente dans le PCB doit augmenter la séparation de la puissance CA du côté CC basse tension. Les grands coussinets sont les AC IN et AC vers la lampe.

Alors maintenant, j’avais un certain nombre de modules d’appareils et de contrôleurs d’éclairage améliorés, mais comment allais-je contrôler tout cela? Il wComme le temps de retirer mon ancien système Homeseer 2. Le PC n’était pas fin de problèmes et étant Windows 10, il déciderait qu’il se mettrait à jour sans ma permission. Il est temps de faire le pas vers Linux.

Donc, sur la base du blog de Peter, j’ai pris la décision de sortir mon Raspberry Pi3 avec son écran LCD de 7 pouces et de tirer le rouge. Node-rouge pour ceux qui n’ont pas vu, c’est un logiciel de contrôle de glisser-déposer très génial et stable. Au début, c’était intimidant de la configuration, mais après environ une semaine de jeu, j’ai commencé à constater qu’il était très facile d’atteindre. Si vous avez des compétences en programmation, vous vous sentirez chez vous avec les scripts. Tous les modules sont fournis sous forme de source de script Java et il y a une bibliothèque substantielle et stimulante pour lui sur le site Web de Node-Red.

Ensuite, j’avais besoin d’un courtier MQTT car le logiciel de Peter communique à l’aide de ce protocole. Une fois que vous avez configuré et utilisé MQTT, vous réalisez rapidement à quel point il est efficace sur votre réseau. Il n’est pas nécessaire de sonder les appareils ou même de connaître l’adresse IP des appareils. Le courtier s’en occupe. Ceux qui connaissent XAP comprendront cela.

En utilisant Node-Red, je configure divers minuteries (grâce à Peter encore pour son bigtimer) et allume les lumières la nuit. À l’aide d’un plugin WEMO, j’avais maintenant également le contrôle des lampes WEMO, bien que uniquement sur et désactivés. Le développeur du plugin rouge-rouge a promis un contrôle de gradation à un moment donné.

OK, j’ai donc eu la configuration de Node-Red et MQTT, mais maintenant j’avais besoin d’un moyen de contrôler les lumières et les commutateurs par la voix et une certaine forme d’interface mécanique ou tactile. J’ai couru sur des commutateurs sans fil d’Enocean sur le site Web Element14, donc j’en ai acheté quelques-uns avec le module Raspberry Pi Enocean qui se branche sur les broches GPIO sur le PI et utilise l’UART pour communiquer avec Node-Red et un plugin.

Les commutateurs ont une récompense en ce qu’il n’y a pas de batterie à installer ou à s’occuper. Ils utilisent la récolte d’énergie à travers une bobine et un aimant qui est activé lorsque vous appuyez sur le bouton. Malheureusement, ils ne viennent pas avec des luminaires muraux, vous devez donc concevoir le vôtre. Ils fournissent un fichier STL à bouton à bascule que vous pouvez imprimer en 3D, j’ai donc utilisé ceci et créé mon propre montage pour eux. Cela sert à 2 objectifs, un pour couvrir l’ancien interrupteur sur le mur en garantissant qu’il reste en position ON afin que les modules de lampes soient toujours allumés et deuxièmement pour localiser les commandes dans un endroit familier.

En utilisant le plug dans le nœud-red enocean, j’obtiens une charge utile de message avec les états du bouton. En analysant cela dans un commutateur de nœud-rouge, je peux envoyer la commande appropriée à la lumière ou au commutateur, etc. Il s’agit d’un exemple de la charge utile envoyée par le commutateur Enocean. Il est encodé au format JSON si facile à analyser. L’ID et V sont ce qui nous intéresse.

? F6-02-03 “,” Man “:” Enocean_gmbh “,” Desc “:” Rocker Switch “,” RV “:” 30 “,” Rawbyte “:” 55000707017af630002d09323001ffffffff4c000d “},” _msgid “:” 3e6d4c8f.c192b4 “” }

L’image suivante montre le commutateur qui a 4 sorties basées sur la valeur msg.payload.v dans le télégramme à partir du commutateur Enocean. Ceux-ci sont ensuite dirigés vers l’appareil approprié. J’utilise la fonction de bascule dans le firmware MQTT pour activer et désactiver l’appareil du même commutateur. Cela indique que j’ai jusqu’à 4 états de commutation de chaque module Enocean.

Maintenant, la partie amusante commence parce que j’ai un écho Amazon et j’ai toujours voulu contrôler ma maison avec des commandes vocales. Vous pouvez blâmer Scifi pour cela

Il n’y a pas de support d’écho direct, du moins pas sans avoir une connexion HTTPS à votre nœud-rouge et c’est malheureusement impossible avec mon FAI, donc j’avais besoin d’une alternative. En utilisant cet Amazon Echo Habridge en fonctionnant sur le même Raspberry PI3, je n’ai pas pu configurer la voix d’activation des lumières, etc. Le Habridge émule une API de couleur Philips pour que l’écho voit les appareils que vous configurez. Voici un exemple d’un appareil appelé ventilateur de la salle de devant.

En prononçant ce qui suit à l’Echo, le ventilateur peut être allumé. “Alexa, allumez le ventilateur de la salle avant” ou en disant “Alexa, éteignez le fan de la salle avant”

Le Habridge envoie les commandes à Node-Red au moyen d’une demande HTTP et j’analyse ensuite l’URL pour les valeurs. Il s’agit d’un script de base comme illustré ci-dessous.

Comment procéder avec des modules à faible coût

Après avoir créé mes propres PCB pour remplacer les modules, j’avais besoin d’un moyen d’ajouter des modules de commutation supplémentaires et des contrôleurs d’éclairage.

Mes propres unités maison coûtent environ 15 $ US à gagner avec tous les PCB et les pièces ensemble. Donc toujours à faible coût.

#
Aperçu
Produit
Évaluation
Prix

1
Jane Choi RaspberryPI 4 B MODÈLE B 8 Go Kit de démarrage (8 Go de RAM) -Motherboard 64 Go SD Carte, ventilateur de refroidissement, …
121 avis
222,99 £
Montez sur Amazon

2
Raspberry PI 400 4 Go Kit de démarrage officiel, disposition au Royaume-Uni
215 avis
110,56 £
Montez sur Amazon

3
Kit de démarrage de Freenove pour Raspberry Pi 4 B 3 B + 400, tutoriels en profondeur de 561 pages, Python C …
2 835 avis
42,95 £
Montez sur Amazon

Pour mettre cela encore plus bas, je suis tombé sur Itead Studio Slampher et les commutateurs intelligents S20. Ce sont environ 12 $ US pour les modules S20 et 8,50 $ pour les contrôleurs de lumière, donc considérables moins que n’importe lequel des modules d’ondes Z sur le marché. Ils viennent avec le firmware d’ITEAD qui est contrôlé à partir d’une application iOS ou Android, mais je voulais pouvoir utiliser le code de Peter. Peter avait fait des recherches à ce sujet et a constaté qu’avec des modifications mineures de son code, elle programmerait dans les unités ITEAD et le travail. Vous avez besoin d’un USB pour UART avec une sortie 3,3 V pour ce faire, mais cela est suffisamment basique si vous pouvez manier un fer à souder. Le seul inconvénient est que les modules ITEAD sont livrés avec un flash de 512kb et pour permettre au code de Peter de faire des mises à jour OTA, nous devons changer cela à 8 Mo. Les IC de mémoire sont d’environ 3 $ pour 5 sur eBay. Armé d’une station de retravaille aérrale chaude (emprunter un copain si vous n’en avez pas), le travail est rapide et ne risque pas d’endommager les planches. L’image suivante montre le haut SOIC IC à gauche après avoir retiré l’ancien et le nouveau monté.

Vous devez également souder sur un en-tête vers la ligne unique de 4 trous sur le PCB. Cela applique une puissance au conseil d’administration et vous permet de le programmer avec le firmware MQTT sur mesure. J’ai un blog approfondi sur la façon de procéder.

Les modules S20 semblent très intelligents et modernes. Le commutateur d’alimentation vous permet de l’allumer et de s’éteindre localement. Ceux qui sont présentés ici sont des sockets Euro, mais ITEAD offrira très bientôt les options américaines et britanniques.

Les modules Slampher sont des contrôleurs de lampes basés sur ES27, donc pas optimaux pour le Royaume-Uni à l’heure actuelle, mais ils fonctionnent très bien.

Étant donné qu’ils utilisent les modules de commutation comme le Royaume-Uni, je m’attendrais à ce qu’une version à baïonnette puisse bientôt arriver bientôt. J’aime vraiment le type de vis maintenant pour une installation beaucoup plus facile.

Ceux-ci sont faciles à ouvrir et à modifier comme auparavant avec une étape supplémentaire autre que le remplacement du Flash IC et c’est-à-dire un seul lien zéro ohm

Leave a Reply

Your email address will not be published. Required fields are marked *