Desarrollo: Entes que participan en el proyecto





El proyecto se compone de  2 modulos principales: El router Linksys y la tarjeta del  microcontrolador ATMEGA8

Router Linksys: En el router se  instala una distribución Linux llamada OpenWRT, para posteriormente configurarlo, de tal manera de dejarlo cumpliendo las mismas funciones de redes que realiza cualquier router. Posteriormente se analiza la CPU del router para ver la factibilidad de instalar nuevas aplicaciones al router, como se puede ver en la gráfica.


Fig.1 CPU del Router cumpliendo funciones de redes

Se puede apreciar que la CPU del router aun se puede aprovechar mucho mejor, en consecuencia, es factible que corran más aplicaciones en el router. Se monta un servidor Web sobre el router. La página Web por seguridad exige un username y una password, en la página se  puede configurar el estado "on-off" de un máximo de 8 válvulas y también es capaz de mostrar en un grafico los datos obtenidos a partir del archivo "out", el cual es actualizado cada cierto periodo constante de tiempo por la información provenientes del Conversor análogo digital que envía el micro al Router. Ver fig 3.

Fig2. Configuración de Riego en la pagina Web.

En el router también se ejecuta un programa escrito en c que crea un proceso Unix, este proceso lo que hace básicamente es abrir un Socket TCP/IP para comunicarse con el micro y crear dos hebras:
Una hebra encargada de recibir y escribir en un archivo "out" los datos que envía el micro, los cuales obtuvo del conversor análogo digital, el servidor Web es quién lee constantemente este archivo para graficar la variable en función del tiempo. La segunda hebra esta esperando que le llegue una señal del tipo SIGUSR1, cuando esta señal llegue, la hebra leera los datos en un archivo llamado "configuración" que contiene la información que el usuario configuro en la página Web, posteriormente el programa enviara los nuevos datos al micro para que éste actualice los estados de las válvulas.

La tarjeta del Microcontrolador ATMEGA8: Esta compuesto de un microcontrolador  ATMEGA8,  un Conversor Serial RS232 a Ethernet, un conversor análogo digital (ADC).

Microcontrolador ATMEGA8: Es quien se comunica con el router através del Conversor Serial RS232 a Ethernet. Envía hacia el router los datos de la variable análoga proveniente del conversor análogo digital  para la realización del gráfico en la página Web alojada en el router y también es el encargado de accionar o apagar las válvulas según la recepción de los datos provenientes del Router. Notar que el software instalado en el micro no realiza ninguna función inteligente, no realiza ningún tipo de procesamiento de los datos mas que solo el necesario para el envío y recepción de ellos, el encargado de procesar datos lo realiza el proceso creado por el programa escrito en c.

Fig 3. Datos que obtiene el Conversor Análogo Digital desplegados en la página Web.

Funcionamiento completo

El funcionamiento completo del programa es el siguiente:

Todo comienza cuando el usuario a través de Internet entra a la página Web alojada en el router e ingresa su username y password. Luego selecciona el número de válvulas y el estado "on-off" que estas tendrán según su interés, al momento de guardar los cambios, la página Web escribe en el archivo "configuración" la información de los cambios realizados y ejecuta un script  que lo único que hace es mandarle una señal SIGUSR1 al proceso creado por el programa escrito en c en el Router para avisarle que lea este archivo, la hebra que estaba esperando esta señal lee este archivo y envía al micro los nuevos estados de las válvulas, mientras que la segunda hebra esta recibiendo a una tasa constante de tiempo los datos provenientes del conversor análogo digital, estos datos los escribe en el archivo "out", la pagina Web es quien utiliza este archivo para actualizar el grafico que se despliega en la pagina Web.