- ¿Qué es la programación OTA?
- ESP8266 NodeMCU
- Componentes requeridos
- Preparación de NodeMCU para recibir la actualización OTA de forma inalámbrica
- ESP8266 Programa LED parpadeante para transferencia OTA
- Parpadeo del LED en ESP8266 a través de la actualización OTA
¿Qué es la programación OTA?
La programación OTA (Over the Air) es un proceso que permite a los dispositivos actualizar su firmware o software de forma inalámbrica sin ningún acceso físico. Utiliza tecnología inalámbrica como Wi-Fi, Bluetooth, GPRS o 4G / 3G en lugar de comunicación en serie por cable. OTA se utiliza para reprogramar los dispositivos como microcontroladores, teléfonos móviles, computadoras, decodificadores, etc. Las actualizaciones de OTA se envían generalmente para actualizar el software, resolver los errores, agregar algunas funciones, etc. Con el uso cada vez mayor de dispositivos de IoT, OTA se transfiere utilizando bandas de frecuencia que tienen una velocidad de transmisión de datos baja (868 MHz, 900 MHz, 2400 MHz).
Aquí, en este tutorial, enviaremos una actualización OTA a ESP8266 NodeMCU para que parpadee un LED.
ESP8266 NodeMCU
NodeMCU es una plataforma IoT de código abierto. Incluye firmware que se ejecuta en el SoC Wi-Fi ESP8266 habilitado para Wi-Fi de bajo costo de Espressif Systems, y hardware que se basa en el módulo ESP-12. Tiene pines GPIO, SPI, I2C, ADC, PWM Y UART. Se puede programar con Arduino IDE. NodeMCU a bordo tiene CP2102 IC que proporciona funcionalidad USB a TTL. Para obtener más información sobre ESP8266, consulte otros proyectos basados en ESP8266.
Componentes requeridos
- NodeMCU ESP8266
- Cable micro USB
- IDE de Arduino
Preparación de NodeMCU para recibir la actualización OTA de forma inalámbrica
Primero conecte el NodeMCU ESP8266 con la PC usando un cable micro USB. Luego, para cargar el firmware usando OTA, necesitamos cargar el boceto en serie usando micro USB para generar la dirección IP de ESP. Este es el paso necesario para cargar el firmware de forma inalámbrica la próxima vez. Seleccione el puerto serie al que está conectado el cable desde Herramientas -> Puerto .
ESP8266 viene con bibliotecas y ejemplos a los que se puede acceder directamente desde Arduino IDE. Abra Arduino IDE y luego abra el ejemplo de BasicOTA.
Edite el boceto reemplazando "su-ssid" y "su-contraseña" por su SSID y contraseña de Wi-Fi y luego cargue el boceto
Abra el monitor en serie después de cargar el programa con éxito. Configure la velocidad en baudios de 115200 en el monitor serial y presione el botón Reset en NodeMCU ESP8266. Conectar NodeMCU ESP8266 con Wi-Fi lleva algún tiempo, ya que verifica las credenciales de Wi-Fi. Si el SSID y la contraseña son correctos, NodeMCU ESP8266 se conectará a Wi-Fi y la dirección IP del ESP se mostrará en el monitor en serie.
ESP8266 Programa LED parpadeante para transferencia OTA
El código completo para transferir el programa LED parpadeante a través de OTA se da al final, aquí explicamos una parte importante del código.
Importar las bibliotecas necesarias es el primer paso para escribir el código. La biblioteca ESP8266WiFi.h proporciona las rutinas Wi-Fi específicas de ESP8266 necesarias para conectarse a una red. También proporciona métodos y propiedades para operar ESP8266 en modo de estación o en modo de punto de acceso suave. ESP8266mDNS.h permite que Sketch responda a consultas DNS de multidifusión.
#incluir
Defina variables para SSID y contraseña de la red Wi-Fi a la que se conectará ESP. Tenemos que conectar nuestra PC y ESP a la misma red Wi-Fi.
#ifndef STASSID #define STASSID "tu-ssid" #define STAPSK "tu-contraseña" #endif const char * ssid = STASSID; const char * contraseña = STAPSK;
ESP8266 está configurado como modo de estación y la conexión Wi-Fi se inicia dando credenciales. El ESP tarda un tiempo en conectarse al módulo Wi-Fi. Si el SSID y la contraseña son correctos, se conecta a Wi-Fi y si el SSID y la contraseña no son correctos, se reiniciará cada 1 segundo.
Serial.begin (115200); // Establezca la velocidad en baudios en 115200 Serial.println ("Arranque"); // Paso para conectar ESP con el modo Wi-Fi WiFi.mode (WIFI_STA); // Establecer ESP como modo de estación WiFi.begin (ssid, contraseña); // Credenciales de Wi-Fi mientras (WiFi.waitForConnectResult ()! = WL_CONNECTED) // Conectar ESP a wi-fi lleva algo de tiempo, así que espere hasta que se conecte { Serial.println ("¡La conexión falló! Reiniciando…"); retraso (1000); ESP.restart (); }
La dirección IP del ESP está impresa en el monitor en serie como si se conecta al módulo Wi-Fi. WiFi.localIP () proporciona la dirección IP de ESP.
Después de cargar el código, abra con éxito el monitor serial a 115200 Baud Rate. Presione el botón de reinicio y después de unos segundos podrá ver la dirección IP de ESP en el monitor serial. Ahora podrá cargar el firmware de forma inalámbrica.
Parpadeo del LED en ESP8266 a través de la actualización OTA
Antes de cargar el siguiente boceto, vaya a Herramientas y cambie PORT a la dirección IP ESP para cargar el firmware de forma inalámbrica al NodeMCU.
Ahora cargue el siguiente esquema del LED parpadeante en NodeMCU de forma inalámbrica usando Arduino IDE y asegúrese de que su PC y ESP estén conectados a la misma red Wi-Fi y ESP esté alimentado por alguna fuente de alimentación.
Después de cargar el código correctamente, el LED de NodeMCU ESP8266 comenzará a parpadear cada 1 segundo. También puede establecer el nombre de host y la contraseña en el boceto por seguridad mientras carga el firmware en el ESP.