NodeMCU ESP8266, ESP-12E funcionando como servidor web. Monitoreo remoto de temperatura Anywhere, desde el móvil ó PC. Arduino IDE.
Figura 1: protoboards con el módulo ESP-12E conectado al sensor de temperatura DS18B20. Pruebas de telemetría "Anywhere" desde el móvil, utilizando una dirección URL fija. El módulo ESP-12E funciona como servidor Web, enviando al móvil la información de las mediciones.
Figura 2: diagrama de bloques del monitoreo remoto Anywhere desde móvil. Su utiliza un servidor DDNS para obtener una dirección URL fija, ya que la IP del router se modifica en forma constante.
Figura 3: diagrama de conexiones del módulo ESP-12E y el sensor de temperatura DS18B20 para pruebas del monitoreo remoto. Se utiliza la salida D2 (GPIO4) para la comunicación con el protocolo "Onewire" entre el NodeMCU y el sensor DS18B20. La alimentación del circuito se realiza usando un eliminador de 5 volts, a través del conector Micro USB del módulo.
Descripción general: El novedoso microcontrolador NodeMCU, en su versión ESP8266, ESP-12E incorpora conectividad Wifi, a la vez que el protocolo TCP/IP, lo cual le permite comunicarse a través de la red internet y funcionar como servidor web. En este proyecto, el NodeMCU se habilita como un servidor web, el cual -haciendo uso del servicio DDNS- envía al cliente TCP-IP una pantalla con la medición de temperatura proporcionada por el sensor DS18B20 cada 10 segundos. De esta manera, desde una computadora ó un móvil, puede accesarse al servidor como se muestra en la figura 1. El monitoreo puede realizarse "Anywhere", término que se refiere a la posibilidad de hacerlo desde cualquier lugar, ya sea por medio de datos móviles en el caso de un smartphone, ó de Wifi en caso de una PC. Una vez programado, el microcontrolador puede funcionar "stand alone" y alimentarse desde un eliminador, como se muestra en el diagrama de la figura 3. En la figura 1 se muestra el diagrama de bloques del sistema. El NodeMCU ESP32 requiere de un router cercano (digamos a unos 3 metros) con comunicación Wifi, para tener el acceso a internet, ya sea enviando ó recibiendo información del dispositivo remoto, que puede ser un móvil ó una computadora PC. Las pruebas realizadas en este proyecto se realizaron utilizando el router Telmex fibra óptica de la marca Alcatel Lucent, modelo 1-240W-A. Por favor considere que si usted tiene un router de otra marca ó modelo, requerirá de una configuración distinta a la que aquí describiremos. La comunicación entre el módulo ESP-12E y el sensor DS18B20 para leer las mediciones de temperatura, se realiza a través del pin D2 (GPIO4) y por medio del protocolo conocido como "Onewire", como se muestra en la figura 3. Instrucciones para realizar el proyecto: PASO 1: realice el alambrado de los circuitos mostrados en el diagrama de la Figura 3. El sensor de temperatura DS18B20 se conecta al pin D2, que corresponde a GPIO4. La alimentación del circuito se realiza por medio del cable Micro USB. PASO 2: por favor siga las instrucciones del MANUAL-BASICO-NODEMCU-ESP-12E-ARDUINO.pdf, el cual también incluye la prueba de un programa para encender y apagar el led azul onboard del ESP8266 y operar el botón de prueba. PASO 3: configurar el router y dar de alta el servicio DDNS. Aquí encontrará el instructivo para configurar el router Telmex fibra óptica de la marca Alcatel Lucent, modelo 1-240W-A. Por favor considere que si usted tiene un router de otra marca ó modelo, requerirá de una configuración distinta a la que aquí describimos. PASO 4: en una carpeta nueva, almacene el archivo fuente y las librerías que se proporcionan abajo. El nombre de la carpeta debe ser el mismo que el nombre del archivo fuente, para evitar mensajes de error en el IDE Arduino. Programa fuente y librerías:
ESP-12E-WEBSERVER-DS18B20.ino
PASO 5: abra el archivo fuente y observará la siguiente pantalla (Figura 4). Aquí debe escribir en las 3 líneas indicadas, el nombre de la red, el password (generalmente ambos datos están escritos en el router) y -en la línea 42- el número del puerto, que en este ejemplo es 2027, pero el cual se obtiene de la configuración del router realizado en el paso 3. Estos datos son necesarios, primeramente para que el microcontrolador pueda conectarse por Wifi como parte de la red local y posteriormente para que -desde un móvil- pueda accesarse el NodeMCU, el cual tendrá una dirección URL fija y estará funcionando como servidor web.
Figura 4: modificar los datos en el programa fuente, en las líneas 38, 39 y 42
PASO 6: antes de compilar, es necesario incluir las librerías .zip del proyecto. Elija las opciones "Programa", "Incluir Librería", "Añadir Biblioteca" para añadir dichas librerías, una a una. Estas librerías son descomprimidas por el IDE y almacenadas en una nuevo directorio llamado "libraries", el cual se incluye en la carpeta del proyecto. PASO 7: Una vez modificados los datos en las líneas indicadas en la Figura 4, con la opción "Programa", "Subir", compile y transfiera el programa al microcontrolador. El programa cargado en el NodeMCU ESP-12E funciona en Autorun y se ejecuta al encenderlo ó al oprimir el botón de reset. PASO 8: Haciendo uso de un móvil, deshabilite primeramente el WiFi. Enseguida, desde el navegador Chrome, escriba la dirección URL fija obtenida por el servicio DDNS y el puerto seleccionado al configurar el router en el PASO 3 como se muestra en la figura 1. Por ejemplo: www.planetearth.net:2026 En su navegador deberá recibir en la pantalla la respuesta del NodeMCU con los resultados de la medición de la temperatura, como se muestra en la figura 1. La prueba la puede realizar desde cualquier lugar, dado que la comunicación se realiza a través de la red internet. Puede también hacerlo con cualquier computadora PC, escribiendo la dirección URL fija y usando cualquier navegador.
Información adicional para trabajar con NodeMCU ESP8266, ESP-12E: MANUAL-BASICO-NODEMCU-ESP-12E-ARDUINO.pdf
Otros proyectos con ESP8266: Ir al proyecto control remoto Anywhere de servidores NodeMCU ESP-12E. NODEMCU-ESP8266-ESP-12E-LEER-SENSOR-DE-TEMPERATURA-DIGITAL-DS18B20 NODEMCU-ESP8266-ESP-12E-ESCRIBIR-EN-DISPLAY-OLED-SSD1306 Proyecto de control remoto del giro de motor de pasos con NodeMCU ESP8266 ESP-12E
Proyectos con versión ESP-01: Proyecto internet of things IoT. Servidor Web mediante el ESP8266 Modulo-ESP8266-WiFi-con-puerto-serial-RS232 Servidor de internet WiFi TCP-IP microcontrolador Bolt-ESP8266
|