Table des matières:

Contrôleur de réseau IoT. Partie 9 : IoT, domotique : 10 étapes (avec photos)
Contrôleur de réseau IoT. Partie 9 : IoT, domotique : 10 étapes (avec photos)

Vidéo: Contrôleur de réseau IoT. Partie 9 : IoT, domotique : 10 étapes (avec photos)

Vidéo: Contrôleur de réseau IoT. Partie 9 : IoT, domotique : 10 étapes (avec photos)
Vidéo: La domotique en sans fil : quels protocoles choisir ? 📡 2024, Juillet
Anonim
Contrôleur de réseau IoT. Partie 9: IoT, Domotique
Contrôleur de réseau IoT. Partie 9: IoT, Domotique

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. 1 hors Sonoff 10A ici
  2. 1 régulateur de tension 7805L 5v ici
  3. 1 transformateur 240/6VAC 1.5VA ici
  4. 2 condensateurs céramiques de 0,1 ici
  5. 1 sur condensateur électrolytique 1000uF @25v ici
  6. 1 hors pont redresseur 2W01 ici
  7. 2 résistances 4K7 ici
  8. 1 résistance 330R ici
  9. 1 bouton SPST ici
  10. 1 boîtier ABS Mulitcomp BM12W ici
  11. 1 opto-coupleur TIL111 ici
  12. 1 bornier à 3 voies ici
  13. 1 connecteur molex codé 2 voies ici/ici
  14. 1 connecteur molex codé 3 voies ici/ici
  15. 1 connecteur molex codé à 5 voies ici/ici
  16. 1 broches molex 5 voies ici
  17. 1 sur Winbond SPI Flash (W25Q32FVSIG) ici
  18. 1 porte-fusible de 20 mm + capuchon ici
  19. 1 fusible de 20 mm à fusion rapide de 500 mA ici
  20. 2 presse-étoupes en polyamide ici
  21. 1 prise secteur britannique (BS1363/A) ici
  22. 1 prise principale britannique (BS1363/A) ici
  23. 7 vis en nylon M3 16 mm CS (dont 10 écrous) ici/ici
  24. 2 attaches zippées ici
  25. 1 hors veroboard (pas de 0,1 ") ici
  26. 1 fil de cuivre étamé 22swg de différentes longueurs ici
  27. 1 câble secteur 3M blanc UK ici
  28. 10 sertissages de douille Molex ici

Programmeur Sonoff

  1. 1 régulateur de tension LD33CV 3v3 ici
  2. 1 dissipateur thermique TO-220 ici
  3. 1 hors pâte de dissipateur ici
  4. 1 sur 10uF @16v condensateur électrolytique ici
  5. 1 sur 0,1 condensateur céramique ici
  6. 1 bouton SPDT désactivé ici
  7. 1 résistance 4K7 ici
  8. 1 connecteur molex codé 2 voies ici/ici
  9. 1 connecteur molex codé 3 voies ici/ici
  10. 5 sertissages de douille Molex ici
  11. 1 prise molex 6 voies ici
  12. 1 bouton SPST désactivé ici
  13. 1 prise d'alimentation de 2,1 mm ici
  14. 1 hors veroboard (pas de 0,1 ") ici
  15. 1 adaptateur USB vers série (FTDI) ici

De quel logiciel ai-je besoin ?

  1. Arduino IDE 1.6.9 ici
  2. 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 ?

  1. Fer à souder,
  2. Perceuse et divers forets (y compris la fraise étagée pour les presse-étoupes et le bouton de commande),
  3. Tournevis (divers),
  4. Clés réglables (deux, largeur de mâchoire > 25 mm, pour presse-étoupes),
  5. Fichiers (divers),
  6. Etau robuste,
  7. Pistolet thermique,
  8. DMM (de préférence CAT IV).

De quelles compétences ai-je besoin ?

  1. Une bonne maîtrise de l'électronique et de la sécurité/conception/câblage électrique domestique, etc.,
  2. Connaissance d'Arduino et de son IDE,
  3. Bonnes compétences en fabrication (soudage, limage, perçage etc.),
  4. Un peu de patience,
  5. 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 du circuit
Aperçu du circuit
Aperçu du circuit
Aperçu du circuit
Aperçu du circuit
Aperçu du circuit
Aperçu du circuit
Aperçu 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

Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods
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

Détails de construction et d'assemblage
Détails de construction et d'assemblage
Détails de construction et d'assemblage
Détails de construction et d'assemblage
Détails de construction et d'assemblage
Détails de construction et d'assemblage
Détails de construction et d'assemblage
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

Adaptateur de programmation Sonoff
Adaptateur de programmation Sonoff
Adaptateur de programmation Sonoff
Adaptateur de programmation Sonoff
Adaptateur de programmation Sonoff
Adaptateur de programmation Sonoff
Adaptateur de programmation Sonoff
Adaptateur de programmation Sonoff

Il y a deux aspects à prendre en compte lors de la reprogrammation du Sonoff 10A via l'IDE Arduino;

  1. Configurer votre IDE Arduino pour programmer l'ESP8266,
  2. 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)

  1. Assurez-vous d'abord qu'aucune alimentation secteur externe n'est appliquée au Sonoff,
  2. Appuyez sur le bouton de l'appareil Sonoff et maintenez-le enfoncé. (photo 1 ci-dessus, bouton re-flash marqué),
  3. Appliquez une alimentation DC 3v3 externe à la broche 1. (photo 2 ci-dessus),
  4. Relâchez le bouton Sonoff,
  5. 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,

  1. Appuyez et maintenez le bouton re-flash sur le Sonoff,
  2. Pulsez l'alimentation 3v3 en appuyant momentanément sur S2,
  3. Relâchez le bouton de re-flash,
  4. 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

Présentation du système logiciel
Présentation du système logiciel
Présentation du système logiciel
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ésentation du logiciel
Présentation du logiciel
Présentation du logiciel
Présentation du logiciel
Présentation du logiciel
Présentation du logiciel
Présentation du logiciel
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

Configuration OpenHAB
Configuration OpenHAB
Configuration OpenHAB
Configuration OpenHAB
Configuration OpenHAB
Configuration 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

Image
Image
Test de votre appareil IoT
Test de 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é: