Tras ausentarme por motivos de trabajo y estudios, vuelvo tras el puente con ganas y para empezar describiremos el diseño brevemente, ya que para más detalles podeis acceder a las páginas del blog que he añadido que detallan dichos documentos:

Introducción
Diseño

Dicha arquitectura, contará inicialmente con una serie de dispostivos, llamados nodos que recogerán la información y la transmitirán al controlador o nexo. El nexo enviará la información de los nodos al servidor, quien se encargará de comprobarla y almacenarla en la base de datos. Finalmente el cliente podrá interactuar con el servidor por medio de algún dispositivo con conexión a internet.

Ahora describiremos las partes mencionadas de la arquitectura, empezando por la aplicación web, que se basará en el Modelo Vista Controlador, separando los diferentes componentes de una aplicación web, Datos de la aplicación, Interfaz de usuario y lógica de control. Para esto utilizaremos Kumbia PHP, que es un framework para aplicaciones web libres basado en PHP5.

Pasamos a la Red de Sensores, que se compondrá de Nodos repartidos por las habitaciones y que se encargarán de recoger la información por medio de sensores, y según dicha información accionará los dispositivos actuadores que posea para ello, además de enviar la información de dichos sensores y del estado de los actuadores por via inalámbrica. Por último, contarán de una autoconfiguración para que el cliente pueda configurar dichos nodos. Y para terminar los componentes de la Red de Sensores, tenemos tambíen el Controlador, que recibirá la información de los nodos y la comunicará al servidor, además de comunicar a los nodos de las nuevas configuraciones que solicite el usuario. Para los nodos y el controlador usaremos la plataforma Arduino, que nos dá la ventaja de ser open-hardware, añadiendo el bajo coste económico y de consumo. Y para la comunicación nos basaremos en Zigbee, usando los módulos arduino, Xbee, que nos mantiene el bajo consumo energético y nos da un buen alcance y fiabilidad. Para el controlador además usaremos un módulo Ethernet, para la comunicación con el servidor, y para los nodos, usaremos diferentes sensores y actuadores según la demanda o necesidad, como puede ser un Sensor de Movimiento que accionará una bombilla, etc.

En cuanto al Servidor, será el encargado de interactuar con la base de datos, para almacenar, comprobar y recoger la información de la base de datos, además de alojar la aplicación web y según las comprobaciones de los datos anteriores lanzar las alarmas. Para ello, nos basaremos en LAMP, que es el acrónimo de Linux + Apache + My-SQL + PHP. Que son un subconjunto de sistemas libres para una solución global.

Según mencionamos antes, el servidor se realizar una serie de operaciones sobre la base de datos y de interactuar con el Controlador, estas operaciones las realizas una serie de procesos programados para ello, basados en Lenguaje C, lo que nos dá mayor robustabilidad y fiabilidad ya que es un lenguaje más relacionado con la administración de sistemas. El primero de ellos es, Get, que es un Socket encargado de recoger la información enviada del Controlador en formato CSV, y de validarlo, para pasar dicha información al proceso Check, que comprueba que los datos recibidos son coherentes y si lo son llama al proceso Save que se encarga de almacenar dichos datos, y si no son coherentes llamaría al proceso Error, que se encarga de almacenar el error producido y si es de emergencia llamaría al proceso Alarm que se encarga de lanzar la Alarma y de almacenar dicha alarma. Para comprobar que los nodos no dejan de enviar información, tendremos el proceso TimeOut, que si no envían información durante media hora llamaría al proceso Error y haría lo anteriormente mencionado. Y para terminar, el proceso Send, es el encargado de enviar al Controlador la nueva información que quiere el cliente que posean los nodos.

En cuanto a la base de datos, debemos mencionar que es un diseño en 3FN (Tercera Forma Normal) y con ausencia de ciclos, lo que nos dá mayor fiabilidad en cuanto a los datos almacenados.

Bueno pronto tendré la primera versión lista, espero que os agrada.

Un saludo

Fernando

Anuncios