Para poder establecer una configuración de WiFi persistente con una IP fija en un ESP8266 con ATfirmware para empezar deberemos conectar nuestros ESP8266 con algún otro microcontrolador que será quien le dará las ordenes AT, en nuestro caso tenemos un post explicando como conectar el ESP8266 a un Arduino Mega o a un Arduino UNO.
Tras instalar WiFiEspAT en nuestro Arduino IDE abriremos el código de ejemplo llamado “SetupPersistentWifiConnection”, que ya viene preparado para poder subir una configuración de red al ESP8266, se puede encontrar en la sección de ejemplos de la librería WiFiEspAT (si no tienes esta librería aquí te explicamos como descargártela).
Si abrimos el programa de ejemplo veremos que tiene dos pestañas, la principal que contienen el propio nombre del programa y otra que su nombre es arduino_secrets.h, en esta ultima es donde nos pide el nombre de nuestra red Wifi y el password correspondiente.
Una vez rellenados estos dos campos volvemos al código principal. Si queremos que la IP del dispositivo la asigne el DHCP del router, el siguiente paso lo ignoramos. En caso de que prefiramos la asignación manual de la IP, deberemos des-comentar una parte donde deberemos especificar la IP, la Gateway y la Mascara de subred que sean validos para nuestra red. Dejo una imagen de referencia del punto del programa en el que hacemos referencia.
Unas líneas por debajo hay otra parte comentada con la que le podemos configurar que solo se conecte a una MAC en particular, con eso conseguimos que nuestro microcontrolador solo se pueda conectar a un router o acces point a pesar de que varios estén emitiendo el mismo SSID. No es necesario pero se puede añadir a la configuración. Hacemos referencia a las siguientes líneas del código:
Con las siguientes configuraciones completadas solo quedara compilar el programa y subirlo a nuestro Arduino para que se lo comunique al ESP8266.
Una vez veamos el mensaje de “Connected to WiFi network” en el monitor serie querrá decir que nuestra WiFi persistente ha sido correctamente configurada en AT Firmware
En el caso de que no se pueda conectar el Arduino con el ESP8266 dejamos algunas entradas que pueden servir de ayuda!