Étape 6: Firmware - ESP8266
On trouvera dans le répertoire esp8266 du référentiel de code source, le firmware pour ce module. Ce code est écrit en C, doit être compilé en utilisant SDK Espressif et XTensa outils GCCet peut être flashé à la puce à l’aide d’esptool et 3, 3V USB to Serial Converter. Il s’agit pas de code d’Arduino.
Le code présenté est construit hors d’un autre Instructable je l’ai écrit précédemment. Encore une fois, je vous encourage à prendre le temps de lire ce guide, car il montre comment faire pour configurer l’environnement de développement, flash la puce et les détails du code en cours d’utilisation ainsi que la façon d’écrire votre propre bibliothèque de PubNub.
Au démarrage, les actions suivantes ont lieu :
- Initialiser les broches e/s et UART
- Se connecter au réseau WiFi
- Se connecter à PubNub
- Activez un récurrent 1 ms minuterie
Le 1ms minuterie peut servir comme une boucle principale, comme il est répété chaque 1ms. C’est ici que nous demander des informations sur l’échelle ou demandent une réinitialisation de l’Atmel ATmega328p. L’implémentation entière du bit-bang I2C est également gérée ici en utilisant différents drapeaux d’État et de définir les lignes d’horloge et de données HI ou LO en conséquence. Après ont lu les deux octets de données représentant les chiffres de l’échelle, les valeurs sont concaténées et utilisés pour générer une chaîne JSON à publier dans la fonction publishMsg() .
Remarquez, les données sont publiées uniquement si c’est nouveau ! Il n’est pas sensé d’envoyer constamment des octets non pertinents ou répétées. Toutefois, un compteur s’assure-t-il qu’au moins un message est publié toutes les quelques minutes, agissant comme un signal de battement de coeur . Vous devrez entrer votre propre PubNub clés et les informations d’identification personnelles de WiFi dans le code source. Ceci est discuté dans le guide de démarrage, j’ai écrit.