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.