viernes, 5 de diciembre de 2014

Controlador, ahora con módulo remoto WIFI.

Hola a todos,

hace unas semanas salió al mercado un módulo WIFI que puede comprarse por unos 4$ en varios sitios de ventas por internet. Se trata del ESP8266 de Espressif Systems 

Inmediatamente me puse a trabajar con este módulo y a sustituir los módulos remotos de radio por módulos remotos WiFi. Después de una dura pelea con el modulito (la información técnica es todavía incompleta) y mis módulos de prueba son de la primera versión disponible, con algunos defectillos) ya tengo funcionando una versión razonablemente estable del controlador con módulos remotos WiFi.

Este módulo puede funciona como STA, AP o como ambas a la vez.

El módulo se comunica con el microcontrolador por un puerto serie mediante comandos AT. Los comandos AT de que dispone la versión que he probado son limitados pero suficientes para que la comunicación y, a medida que se vayan ampliando, iré ampliando las funciones disponibles.

El sistema está formado, como hasta ahora, por el controlador principal, dotado de una tarjeta Ethernet y, ahora además, con un módulo ESP8266 configurado como AP, con servidor DHCP, al que se conectan los módulos remotos formando una red exclusiva e independiente para el sistema de control. De esta forma no es necesario tocar el router de la casa y, como antes, sólo es necesario configurar el NAT para acceder al controlador desde internet. Este equipo principal, uno por instalación, lo denominamos CONUCO GATEWAY y el acceso a los módulos remotos se hará siempre a través de éste.




El módulo remoto está formado por un Arduino Mini o Nano más un módulo WiFi Esp8266, algo como esto de la izquierda. A cada uno de estos módulos remotos se pueden conectar sondas de temperatura, entradas analógicas y digitales y salidas digitales con o sin relé.

Cada módulo remoto deberá tener una identificación única (ID) dentro de la instalación, un número entre 1 y 255. El sistema se encarga de forma automática de mantener actualizada la correspondencia ID-IP del módulo remoto. La dirección IP del remoto se asigna por DHCP, por lo que puede variar, pero ése problema ya está resuelto. Lo único que hay que conocer es la ID asignada a cada módulo, que, además, puede variarse desde un servicio web en caso necesario. En las próximas versiones del firmware del módulo WiFi, el fabricante ha prometido que la IP podrá ser fija.

Y el esquema tipo de una instalación sería este:


Están disponibles varias funciones para interrogar o configurar los módulos remotos desde internet a través del Gateway, por ejemplo:

http://IPgateway:88/jsonr?nnn    devuelve los valores de las E/S del remoto nnn en formato json
http://IPgateway:88/onrh?nnn$x    pone a 1 el pin x del remoto nnn
http://IPgateway:88/offrh?nnn$x    pone a 0 el pin x del remoto nnn

(...)