Table des matières:
- Étape 1: Présentation du circuit
- Étape 2: Sonoff RetroMods
- Étape 3: Détails de construction et d'assemblage
- Étape 4: Adaptateur de programmation Sonoff
- Étape 5: Présentation du système logiciel
- Étape 6: Présentation du logiciel
- Étape 7: Configuration d'OpenHAB
- Étape 8: Tester votre appareil IoT
- Étape 9: Conclusion
- Étape 10: Références utilisées
Vidéo: Contrôleur de réseau IoT. Partie 9 : IoT, domotique : 10 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
Clause de non-responsabilité
A LIRE EN PREMIER
Ce Instructable détaille un projet qui utilise l'alimentation secteur (dans ce cas UK 240VAC RMS), tandis que toutes les précautions ont été prises pour utiliser des pratiques sûres et de bons principes de conception, il y a toujours un risque de choc électrique potentiellement mortel lorsque vous travaillez avec ces tensions d'alimentation et pour dont l'auteur décline toute responsabilité en cas de blessure corporelle ou de dommage matériel lors du suivi de son contenu. Par conséquent, vous réalisez ce projet à vos risques et périls.
Préambule
Cet article, le 9e d'une série sur la domotique, documente comment créer et intégrer un contrôleur secteur Sonoff 10A IoT dans un système domotique existant, y compris toutes les fonctionnalités logicielles nécessaires pour permettre un déploiement réussi dans un environnement domestique.
introduction
Comme mentionné ci-dessus, cet Instructable détaille comment créer et intégrer un contrôleur secteur IoT à l'aide du Sonoff 10A d'iTead. L'appareil lui-même est indiqué comme étant évalué à 10 ampères à 90 ~ 250 VCA, mais cette implémentation le déclasse à 5 ampères via la prise à fusible fournissant une alimentation principale domestique au Royaume-Uni de 240 VCA RMS.
La méthodologie de conception s'intègre de manière transparente dans le réseau IoT basé sur MQTT/OpenHAB détaillé dans cette série sur la domotique en s'appuyant sur du code réutilisé tiré d'ici. Il peut également gérer la perte de tout élément de réseau IoT et est parfaitement capable de fonctionner de manière autonome. En mode autonome, le contrôle de l'appareil s'effectue en appuyant simplement sur le bouton de commande situé sur le dessus du boîtier, ce qui bascule la sortie d'alimentation vers l'avant.
Pour permettre ce contrôle local de l'appareil Sonoff, GPIO14 est sorti du boîtier et est utilisé comme entrée de déclenchement. Pour assurer la sécurité, cette entrée est alimentée via un circuit opto-coupleur et logée dans un boîtier en plastique de telle sorte qu'à aucun moment l'opérateur n'est exposé aux tensions d'alimentation secteur.
Enfin, la prose explique également comment reprogrammer l'appareil ESP8266 dans le Sonoff 10A à l'aide de l'IDE Arduino et donne les détails complets du circuit d'un appareil qui peut être utilisé pour programmer de manière fiable le code cible.
De quelles pièces ai-je besoin ?
Contrôleur secteur Sonoff
- 1 hors Sonoff 10A ici
- 1 régulateur de tension 7805L 5v ici
- 1 transformateur 240/6VAC 1.5VA ici
- 2 condensateurs céramiques de 0,1 ici
- 1 sur condensateur électrolytique 1000uF @25v ici
- 1 hors pont redresseur 2W01 ici
- 2 résistances 4K7 ici
- 1 résistance 330R ici
- 1 bouton SPST ici
- 1 boîtier ABS Mulitcomp BM12W ici
- 1 opto-coupleur TIL111 ici
- 1 bornier à 3 voies ici
- 1 connecteur molex codé 2 voies ici/ici
- 1 connecteur molex codé 3 voies ici/ici
- 1 connecteur molex codé à 5 voies ici/ici
- 1 broches molex 5 voies ici
- 1 sur Winbond SPI Flash (W25Q32FVSIG) ici
- 1 porte-fusible de 20 mm + capuchon ici
- 1 fusible de 20 mm à fusion rapide de 500 mA ici
- 2 presse-étoupes en polyamide ici
- 1 prise secteur britannique (BS1363/A) ici
- 1 prise principale britannique (BS1363/A) ici
- 7 vis en nylon M3 16 mm CS (dont 10 écrous) ici/ici
- 2 attaches zippées ici
- 1 hors veroboard (pas de 0,1 ") ici
- 1 fil de cuivre étamé 22swg de différentes longueurs ici
- 1 câble secteur 3M blanc UK ici
- 10 sertissages de douille Molex ici
Programmeur Sonoff
- 1 régulateur de tension LD33CV 3v3 ici
- 1 dissipateur thermique TO-220 ici
- 1 hors pâte de dissipateur ici
- 1 sur 10uF @16v condensateur électrolytique ici
- 1 sur 0,1 condensateur céramique ici
- 1 bouton SPDT désactivé ici
- 1 résistance 4K7 ici
- 1 connecteur molex codé 2 voies ici/ici
- 1 connecteur molex codé 3 voies ici/ici
- 5 sertissages de douille Molex ici
- 1 prise molex 6 voies ici
- 1 bouton SPST désactivé ici
- 1 prise d'alimentation de 2,1 mm ici
- 1 hors veroboard (pas de 0,1 ") ici
- 1 adaptateur USB vers série (FTDI) ici
De quel logiciel ai-je besoin ?
- Arduino IDE 1.6.9 ici
- Arduino IDE configuré pour programmer l'ESP8266. Vois ici; Configuration de l'IDE Arduino pour programmer l'ESP8266-01
De quels outils ai-je besoin ?
- Fer à souder,
- Perceuse et divers forets (y compris la fraise étagée pour les presse-étoupes et le bouton de commande),
- Tournevis (divers),
- Clés réglables (deux, largeur de mâchoire > 25 mm, pour presse-étoupes),
- Fichiers (divers),
- Etau robuste,
- Pistolet thermique,
- DMM (de préférence CAT IV).
De quelles compétences ai-je besoin ?
- Une bonne maîtrise de l'électronique et de la sécurité/conception/câblage électrique domestique, etc.,
- Connaissance d'Arduino et de son IDE,
- Bonnes compétences en fabrication (soudage, limage, perçage etc.),
- Un peu de patience,
- Une certaine compréhension de votre réseau domestique.
Sujets couverts
- introduction
- Aperçu du circuit
- Sonoff RetroMods
- Détails de construction et d'assemblage
- Adaptateur de programmation Sonoff
- Présentation du système logiciel
- Présentation du logiciel
- Configuration OpenHAB
- Test de votre appareil IoT
- Conclusion
- Références utilisées
Liens de séries
À la partie 8: Capteur de température et d'humidité WiFi IoT. Partie: 8 IoT, Domotique
À la partie 10: Télécommande IR via IoT. Partie 10 IoT, Domotique
Étape 1: Présentation du circuit
Aperçu
Comme mentionné dans l'introduction ci-dessus, afin de pouvoir allumer et éteindre le contrôleur secteur localement, une entrée vers l'ESP8266 embarqué du Sonoff était nécessaire. L'introduction d'une telle entrée externe nécessite une brèche dans le boîtier ABS Sonoff et crée donc un risque de choc potentiel. Pour surmonter cela, j'ai utilisé une isolation optique de sorte qu'il n'y ait aucune possibilité d'exposition à l'électricité du secteur en dehors de l'enceinte du système de contrôleur de secteur.
Ce qui suit est une description du circuit d'opto-isolation (sur la photo 1 ci-dessus).
Détails du circuit
Le circuit opto-isolant reçoit son alimentation directement du secteur appliqué à l'unité. Le 240VAC RMS est appliqué au transformateur abaisseur/isolement TR1 via J1 un contact pheonix MKDSN2, 5/3-5.08 borne 3 voies en polyamide évalué à 16A à 400V capable de transporter un câble de 2.5mm (sq) CSA et F1 a 500mA 20mm fusible à fusion rapide. Le 6VAC disponible sur les enroulements secondaires de TR1 est redressé en pleine onde par le pont de diodes B1.
Cette sortie redressée pleine onde est ensuite stabilisée et régulée par C1, C2 C3, R3 et IC1 un régulateur shunt série 7805L, donnant un bon rail d'alimentation 5v propre.
Le rail 5v est ensuite utilisé pour contrôler l'entrée vers OK1 d'un opto-isolateur TIL111 via un bouton SPST blanc monté à l'extérieur et connecté à J3. La sortie du TIL111 est couplée à l'entrée Sonoff GPIO14 via R2 une résistance de rappel 4K7. Ainsi mieux que 340V d'isolement est réalisé (c.-à-d. Tension de crête = (240VAC*sqroot(2))).
Étape 2: Sonoff RetroMods
Afin d'intégrer le dispositif Sonoff 10A, il est nécessaire d'apporter quelques modifications rétrospectives.
La première consiste à ajouter un connecteur molex à 5 voies au pas de 0,1 comme indiqué sur la photo 1 ci-dessus. Cela permet d'accéder au GPIO14 sur le Sonoff une fois le capot de protection remplacé comme sur les photos 2 et 3 ci-dessus.
Bien que cela ne soit pas illustré ci-dessus, j'ai également sorti les lignes série TX/RX pour permettre la programmation in situ (voir le faisceau de câbles SK1..3 à l'étape 1 ci-dessus).
La deuxième modification consiste à augmenter la taille du périphérique Flash SPI de 1 Mo par défaut à 4 Mo, afin de laisser suffisamment d'espace pour que les fichiers du serveur Web IoT soient conservés dans SPIFFS.
J'ai acheté le périphérique flash SMD SPI (W25Q32FVSIG) sur Ebay ici
Pour remplacer le flash, j'ai temporairement retiré la LED Sonoff comme sur l'image 4 pour donner un meilleur accès au périphérique SMD. Pour dessouder le flash, j'ai utilisé un pistolet thermique comme indiqué sur la photo 5 ci-dessus. Puis ressoudé à la fois le Flash 4MByte et la LED respectivement (photo 6).
Étape 3: Détails de construction et d'assemblage
J'ai inclus le contrôleur secteur dans une boîte ABS Mulitcomp BM12W (Photo 1 ci-dessus). Ce boîtier a des inserts M3 en laiton isolés permettant un accès multiple à l'unité sans compromettre les filetages de fixation de sorte que le fusible interne puisse être remplacé si nécessaire ou qu'une inspection interne puisse être effectuée au fil du temps (il n'en va pas de même pour le dispositif Sonoff, qui est effectivement une fermeture unique à l'aide d'auto-taraudeuses).
La décharge de traction principale pour le câble d'alimentation secteur a été réalisée via un presse-étoupe M16 Nylon/Polyamide 6/6 blanc supportant un câble OD Min/Max 5mm/10mm.
La décharge de traction secondaire se faisait via une seule attache zippée placée sur le câble. Si une contrainte excessive est appliquée et que le presse-étoupe tombe en panne, l'attache zippée maintiendra le câble en place.
Pour installer les presse-étoupes et prévoir un espace suffisant pour monter le Sonoff et l'électronique d'opto-isolation, j'ai dénudé les nervures de montage internes du PCB comme indiqué ci-dessus (Photo 2).
Tous les composants électroniques ont été solidement montés via des vis CS en nylon M3 pour garantir le maintien de l'isolation avec l'extérieur du boîtier. L'électronique d'opto-isolation étant montée avec 5 points de fixation pour assurer une bonne résistance mécanique en cas de chute de l'unité, empêchant ainsi la masse du transformateur d'isolation de rompre le circuit veroboard.
L'alimentation de l'unité a été réalisée via un câble secteur multibrin (32/0,2 mm²) à 3 conducteurs isolé en PVC blanc standard de couleur 1 mm (²) CSA. avec un diamètre extérieur de 7,2 mm capable de transporter 10A.
L'unité a été connectée à l'alimentation secteur britannique (240VAC RMS) via une prise de sécurité standard à 3 broches (BS 1363/A) approuvée. La prise était protégée par un fusible de 5A.
Tous les câbles d'alimentation secteur au circuit opto-isolation ont été connectés via le contact pheonix MKDSN2, des bornes en polyamide 5/3-5.08 évaluées à 16A à 400V capables de transporter un câble de 2,5 mm (sq) CSA, fournissant ainsi une capacité suffisante pour deux câbles dans chaque poste.
Aucun câble secteur n'a été étamé, juste torsadé pour éviter l'écartement des conducteurs avant l'insertion dans le bornier. L'étamage des câbles d'alimentation est une pratique dangereuse car la soudure "se détend" avec le temps, ce qui finit par faire perdre le câble dans le bloc de connexion.
Noter:
- OD = diamètre extérieur.
- VAC = Volts Courant Alternatif
- RMS = racine carrée moyenne
- CSA = Superficie de la section transversale
- CS = Comptoir coulé
Étape 4: Adaptateur de programmation Sonoff
Il y a deux aspects à prendre en compte lors de la reprogrammation du Sonoff 10A via l'IDE Arduino;
- Configurer votre IDE Arduino pour programmer l'ESP8266,
- Action de programmer le matériel lui-même.
Configuration de votre IDE Arduino pour programmer l'ESP8266
Pour configurer votre IDE Ardino, suivez les instructions ici Configuration de l'IDE Arduino pour programmer l'ESP8266-01
Programmation du matériel
Il s'agit d'un processus en plusieurs étapes comme dans tous les cas avec l'ESP8266. Ici, l'alimentation Sonoff est appliquée à la carte via une alimentation CC 3v3 stabilisée externe et NON à partir de l'alimentation secteur. Un périphérique USB vers série sera nécessaire pour envoyer et recevoir des données vers et depuis le Sonoff. Connectez TX et RX comme indiqué sur les images 2 et 4.
Étapes de programmation (général)
- Assurez-vous d'abord qu'aucune alimentation secteur externe n'est appliquée au Sonoff,
- Appuyez sur le bouton de l'appareil Sonoff et maintenez-le enfoncé. (photo 1 ci-dessus, bouton re-flash marqué),
- Appliquez une alimentation DC 3v3 externe à la broche 1. (photo 2 ci-dessus),
- Relâchez le bouton Sonoff,
- L'appareil peut maintenant être reprogrammé de la manière habituelle via l'IDE Arduino.
Pour rendre les choses un peu plus faciles, j'ai créé le dispositif de programmation ci-dessus (photos 3 et 4) qui s'interface avec le Sonoff via le faisceau de câbles SK1…3 (comme décrit dans cette étape 1 instructable). Cela a permis une programmation plus facile de l'ESP8266. Il a également fourni un moyen de tester GPIO14 en tant qu'entrée grâce à l'utilisation de R1 une résistance de rappel 4K7 et du bouton S1.
En utilisant le dispositif de programmation ci-dessus (Photos 3 & 4) Les étapes de programmation sont,
- Appuyez et maintenez le bouton re-flash sur le Sonoff,
- Pulsez l'alimentation 3v3 en appuyant momentanément sur S2,
- Relâchez le bouton de re-flash,
- L'appareil peut maintenant être programmé.
REMARQUE - AVERTISSEMENT
En AUCUN cas, l'alimentation ne doit être fournie via le secteur pendant l'activité de reprogrammation Sonoff
Étape 5: Présentation du système logiciel
Ce dispositif de contrôleur de secteur IoT contient pour la plupart les mêmes six composants logiciels clés que dans le capteur de température et d'humidité WiFi IoT instructable. Partie: 8 IoT, domotique et illustrée sur la photo 1 ci-dessus, avec quelques personnalisations.
SPIFFS
Il s'agit du système de fichiers Flash SPI embarqué (mis à niveau à 4 Mo) et utilisé pour contenir les informations suivantes (voir photo 2 ci-dessus);
- Icônes et html « Page d'accueil de la configuration du contrôleur principal »: servi par l'appareil IoT lorsqu'il est incapable de se connecter à votre réseau WiFi IoT (généralement en raison d'informations de sécurité incorrectes) et fournit à l'utilisateur un moyen de configurer à distance le contrôleur principal sans la nécessité de reprogrammer ou de télécharger de nouveaux contenus SPIFFS.
- Informations de sécurité: elles contiennent les informations utilisées à la mise sous tension par l'appareil IoT pour se connecter à votre réseau WiFi IoT et à MQTT Broker. Les informations soumises via la 'Page d'accueil de la configuration du contrôleur principal' sont écrites dans ce fichier ('secvals.txt').
Remarque: Pour configurer initialement l'appareil, voir ici pour plus de détails sur l'utilisation de SPIFFS avec l'IDE Arduino.
Serveur mDNS
Cette fonctionnalité est invoquée lorsque l'appareil IoT n'a pas réussi à se connecter à votre réseau WiFi en tant que station WiFi et est devenu à la place un point d'accès WiFi semblable à un routeur WiFi domestique. Dans le cas d'un tel routeur, vous vous y connectez généralement en saisissant l'adresse IP de quelque chose comme 192.168.1.1 (généralement imprimée sur une étiquette apposée sur la boîte) directement dans la barre d'URL de votre navigateur, après quoi vous recevrez une page de connexion à saisir. le nom d'utilisateur et le mot de passe pour vous permettre de configurer l'appareil. Pour l'ESP8266 en mode AP (mode point d'accès), l'appareil utilise par défaut l'adresse IP 192.168.4.1. Cependant, avec le serveur mDNS en cours d'exécution, vous n'avez qu'à entrer le nom convivial « MAINSCON.local » dans la barre d'URL du navigateur pour voir le « Page d'accueil de la configuration du contrôleur secteur ».
Client MQTT
Le client MQTT fournit toutes les fonctionnalités nécessaires pour: connectez-vous à votre courtier MQTT de réseau IoT, abonnez-vous aux sujets de votre choix et publiez des charges utiles sur un sujet donné. En bref, il fournit les fonctionnalités de base de l'IoT.
Serveur Web
Comme mentionné ci-dessus, si l'appareil IoT ne parvient pas à se connecter au réseau WiFi dont le SSID, le P/W, etc. est défini dans le fichier d'informations de sécurité contenu dans SPIFFS, l'appareil deviendra un point d'accès. Une fois connecté au réseau WiFi fourni par le point d'accès, la présence d'un serveur Web HTTP vous permet de vous connecter directement à l'appareil et de modifier sa configuration via l'utilisation d'un navigateur Web HTTP. La page Web de la page d'accueil qui est également conservée dans SPIFFS.
Station Wi-Fi
Cette fonctionnalité donne à l'appareil IoT la possibilité de se connecter à un réseau WiFi domestique à l'aide des paramètres du fichier d'informations de sécurité, sans cela, votre appareil IoT ne pourra pas s'abonner/publier sur le courtier MQTT.
Point d'accès Wi-Fi
La possibilité de devenir un point d'accès WiFi est un moyen par lequel l'appareil IoT vous permet de vous y connecter et d'effectuer des modifications de configuration via une station WiFi et un navigateur (comme Safari sur l'iPad d'Apple). Ce point d'accès diffuse un SSID = "MAINSCON" + les 6 derniers chiffres de l'adresse MAC de l'appareil IoT. Le mot de passe de ce réseau fermé est nommé de manière imaginative « MOT DE PASSE ».
Étape 6: Présentation du logiciel
PréambulePour compiler avec succès ce code source, vous aurez besoin des bibliothèques supplémentaires suivantes;
PubSubClient.h
- Par: Nick O'Leary
- Objectif: Permet à l'appareil de publier ou de s'abonner à des sujets MQTT avec un courtier donné
- De:
Rebond2.h
- Par: Thomas O Fredericks
- Objectif: anti-rebond du commutateur d'entrée dans le logiciel
- De:
Présentation des codes
Le logiciel utilise la machine à états comme indiqué sur la photo 1 ci-dessus (copie complète de la source ci-dessous). Il y a 5 états principaux comme suit;
-
INIT
Cet état d'initialisation est le premier état entré après la mise sous tension
-
NONCONFIG
Cet état est entré si après la mise sous tension un fichier secvals.txt invalide ou manquant est détecté
-
EN ATTENTE NO
Cet état est transitoire, entré alors qu'il n'existe pas de connexion réseau WiFi
-
EN ATTENTE MQTT
Cet état est transitoire, entré après qu'une connexion au réseau WiFi a été établie et tant qu'il n'existe aucune connexion à un courtier MQTT sur ce réseau
-
ACTIF
Il s'agit de l'état de fonctionnement normal entré une fois qu'une connexion réseau WiFi et une connexion MQTT Broker ont été établies. C'est pendant cet état que le contrôleur principal publiera sur le courtier MQTT et recevra des commandes via les rubriques souscrites
Les événements contrôlant les transitions entre les états sont décrits dans la photo 1 ci-dessus. Les transitions entre les états sont également régies par les paramètres SecVals suivants;
- 1ère adresse IP du courtier MQTT. Sous forme décimale pointée AAA. BBB. CCC. DDD
- 2e port de courtier MQTT. Sous forme d'entier.
- La troisième connexion MQTT Broker tente d'être établie avant de passer du mode STA au mode AP. Sous forme d'entier.
- 4e SSID du réseau Wi-Fi. Sous forme de texte libre.
- 5e mot de passe du réseau Wi-Fi. Sous forme de texte libre.
Comme mentionné ci-dessus, si l'appareil IoT ne parvient pas à se connecter en tant que station WiFi au réseau WiFi dont le SSID et le P/W sont définis dans secvals.txt contenu dans SPIFFS, l'appareil deviendra un point d'accès. Une fois connecté à ce point d'accès, il affichera la "Page d'accueil de configuration du contrôleur principal" comme indiqué ci-dessus dans l'image 2 (en entrant soit "MAINSCON.local" ou 192.168.4.1 dans la barre d'adresse URL de votre navigateur). Cette page d'accueil permet la reconfiguration du contrôleur secteur via un navigateur
Convention de nommage des rubriques MQTT
La convention de dénomination utilisée pour les sujets MQTT est décrite dans la photo 3 ci-dessus et est cohérente avec le modèle utilisé dans mon précédent Instructable (ici étape 5).
Sujets MQTT utilisés par cet appareil IoT
Pour plus de clarté, j'ai documenté (photo 4) les sujets et les séquences de messages associés auxquels cet appareil publie/s'abonne. L'image montre également l'interaction avec le bouton de commande blanc à l'extérieur du boîtier (bien qu'ironiquement le bouton soit affiché en rouge).
Accès à la configuration à distance dans l'état ACTIVE
Une fois connecté à MQTT Broker, il est possible de reconfigurer à distance les paramètres de sécurité de l'appareil via les publications thématiques MQTT. Le fichier associé secvals.txt a un accès en écriture uniquement exposé.
Débogage utilisateur
Pendant la séquence de démarrage, le voyant de l'appareil Sonoff donne les commentaires de débogage suivants, bien qu'il soit à noter, pour voir cela, vous devrez retirer le couvercle et exposer les circuits, il est donc conseillé de le faire tout en développant votre code et en alimentant l'appareil. avec un approvisionnement 3v3;
- 1 Flash court: Aucun fichier de configuration situé dans SPIFFS (secvals.txt),
- 2 clignotements courts: l'appareil IoT tente de se connecter au réseau WiFi,
- Éclairage continu: l'appareil Sonoff IoT tente de se connecter à MQTT Broker,
- Éteint: l'appareil est actif et connecté à MQTT Broker.
Remarque 1: La 'Page d'accueil de configuration du contrôleur principal' n'utilise pas de sockets sécurisés et dépend donc de la sécurité de votre réseau.
Remarque 2: Afin de programmer plusieurs appareils IoT, la chaîne MQTT devra être modifiée avant le téléchargement sur chaque appareil. Cela est dû au fait que le numéro d'identification du contrôleur principal a été intégré dans la chaîne de rubrique MQTT. c'est à dire. dans le logiciel publié j'ai choisi la valeur de 100: 'WFD/MainsCont/100/Relay/Command/1' et pour mes 2 appareils ils sont numérotés 1 & 2 respectivement.
- 'WFD/MainsCont/1/Relay/Command/1'
- 'WFD/MainsCont/2/Relay/Command/1'
Note 3: Par souci d'exhaustivité à l'état ACTIF le logiciel IoT permet le contrôle de la LED Sonoff et la publication de l'état du bouton re-flash. Bien que ceux-ci ne soient utiles que pendant le processus de débogage, car aucun n'est exposé à l'utilisateur pendant le fonctionnement normal.
Étape 7: Configuration d'OpenHAB
À des fins de test, j'ai décidé de déployer théoriquement les deux contrôleurs principaux dans le « salon » de ma maison. Cette page OpenHAB est accessible via la page principale du site comme sur la photo 1.
J'ai modifié la configuration OpenHAB.sitemap donnée dans mon précédent Instructable (ici) et ajouté des entrées individuelles pour 'Mains Controller 1' et 'Mains Controller 2' (photo 2 ci-dessus). J'ai également ajouté des entrées (Living Room Mains Cont. 1 & 2) pour afficher les tendances RSSI mesurées au niveau du récepteur des deux nouveaux appareils IoT (photo 3).
Enfin, j'ai ajouté des entrées aux fichiers.rules et.items pour permettre la synchronisation dynamique de l'état du Sonoff et la mise à jour/animation de ma mauvaise tentative de switch graphique (le switch se ferme lorsqu'il est actif et s'ouvre lorsqu'il est inactif). La photo 2 donne un exemple de MC1 actif et MC2 inactif.
Remarque 1: Si vous ne savez pas comment utiliser OpenHAB, consultez ici 'Configuration et configuration d'OpenHAB. Partie 6: IoT, Domotique'
Remarque 2: Une copie du plan du site modifié, des fichiers de règles et d'éléments, des icônes, etc. est fournie dans le fichier zip ci-dessous.
Remarque 3: RSSI = indication de la force du signal reçu. Il s'agit d'une mesure de la capacité de l'appareil IoT à voir votre réseau WiFi.
Étape 8: Tester votre appareil IoT
Comme décrit dans Instructable WiFi IoT Capteur de température et d'humidité. Partie: 8 IoT, domotique Étape 7, le test initial de l'appareil IoT a été exécuté via une connexion MQTT via MQTT Spy (comme dans le schéma fonctionnel du système photo 1 ci-dessus), la surveillance de la sortie de la LED, des entrées de bouton (à la fois le bouton de re-flash Sonoff et le bouton externe blanc) et déboguer le trafic sur l'interface série. Cela m'a permis d'exercer tous les sujets abonnés disponibles et de vérifier les réponses publiées. Encore une fois, cela a été effectué manuellement et a pris du temps, bien qu'il ait permis une couverture à 100 % des messages/publications thématiques.
Comme la machine d'état du logiciel principal (étape 6 ci-dessus) a été héritée du précédent Instructable (partie: 8) autre que la vérification de l'intégrité, le logiciel pouvait se connecter au WiFi N/W et au courtier MQTT, il a été supposé que cela fonctionnait correctement.
Des tests complets au niveau du système ont ensuite été effectués à l'aide du contrôleur principal et de l'infrastructure IoT (encore une fois, image 1), cette fois en utilisant OpenHAB pour contrôler l'interaction avec l'appareil IoT. Le matériel IoT et la configuration de la charge fictive peuvent être vus sur la photo 2 ci-dessus.
La vidéo donne des détails complets sur les tests du système et montre clairement la synchronisation maintenue entre les appareils OpenHAB (PC/Chrome et iPad/OpenHAB APP) en temps réel. Il affiche également la messagerie en direct vers les contrôleurs principaux via MQTTSpy (voir ici pour plus de détails Configuration d'un courtier MQTT. Partie 2: IoT, domotique) et le journal système OpenHAB à partir du serveur raspberry pi via une connexion PuTTY SSH (voir ici pour plus d'informations détails Mise en place et configuration d'OpenHAB Partie 6: IoT, Domotique).
Remarque: le trafic de débogage a été compilé pour la version finale du logiciel.
Étape 9: Conclusion
Général
Le projet a été relativement facile à réaliser et a bien fonctionné. Le logiciel embarqué était simple à produire, étant une version réduite du code utilisé pour les capteurs de température et d'humidité de la partie 8 de cette série.
J'avais initialement l'intention de n'acquérir que des composants blancs uniquement pour leur qualité esthétique. J'ai réussi dans tous les cas sauf le bouton de commande, essayez comme je le pouvais, je n'ai pas pu trouver un bouton complètement blanc bon/pas cher.
Appareil Sonoff 10A
J'ai énuméré ci-dessous ce que je pensais être des avantages et des inconvénients raisonnables de l'appareil Sonoff
Avantages
- Pas cher.
- Bon soutien communautaire.
- Peut reprogrammer via l'IDE Arduino.
Les inconvénients
- Enceinte fragile.
- E/S minimales (portées sur des connecteurs utilisables).
- Il chauffe à l'état de repos.
- A seulement 1 Mo de flash SPI intégré.
- Est un PITA à reprogrammer une fois câblé en place.
- Lors de l'intégration du nouveau code dans le test Sonoff, la fermeture du relais était problématique étant donné que le relais est 5v et l'alimentation appliquée au Sonoff pour la programmation est 3v3. L'activation du relais est à peine perceptible à l'oreille.
Préoccupations
- Il ne commute pas la ligne neutre. Utilise un relais SPST.
- N'est pas fusionné.
- Mauvaise décharge de traction du câble.
- Le PCB n'est pas sécurisé dans le boîtier Sonoff.
Commentaire sur la conception technique
Étant donné que cet appareil IoT devait être utilisé pour commuter le secteur britannique sous tension (240 VCA RMS), j'ai suivi à la fois les bonnes pratiques de conception mécanique et électrique et j'ai veillé à minimiser le risque de choc en n'exposant aucun matériau conducteur d'électricité, en spécifiant tous les composants, en déclassant charge de sortie, application d'une protection par fusible à la fois au contrôleur secteur et au sous-système opto-couplé, inclusion d'une bonne mise à la terre ininterrompue et utilisation d'une isolation optique/galvanique.
Amélioration possible
Avec le recul, il aurait été utile d'inclure une indication visuelle que la sortie du contrôleur secteur était active (LED ou néon). Bien que ce ne soit pas un problème dans l'utilisation quotidienne, étant donné qu'il est de pratique courante d'isoler la charge de l'alimentation avant toute opération de maintenance, ou une simple pression sur le bouton de commande locale basculera la sortie dans le cas où une lampe peut s'allumer lorsqu'elle est branchée.
Remarque finale
Si vous souhaitez voir deux très mauvais exemples de gestion de l'électricité sur secteur, consultez les liens ci-dessous. Leurs prix Darwin seront publiés très bientôt, j'en suis sûr;
- Rallonge de savant fou
- Commentaires de la communauté 03 - Problèmes de sécurité électrique !
Étape 10: Références utilisées
J'ai utilisé les sources suivantes pour assembler ce Instructable;
PubSubClient.h
- Par: Nick O'Leary
- Objectif: Permet à l'appareil de publier ou de s'abonner à des sujets MQTT avec un courtier donné
- De:
Rebond2.h
- Par: Thomas O Fredericks
- Objectif: anti-rebond du commutateur d'entrée dans le logiciel
- De:
SPIFFS
https://esp8266.github.io/Arduino/versions/2.0.0/do…
Mise à niveau du flash Sonoff
- https://www.andremiller.net/content/upgrading-sonof…
- https://tech.scargill.net/32mb-esp01/
- https://www.andremiller.net/content/upgrading-sonof…
Schéma de circuit de Sonoff
https://www.itead.cc/wiki/images/6/6b/Sonoff_schmatic.pdf
Module UART USB (alias FTDI)
https://www.ebay.co.uk/itm/6Pin-USB-2-0-to-TTL-UART-Module-Converter-CP2102-STC-Replace-FT232-CF-/272249732398?epid=503069058&hash=item3f63593d2e:g:QVUAAOSw71BXP92B
Prix Darwin (léger relief)
https://www.darwinawards.com/
Fiche technique de l'opto-isolateur TIL111
Conseillé:
Comment créer une domotique basée sur l'IoT avec le relais de contrôle des capteurs NodeMCU : 14 étapes (avec photos)
Comment faire de la domotique basée sur l'IoT avec le relais de contrôle des capteurs NodeMCU : Dans ce projet basé sur l'IoT, j'ai réalisé la domotique avec le module de relais de contrôle Blynk et NodeMCU avec retour en temps réel. En mode manuel, ce module de relais peut être contrôlé à partir d'un mobile ou d'un smartphone et, commutateur manuel. En mode automatique, cette smar
Synthèse vocale rétro. Partie : 12 IoT, Domotique : 12 étapes (avec photos)
Synthèse vocale rétro. Partie : 12 IoT, Domotique : Cet article est le 12e d'une série sur les Instructables domotiques documentant comment créer et intégrer un dispositif de synthèse vocale rétro IoT dans un système domotique existant, y compris toutes les fonctionnalités logicielles nécessaires pour permettre t
Est-ce une main ? (Caméra Raspberry Pi + Réseau de neurones) Partie 1/2 : 16 étapes (avec photos)
Est-ce une main ? (Caméra Raspberry Pi + Réseau de neurones) Partie 1/2 : Il y a quelques jours, je me suis blessé au poignet droit au gymnase. Ensuite, chaque fois que j'utilisais ma souris d'ordinateur, cela causait beaucoup de douleur à cause de l'angle raide du poignet. C'est à ce moment-là que cela m'a frappé " ne serait-ce pas génial si nous pouvions convertir n'importe quelle surface en un trackp
Robot de suivi de ligne basé sur PID avec réseau de capteurs POLOLU QTR 8RC : 6 étapes (avec photos)
Robot de suivi de ligne basé sur PID avec un réseau de capteurs POLOLU QTR 8RC : Bonjour ! C'est mon premier article sur les instructables, et aujourd'hui, je vais vous emmener sur la route et expliquer comment créer un robot de suivi de ligne basé sur PID à l'aide de QTR-8RC réseau de capteurs. Avant de passer à la construction du robot, nous devons comprendre
Capteur de température et d'humidité WiFi IoT. Partie : 8 IoT, Domotique : 9 étapes
Capteur de température et d'humidité WiFi IoT. Partie : 8 IoT, Domotique : PréambuleCet article documente la robustesse pratique et le développement ultérieur d'un Instructable antérieur : « Pimping » de votre premier appareil WiFi IoT. Partie 4 : IoT, domotique incluant toutes les fonctionnalités logicielles nécessaires pour permettre le succès