BatMP


  • Arquitetura
  • Pantalla de configuración
  • Pantalla de gráficas
  • Interfaz
  • Red de motas
Entidad financiadora: 

Este proyecto es interno y se financia con recursos propios.


Fecha comienzo: 
De Sábado, 1 Enero 2011 hasta Lunes, 26 Septiembre 2016
Estado: 
En ejecución
BAT-Management Platform

BatMP es una pasarela software o middleware destinada a la monitorización y control en edificios a partir de la información obtenida a través de una serie de dispositivos electrónicos.

 

Esta pasarela constituye una arquitectura orientada a servicios que asegura la escalabilidad del sistema y se basa, a su vez, en la especificación OSGi. De esta forma BatMP ofrece una forma bien definida de exposición e invocación de servicios, lo cual facilita la interacción entre diferentes sistemas propios o de terceros.

La pasarela actúa como una plataforma de ejecución de servicios de alto nivel, los cuales estarán centrados principalmente en aplicaciones de control domótico y eficiencia energética y de recursos (climatización, iluminación, seguridad, monitorización, gestión activa de la demanda, etc.). Sin embargo, el diseño será lo suficientemente abierto como para poder soportar otro tipo de aplicaciones.

En la siguiente figura se muestra un ejemplo de una de las aplicaciones desarrollada sobre la plataforma BatMP. En este caso se trata de una aplicación destinada a la monitorización de parámetros procedentes de diversos dispositivos.

batmp01.jpg

Figura 1 Aplicación de “Parameter Monitoring Service”

Además de las diversas aplicaciones comentadas en el párrafo anterior, el sistema es capaz de soportar, de forma transparente para el usuario, diferentes protocolos domóticos, además de ofrecer un API que facilite el desarrollo de los servicios de alto nivel.

El ámbito a controlar por este software se centrará en el entorno residencial y empresarial (pequeñas empresas y oficinas), aunque dejando siempre abierta la posibilidad de poder realizar adaptaciones a otros entornos.

 
Debido a la necesidad creciente de realizar un control remoto de los dispositivos domóticos previamente instalados, así como a la existencia de un gran número de protocolos asociados a las diferentes tecnologías existentes en el mercado y a la necesidad de almacenamiento y estudio de los datos obtenidos para realizar la toma de decisiones, se llevó a cabo el desarrollo de una pasarela central de control cuyo objetivo era el de satisfacer todas estas funcionalidades.
 

Otro de los objetivo de esta pasarela desarrollada por el CeDInt era el de ofrecer un conjunto de APIs para futuros desarrolladores. Por un lado, un API a partir de la cual fuese posible el desarrollo de nuevas aplicaciones y, por otro lado, un API que permita el desarrollo de nuevos drivers o controladores de tecnologías.

De esta forma se pretendía obtener una plataforma de control abierta en la que desarrolladores de todo el mundo puedan añadir tanto sus propias aplicaciones como sus propios controladores permitiendo a los usuarios su utilización para diversos objetivos relacionados con el control de espacios físicos mediante dispositivos electrónicos. 

Todas las pasarelas BatMP se comunican con un servidor central en el que se almacenan las medidas de los diferentes dispositivos electrónicos conectados a dicha pasarela. Las diferentes aplicaciones desarrolladas sobre BatMP accederán directamente a las medidas de un determinado cliente que se encuentran almacenados en el servidor central, de forma que dichas datos puedan ser visualizados y utilizados para, a través de una serie de reglas y/o algoritmos, tomar decisiones inteligentes con respecto a la actuación de los dispositivos previamente comentados.

En la siguiente figura se muestra la estructura de la pasarela BatMP y el servidor central con el que se comunica.

batmp03.jpg

Figura 2 Estructura de BATMP y servidor central

 

El diseño de la plataforma BatMP satisface los siguientes objetivos:

  • Multiprotocolo: El sistema debe ser capaz de interactuar con dispositivos de las diferentes tecnologías domóticas existentes actualmente en el mercado.
  • Orientada a servicios: La pasarela será una plataforma destinada a la ejecución de servicios de alto nivel (climatización, iluminación, etc.), de modo que se abstraigan las capas inferiores relativas a la operatividad del sistema, para la implementación de estos servicios. Un desarrollador de aplicaciones o un usuario de las mismas no necesita conocer qué tecnologías se han utilizado en el desarrollo de la plataforma, esto tiene que ser totalmente transparente para dicho desarrollador o usuario. En la siguiente figura se muestra un ejemplo de servicio o aplicación destinado al usuario final.
batmp04.jpg

Figura 3 Aplicación de “Parameter Monitoring Service”

 
  • Multiplataforma: La pasarela debe ser completamente funcional independientemente del entorno operativo sobre el que se ejecute.
  • Segura: Sólo los usuarios autorizados deben ser capaces de interactuar con el sistema y con sus propios dispositivos/parámetros. Se establecen diferentes perfiles de acceso, garantizando la seguridad de las comunicaciones y de los datos. Los usuarios deben autenticarse de forma segura contra el servidor central para tener acceso a los datos almacenados en él.
  • Diseño extensible: El diseño tanto hardware como software debe tener en consideración la posible aparición de futuros requisitos (nuevas funcionalidades o modificación de las existentes). Estos cambios futuros se deberán poder implementar minimizando el impacto en otras funciones de sistema ya existentes. El modelado del sistema debe facilitar considerablemente el desarrollo de los servicios de alto nivel.
  • Conectividad IP: El sistema ofrecerá conexión mediante el protocolo TCP/IP para el acceso a los servicios y como forma de comunicación de los servicios con otros sistemas remotos, utilizando el paradigma REST como medio para llevar a cabo dicha comunicación.
  • Hot plugging de servicios: El sistema deberá  permitir la incorporación “en caliente” de nuevos servicios  (sin tener que desconectar o reiniciar la plataforma). Al estar basada en la especificación OSGi (especificación que supone la división del sistema en módulos más pequeños llamados bundles que pueden instalarse y desinstalarse en dicho sistema sin necesidad de reiniciar la plataforma), la incorporación de nuevos servicios sin necesidad de desconectar la pasarela es posible.

En la siguiente figura se puede observar la estructura modular de una pasarela BatMP con sus diferentes bundles.

batmp05.jpg

Figura 4 Estructura de BATMP

  • Hot plugging de dispositivos: El sistema deberá  ser capaz de gestionar la conexión de  nuevos dispositivos “en caliente”, es decir, sin tener que desconectar  o reiniciar el sistema. Para ello, si es técnicamente posible, intentará recopilar la mayor cantidad de información de forma autónoma, solicitando únicamente al usuario, aquella que no sea posible recopilarla por sí mismo (localización, usos…)

Tcnologías:

  • Equinox (OSGi): Java jdk6, Maven, JUnit,
  • Ontologías: RDF, OWL,  Jenna, Empire (JPA),
  • Protocolos domoticos: KNX (Calimero), Lonworks, EnOcean, ModBus, COAP + IPSO
  • Protocolos comunicaciones IP: Rest, JSON
  • Interfaces gráficas: HTML5, Javascript, JQuery
  • Herramientas desarrollo: Eclipse, SVN, Hudson, Artifactory, Protegé (ontologías)

Aplicaciones:

  • BatMP-Core: Technology Manager, Model Manager, Application Manager, Gateway Manager…
  • Monitoring Service
  • IBM-MQTT
 
Eficiencia energética - Internet de las cosas