BatMP


  • Arquitecture
  • Configuration Screen
  • Graphics Screen
  • Interface
  • Mote Network
Funding Entity: 

Thisis an internal project and is fully funded by CeDInt.


Start Date: 
Saturday, 1 January 2011 to Monday, 26 September 2016
Stage: 
Ongoing
BAT-Management Platform

BatMP is a software platform or middleware designed for the monitoring and management of buildings through the data obtained from electronic devices.

 
This gateway establishes a services oriented architecture which assures the system’s scalability and follows the OSGi specification. This way, BatMP offers a simple and well defined method to expose and invoke these services, which makes the interaction between different propietary systems or third parties easier.
This platform acts as a high level service execution environment. These services will focus on home automation, energy efficiency and resource efficiency applications (climate control, lighting, security, monitoring, demand response, etc.). However, its design will be open enough so it can be used by any kind of applications. 
An example of one of the applications developed over BatMP is shown the next figure. It shows a monitoring application in which parameters from different devices can be observed and compared.
batmp01.jpg
Figure 1 “Parameter Monitoring Service” application
 
In addition to the set of applications, which have been previously mentioned, the system can support several home automation protocols, in a manner that is transparent to its users. BatMP also offers an API which makes the development of high level services easier. 
The scope of this software will be focused on the residential and business environment (small businesses and offices) although it would always be possible its usage in a different environment. 
 

Due to the increasing necessity of a remote monitoring and management of previously installed home automation devices, to the existence of a large number of protocols associated to the existing technologies and to the necessity of storage and data analysis to make decisions with respect to these devices, a new management gateway was developed. Its aim was to fulfill all of these functionalities.

One of the aims of this Gateway developed by CeDInt is to offer a set of APIs so future developers could use these APIs to create different kinds of applications which can run on this platform and several drivers for the existing or new technologies. The final goal of this open platform was that developers around the world could add their own drivers and applications allowing users to use them with different aims related to the control of physical spaces through electronic devices.

Every BatMP gateway is connected with a central server where all the measures from the electronic devices connected to this gateway are stored. The applications developed over BatMP will have access to the measurements of a certain client which are store don the central server, so these data can be visualized and used to make intelligent decisions, through a series of rules or algorithms, with respect to the way those electronic devices act. In the next figure the structure of BatMP gateway and the central server is shown.

batmp03.jpg

Figure 2 BATMP and central server structure

 

The design of the platform BatMP satisfies the following objetives:

  • Multiprotocol: The system must be able to interact with devices from the different home automation technologies which have been released in the market.

  • Service Oriented: This gateway will be a platform where high level services will be executed (climate control, lighting, etc.). This way the lower layers related to the operating capacity of the system will be transparent for the developer who is going to develop these services. An application developer or user does not need to know which technologies have been used in the development of this platform so it has to be completely transparent for them. 

In the next figure a service or application example is shown.

 
batmp04.jpg
Figure 3 “Parameter Monitoring Service” application
 
  • Multiplatform: The gateway must be completely functional in any operating system where it can be executed.

  • Secure: Only the authorized users must be allowed to interact with the system and their own devices and/or parameters. There are several access profiles established, so the data security and communication security can be guaranteed. Users must authenticate themselves in a secure way against the central server so they can have Access to the data which are stored there. 

  • Extensible design: Not only the hardware design, but also the software design must take into account that in the future new requirements may appear (new functionalities or modifications over them). These future requirements should be able to be implemented with the minimum impact on the rest of the system functions. The system model should ease the development of high level services.

  • IP Connectivity: The system will use the protocol TCP/IP to allow Access to the services and as a way of communication between different remote systems. It will also use the software architecture style REST as a means to perform that communication. 

  • Hot plugging of services: The system must be able to install remotely, start, stop, update, and uninstall new services without requiring a reboot. To be able to fullfill all these requirements, the system must be based on OSGi. Using this specification the system is divided in smaller modules called bundles which can be installed and uninstalled without rebooting the gateway.  

  • In the next figure the modular structure of a platform BatMP and all its modules can be observed.

batmp05.jpg

Figure 4 BATMP Structure
 
  • Hot plugging of devices: The system must be able to manage the connection of new devices without rebooting or disconnecting the gateway. To fulfill this requirement, the system will get as much information as it can and will only ask to the user the data which it cannot get independently (location, uses, …)

 

Technologies:

  • Framework: Equinox (OSGi), Java jdk6, Maven, JUnit,
  • Ontologies: RDF, OWL,  Jenna, Empire (JPA),
  • Home Automation Technologies: KNX (Calimero), Lonworks, EnOcean, ModBus, COAP + IPSO
  • IP-based communication protocols: Rest, JSON
  • Graphic interfaces: HTML5, Javascript, JQuery
  • Software development tools: Eclipse, SVN, Hudson, Artifactory, Protegé (ontologíes)

Applications:

  • BatMP-Core: Technology Manager, Model Manager, Application Manager, Gateway Manager…
  • Monitoring Service
  • IBM-MQTT
 
Energy Efficiency - Internet of things