This project contains the Multi-purpose Binding and Provisioning Platform (MBP), an IoT platform developed for easy binding, provisioning, and management of IoT environments. Furthermore, the MBP enables the simple realization of IoT applications, such as heating, ventilation, air conditioning (HVAC) systems, by allowing users to create rules for the IoT environment, in a straightforward and event-condition-action fashion. The efficient and timely data processing of IoT environments are assured through underlying complex event processing technologies. An Android-based smartphone application that connects to the MBP is provided as the GitHub project MBP2Go.
MBP UI (based on Bootstrap templates)
How to install and use the MBP is explained in the following.
1 Installation
2 Quick Start
3 MBP REST API
The following software components are used in order to set up the MBP: Mosquitto MQTT Broker, mongoDB server, InfluxDB, Java8, Tomcat8, and Maven.
Please run the installation script, which automatically installs the aforementioned software components. Once the installation is completed, the MBP will be available on the URL http://[MBP-Host]:8080/MBP.
Please execute the following steps:
-
Install and start Mosquitto MQTT Broker, mongoDB server, InfluxDB and Tomcat8
-
Create the
MBP.warfile by building the provided maven project$ mvn clean install -
Deploy the MBP application on Tomcat by moving the
MBP.warto the Tomcatwebappsfolder
Once the installation is completed, the MBP will be available on the URL http://[MBP-Host]:8080/MBP.
Please execute the following steps:
-
Install Homebrew,
-
Install Mosquitto MQTT Broker, mongoDB server, InfluxDB, Tomcat8 and Maven.
$ brew install mosquitto
$ brew install mongodb-community
$ brew install influxdb
$ brew install tomcat@8
$ brew install maven -
Start Mosquitto, MongoDB, InfluxDB and Tomcat8.
$ brew services start mosquitto
$ brew services start mongodb-community
$ brew services start influxdb
$ brew services start tomcat@8You can check if all of them have started correctly with:
$ brew services list -
Create the
MBP.warfile by building the provided maven project$ mvn clean install -
Deploy the MBP application on Tomcat by moving the
MBP-0.1.warto the Tomcatwebappsfolder in the path: usr/local/Cellar/tomcat/9.0.10/libexec . -
Restart Tomcat:
$ brew services restart tomcat
Once the installation is completed, the MBP will be available on the URL http://[MBP-Host]:8080/MBP-0.1.
To install the MBP as a docker container, please refer to the GitHub project MBP-Docker. This project includes a ready-to-use setup of the MBP application and its dependencies.
Make sure that Cross-Origin Resource Sharing (CORS) is allowed for all origins. To do that, add the following filter to Tomcat's 'web.xml':
<filter>
<filter-name>CorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CorsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>After a reboot of the hosting system, in order to decrease the restart time that Tomcat takes to make the MBP application available again, it is helpful to adjust the 'java.security' file of the JRE as suggested in this post. Otherwise it may take up to 30 minutes until the MBP can be accessed again. If you are using Linux, the installation script 'install.sh' takes care of this automatically.
To start using the MBP, please click here to see our Quick Start.
A REST API for the registration and management of components in an IoT environment is provided. Furthermore, the deployment of software components onto IoT devices, e.g., operators that extract and send sensor values to the MBP, can be as well realized through the MBP API.
Click here to see the API Reference.
Dies ist ein Forschungsprototyp. Die Haftung für entgangenen Gewinn, Produktionsausfall, Betriebsunterbrechung, entgangene Nutzungen, Verlust von Daten und Informationen, Finanzierungsaufwendungen sowie sonstige Vermögens- und Folgeschäden ist, außer in Fällen von grober Fahrlässigkeit, Vorsatz und Personenschäden, ausgeschlossen.
Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.