TFG: Diseño, desarrollo e implementación de un sistema de adquisición, almacenamiento y presentación de los datos obtenidos de una red de sensores inalámbricos

El objetivo de este Trabajo Fin de Grado es el diseño e implementación un sistema que adquiera, procese y almacene los datos obtenidos de la WSN y los presente a través de un servidor Web que permita consultar datos en tiempo real y en un histórico, así como envío de parámetros de control, con los que configurar la WSN.

El proyecto se basará en una red de sensores inalámbricos desarrollada de forma simultanea en otro Trabajo Fin de Grado, compuesta por dos tipos de nodos, Prometheus y Boucherot. Los nodos Prometheus se encargarán de medir valores como presencia y temperatura, además de estado de sus baterías, mientras que los Boucherot monitorizarán el consumo de todo dispositivo conectado a ellos. Asimismo, los nodos Boucherot también implementan una serie de actuadores que permiten el encendido y apagado de los aparatos conectados a los mismos. Esta red presenta además una serie de comandos que permiten configurar ciertos parámetros de medida de la red y del estado de sus nodos.

Para la implementación del sistema se ha recurrido a distintas herramientas:

  • Desarrollo de script en Python para adquisición, procesado y almacenamiento en base de datos. Así como el envío de comandos de control a la red inalámbrica. Se han empleado los módulos serial, sqlite3 y pynotify.
  • Desarrollo del servidor Web en Node.js, que sirve paginas con información de la red, información de las medidas en tiempo real y en un histórico, con módulos: socket.io, sqlite3, http-auth entre otros.
  • Diseño de las paginas web que se muestran en el cliente basadas en distintos frameworks como: Bootstrap 3, graficas de HighCharts, y tablas con Datatables y jQuery.

A continuación se muestra una breve descripción de la interfaz del sistema con el usuario, que se realiza a través de una serie de paginas web:

DOMOLabo B105_TrealPágina que muestra dinámicamente las medidas en Tiempo Real tomadas por la WSN

DOMOLabo B105_Hist

Página que muestra Histórico de las medidas tomadas por la WSN

Ambas páginas, constan de una serie de gráficas que muestran las medidas tomadas por la WSN. Cada gráfica agrupa a todos los sensores de un tipo y permite seleccionar los nodos que se desean visualizar en la leyenda. Además permite hacer zoom en la gráfica, bien seleccionando sobre ella o bien pulsando alguno de los botones de la esquina superior izquierda de la gráfica. También es posible exportar datos en distintos formatos, .pdf, .png, .svg, etc. gracias al botón situado en la esquina superior derecha.

DOMOLabo B105_Sensores

Página que muestra información y permite el control de la WSN

Esta pagina consta de una tabla principal donde se muestra información de todos los nodos de la red (identificadores, tipos de sensores presentes, localización del sensor y estado de la batería y de sus actuadores). En la parte inferior de la tabla se encuentra un formulario que permite añadir nuevos sensores al sistema.

En la parte superior de la tabla se presenta un conjunto de botones que permiten el envío de una serie de comandos de control a la red (Relé, Configurar el tiempo que un nodo permanece dormido y en estado activo, actuar sobre el relé y/o los leds, etc.). Estos comandos se envían al nodo AP de la red que se encarga de enviarlos al nodo que corresponda.

También se ha implementado una autenticación de usuarios, para el control de acceso a funciones de configuración de la red y del sistema. Para los usuarios no administradores el aspecto es ligeramente diferente al presentado, ya que las funciones de control están desactivadas y no se permite la incorporación de nuevos sensores al sistema. Sin embargo la tabla es visible y se permite como en el caso anterior consultar e imprimir el estado de la red.

Se ha tenido especial interés en implementar un sistema modular, en el cual la caída de un modulo no imposibilite el normal funcionamiento del resto. Escalable, donde se puedan gestionar múltiples peticiones simultaneas de usuarios con distintos dispositivos y necesidades de consulta. Primando también la versatilidad del sistema respecto a la red de la que se adquieran los datos.

El sistema se ha dimensionado ampliamente para soportar una red con mas de 100 sensores y almacenar datos durante varias décadas, con tiempos de medida de 1 minuto para los sensores.