ESP8266 es un módulo UART a WiFi que proporciona una solución sencilla para conectar cualquier plataforma de microcontrolador pequeña como Arduino a Internet de forma inalámbrica. Dado que el ESP8266 es súper económico y muy fácil de usar, se ha convertido en una de las plataformas líderes para Internet de las cosas. Puede utilizar comandos AT para conectarse a redes WiFi y abrir conexiones TCP sin ejecutar la pila TCP/IP. También incluye un microcontrolador de 32 bits que se puede programar para actuar como una plataforma integrada independiente conectada a WiFi.
Para comenzar a usar el ESP8266 ESP-01, se recomienda actualizarlo y programarlo con el firmware NodeMCU antes de construir su proyecto. Hasta ahora, hay diferentes variantes de módulos ESP-x disponibles donde x puede ser de 1 a 12. ESP8266 requiere un dispositivo de 3,3 V, no puede tolerar 5 V, así que no lo alimente con 5 voltios. Tenemos que asegurarnos de que el pin CH_PD esté alto, el módulo no dará ninguna respuesta hasta que realice esta conexión. Esto se puede hacer conectando directamente CH_PD a VCC o también puedes usar la resistencia de 3.3K para subir. La corriente nominal de este módulo es de 80 mA en modo inactivo y de 300 mA durante el funcionamiento.
Ingresando al modo flash del firmware:
Para poner el ESP-01 en modo flash de firmware, tenemos que realizar algunos cambios en el estado de los GPIO. El esquema del tablero en orientación SUPERIOR se muestra a continuación.

Fig. 1: Imagen que muestra el diseño de la PCB del módulo ESP-01 ESP8266
Conexiones para modo Flash:
Los detalles de conexión normales son los siguientes:
|
módulo wifi |
USB-TTL
|
|
vcc |
3.3v |
|
tierra |
tierra |
|
Texas |
RX |
|
RX |
Texas |
|
CH_PD |
Conectado a 3,3 V para permitir la inicialización del firmware del chip |
No olvide tirar CH_PD HIGH, no recibirá respuesta del módulo si no lo hace.
Además de las conexiones anteriores. Para ingresar al modo flash del firmware, necesitamos realizar una conexión adicional, la forma más sencilla es utilizar una placa de pruebas para ello.
ESP-01 GPIO0 – Conexión desplegable a GND

Fig. 2: Imagen que muestra las conexiones del circuito entre el módulo ESP8266 y el convertidor FTDI
Cuando reinicies el módulo, ¡debe estar en modo flash de firmware!
Descarga del software:
Ir a
Allí haces clic en el botón “Descargar Zip” a la derecha de la pantalla.
Se descargará un archivo zip con todos los archivos. Extráigalo y el archivo que vamos a flashear es nodemcu_512k_latest.bin , que se encuentra en el directorio nodemcu-firmware-masterpre_build.9.4512k-flash .
Sin embargo, es aún más fácil si descargas el flasher porque contiene el firmware.
Accede y descarga el zip.

Figura 3: Captura de pantalla de la página Github de Nodemcu-Flasher
Elija la versión de 32 o 64 bits según el sistema operativo de su PC y ábrala. Debería abrirse como la imagen que se muestra a continuación.

Fig. 4: captura de pantalla del programador de firmware NodeMCU
En la mayoría de los casos, este programa encontrará el puerto del convertidor USB-TTL automáticamente o desconectará y reinsertará el convertidor USB-TTL. Una vez conectado, haga clic en el botón Flash.

Fig. 5: Captura de pantalla del firmware NodeMCU parpadeando
Espere hasta que finalice el progreso y muestre una marca de verificación verde en la esquina inferior izquierda.

Fig. 6: Captura de pantalla del firmware NodeMCU parpadeando en progreso
Ingrese al modo normal desconectando GPIO0 de GND.
Ahora está listo para programar el ESP8266 para su propia aplicación.
El firmware NodeMCU Lua se comunica con la PC a través del enlace serie. Puede usar PuTTY o cualquier otro programa de terminal para escribir programas Lua o ingresar comandos directos en la placa. La velocidad predeterminada es 9600 baudios, pero se puede cambiar a cualquier otra velocidad en baudios después de establecer la comunicación.
Aquí discutiremos dos software utilizados para cargar programas LUA en el módulo entre muchos de ellos.
LuaLoader
LuaLoader
LuaLoader.exe es una aplicación sencilla de Windows que no requiere instalación especial. Además de ser un programa de terminal sencillo, cuenta con botones de comando integrados que facilitan la interacción y experimentación con la placa ESP8266.
Descargar: LuaLoader.zip
En el menú Configuración , seleccione Configuración del puerto COM y elija el puerto COM apropiado para su adaptador USB a serie.

Figura 7: captura de pantalla de LuaLoader
Al hacer clic en los botones de LuaLoader, se envían comandos al tablero que ya están predeterminados. Enciende tu tablero y observa el mensaje inicial. Debería ver la información de la versión de NodeMCU después de mostrar algunos caracteres divertidos que son parámetros de restablecimiento del firmware enviados a 74880 baudios.
NodeMCU 0.9.5 compilación 20150107 con tecnología Lua 5.1.4
Después de cada reinicio, NodeMCU intentará ejecutar un archivo llamado init.lua en la memoria flash. Dado que este es el primer inicio, informará un error y mostrará el mensaje . Esto muestra que el módulo ahora está listo para interactuar.

Figura 8: Captura de pantalla de LuaLoader ejecutando init.lua
Para obtener información sobre la cantidad de RAM disponible, haga clic en el botón Apilar . LuaLoader escribirá el comando = node.heap y el ESP8266 responderá con 21888 o algún otro valor, seguido del mensaje > nuevamente.

Fig. 9: Captura de pantalla para obtener información sobre la cantidad de RAM disponible en LUAloader
Haga clic en el botón Encuesta para enumerar los puntos de acceso disponibles visibles para el ESP8266. Se muestran el SSID, el modo de autenticación, la intensidad de la señal, la dirección MAC y el canal.
Conexión a un punto de acceso:
Ingrese el SSID y la contraseña de su punto de acceso más cercano en el cuadro de texto correspondiente en LuaLoader. Haga clic en Establecer AP . LuaLoader enviará los comandos para configurar el modo WiFi y conectarse a él.

Fig. 10: Captura de pantalla de conexión a un punto de acceso en LuaLoader
clickea en el Botón WiFi para verificar el estado de la conexión. Haga clic en Obtener IP para confirmar si el ESP8266 está conectado a su punto de acceso.

Figura 11: Captura de pantalla obteniendo IP en LuaLoader para confirmar la conexión con el módulo ESP8266
Todos los comandos ingresados al hacer clic en los botones de LuaLoader también se pueden ingresar manualmente o guardar en un archivo para ejecutarse automáticamente.
Aquí está el video del firmware NodeMCU flasheando en Esp8266 usando Windows