- Qu'est-ce que la programmation OTA?
- ESP8266 NodeMCU
- Composants requis
- Préparation de NodeMCU pour recevoir la mise à jour OTA sans fil
- ESP8266 Programme LED clignotant pour transfert OTA
- Clignotement de la LED sur ESP8266 via la mise à jour OTA
Qu'est-ce que la programmation OTA?
La programmation OTA (Over the Air) est un processus qui permet aux appareils de mettre à niveau leur micrologiciel ou logiciel sans fil sans aucun accès physique. Il utilise une technologie sans fil comme le Wi-Fi, Bluetooth, GPRS ou 4G / 3G plutôt que la communication série filaire. OTA est utilisé pour reprogrammer les appareils tels que les microcontrôleurs, les téléphones portables, les ordinateurs, les décodeurs, etc. Les mises à jour OTA sont généralement envoyées pour mettre à jour le logiciel, résoudre les bogues, ajouter certaines fonctionnalités, etc. bandes de fréquences à faible débit de transmission de données (868 MHz, 900 MHz, 2400 MHz).
Ici, dans ce tutoriel, nous enverrons une mise à jour OTA à ESP8266 NodeMCU pour faire clignoter une LED.
ESP8266 NodeMCU
NodeMCU est une plateforme IoT open source. Il comprend un micrologiciel qui fonctionne sur le SoC Wi-Fi ESP8266 Wi-Fi à faible coût d'Espressif Systems, et du matériel basé sur le module ESP-12. Il a des broches GPIO, SPI, I2C, ADC, PWM et UART. Il peut être programmé avec Arduino IDE. À bord NodeMCU a CP2102 IC qui fournit la fonctionnalité USB vers TTL. Pour en savoir plus sur ESP8266, consultez les autres projets basés sur ESP8266.
Composants requis
- NodeMCU ESP8266
- Câble micro USB
- IDE Arduino
Préparation de NodeMCU pour recevoir la mise à jour OTA sans fil
Connectez d'abord le NodeMCU ESP8266 au PC à l'aide d'un câble micro USB. Ensuite, pour télécharger le micrologiciel en utilisant OTA, nous devons télécharger le croquis en série à l'aide de micro USB pour générer l'adresse IP ESP. Il s'agit de l'étape nécessaire pour télécharger le micrologiciel sans fil la prochaine fois. Sélectionnez le port série auquel le câble est connecté dans Outils -> Port .
ESP8266 est livré avec des bibliothèques et des exemples accessibles directement depuis Arduino IDE. Ouvrez Arduino IDE, puis ouvrez l'exemple BasicOTA.
Modifiez le croquis en remplaçant "votre-ssid" et "votre-mot de passe" par votre SSID Wi-Fi et votre mot de passe, puis téléchargez le croquis
Ouvrez le moniteur série après avoir téléchargé le programme avec succès. Réglez le débit en bauds de 115200 sur Serial Monitor et appuyez sur le bouton Reset sur NodeMCU ESP8266. La connexion de NodeMCU ESP8266 au Wi-Fi prend un certain temps car elle vérifie les informations d'identification Wi-Fi. Si le SSID et le mot de passe sont corrects, NodeMCU ESP8266 se connecte au Wi-Fi et l'adresse IP de l'ESP s'affiche sur le moniteur série.
ESP8266 Programme LED clignotant pour transfert OTA
Le code complet pour transférer le programme LED clignotant via OTA est donné à la fin, nous expliquons ici une partie importante du code.
L'importation des bibliothèques requises est la première étape de l'écriture du code. La bibliothèque ESP8266WiFi.h fournit des routines Wi-Fi spécifiques à ESP8266 nécessaires pour se connecter à un réseau. Il fournit également des méthodes et des propriétés pour faire fonctionner l'ESP8266 en mode station ou en mode point d'accès logiciel. ESP8266mDNS.h permet à sketch de répondre aux requêtes DNS multicast.
#comprendre
Définissez des variables pour le SSID et le mot de passe du réseau Wi-Fi auquel ESP doit être connecté. Nous devons connecter notre PC et ESP au même réseau Wi-Fi.
#ifndef STASSID #define STASSID "votre-ssid" #define STAPSK "votre-mot de passe" #endif const char * ssid = STASSID; const char * mot de passe = STAPSK;
ESP8266 est défini comme mode station et la connexion Wi-Fi est initiée en donnant des informations d'identification. Il faut un certain temps à ESP pour se connecter au module Wi-Fi. Si le SSID et le mot de passe sont corrects, il se connecte au Wi-Fi et si le SSID et le mot de passe ne sont pas corrects, il redémarrera toutes les 1 seconde.
Serial.begin (115200); // Définit le débit en bauds sur 115200 Serial.println ("Booting"); // Étape pour connecter ESP avec le Wi-Fi WiFi.mode (WIFI_STA); // Définit ESP comme mode station WiFi.begin (ssid, mot de passe); // Informations d' identification Wi-Fi while (WiFi.waitForConnectResult ()! = WL_CONNECTED) // La connexion de l'ESP au Wi-Fi prend un certain temps, alors attendez qu'il se connecte { Serial.println ("Connection Failed! Rebooting…"); retard (1000); ESP.restart (); }
L'adresse IP de l'ESP est imprimée sur le moniteur série comme connexion au module Wi-Fi. WiFi.localIP () donne l'adresse IP de l'ESP.
Après avoir téléchargé le code avec succès, ouvrez le moniteur série à 115200 Baud Rate. Appuyez sur le bouton de réinitialisation et après quelques secondes, vous pourrez voir l'adresse IP ESP sur le moniteur série. Vous pourrez maintenant télécharger le micrologiciel sans fil.
Clignotement de la LED sur ESP8266 via la mise à jour OTA
Avant de télécharger le prochain croquis, allez dans Outils et changez PORT en adresse IP ESP pour télécharger le micrologiciel sans fil sur le NodeMCU.
Maintenant, téléchargez le croquis ci-dessous de la LED clignotante sur NodeMCU sans fil à l'aide d'Arduino IDE et assurez-vous que votre PC et ESP sont connectés au même réseau Wi-Fi et que l'ESP est alimenté par une source d'alimentation.
Après avoir téléchargé le code avec succès, le voyant du NodeMCU ESP8266 commencera à clignoter toutes les 1 seconde. Vous pouvez également définir le nom d'hôte et le mot de passe dans l'esquisse pour des raisons de sécurité lors du téléchargement du micrologiciel sur ESP.