Étape 2: Software Overview
Préambule
Pour compiler 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 aux sujets MQTT avec un courtier de donnée
- À partir de : https://github.com/knolleary/pubsubclient
Bounce2.h :
- Par : Thomas O Fredericks
- But : Commutateur entrée de rebondir dans le logiciel
- À partir de : https://github.com/thomasfredericks
ESP8266WiFi.h
- Par : Jonas Ekstrand
- But : Contrôle de connexion WiFi
- À partir de : https://github.com/ekstrand/ESP8266wifi
Tous les détails aussi donnés dans le code source ci-dessous.
Vous aurez aussi besoin de savoir ;
- L’adresse IP de votre courtier MQTT (au format AAA de l’IPv4. BBB. CCC. DDD): MQTT_SERVER
- Votre réseau WiFi SSID : ssid
- Le mot de passe pour votre réseau Wifi : mot de passe
Vue d’ensemble du code
Au démarrage, le logiciel se connecte au réseau WiFi en utilisant les coordonnées de connexion préalable fournie ci-dessus.
Une fois connecté à un réseau local WiFi l’appareil ITO publiera ses détails sur le thème MQTT ;
- /WiFiDevice/SwVerConfirm : Ce dernier contient un concaténée chaîne, virgules, formée par le nom du périphérique générique, unique adresse MAC du périphérique et le nom du fichier Arduino utilisé pour programmer l’appareil. dans ce cas, « esp8266,18:fe:34:9f:95:9a,ESP8266Proto3.ino ». Notez ici que la réponse est dynamique et seulement connu une fois que l’appareil a été mis sous tension et lire l’adresse MAC spécifique à elle.
puis, il s’abonne aux sujets suivants MQTT ;
- /WiFiDevice/SwVerCommand : Lorsque la notification est reçue à ce sujet l’appareil répondra avec une publication de /WiFiDevice/SwVerConfirm . Il s’agit d’une réponse de diffusion . C’est à dire. tous les appareils pourraient répondre.
- /WiFiDevice/18:fe:34:9f:95:9a / SwVerCommand : lorsque la notification est reçue de ce sujet, l’appareil répond par une publication /WiFiDevice/SwVerConfirm . Il s’agit d’une réponse ciblée . C’est à dire. seulement cet appareil répondra.
- /WiFiDevice/Button1Status : Lorsque la notification est reçue à ce sujet l’appareil répondra en publiant l’état de bouton actuel via un /WiFiDevice/Button1Command rubrique 'Pressed' ou 'Produit'. De cette façon, l’état du bouton peut être vérifiée à tout moment. Notez également si l’état du bouton change indépendamment, via un bouton, puis l’appareil va automatiquement publier un sujet /WiFiDevice/Button1Command .
- /WiFiDevice/Led1Command : Lorsque la notification est reçue de ce sujet, l’appareil a conduit sortie est définie en conséquence. Charge utile « 1 » = Led allumée, charge utile « 0 » = Led off. Une fois qu’une commande a été mises en œuvre le dispositif répondra en publiant l’état du voyant via la rubrique de /WiFiDevice/Led1Confirm 'On' ou 'Off'
Une fois terminé le logiciel maintenant dans une boucle de contrôle des connexions WiFi et courtier ainsi que tout changement de boutons drops États ou nouvelles publications.