Internet of Things middleware is software that serves as an interface between components of the IoT, making communication possible among elements that would not otherwise be capable. Middleware connects different, often complex and already existing programs that were not originally designed to be connected.
Middleware for IoT is a subject that allows us to discover the basics of communications between machines with two protocols used worldwide, ONEM2M and MQTT and finally the processing of this information via node-red.
It allowed us to master these 3 technologies that we then use in our innovative project. It is thus organized in 3 practical works: ONEM2M, MQTT and node-red, which I will detail quickly via examples. For a more detailed definition of terms and achievements, I invite you to read the reports.
With OneM2M, we need to create AE resources using HTTP request or a client. We fully set access rights to the right users and then fully describe the application.
MQTT, for "Message Queuing Telemetry Transport", is an open source messaging protocol that provides non-permanent communications between devices through the transport of their messages. It is based on a system of publication and subscription via a broker.
Node-RED is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways. It provides a browser-based editor that makes it easy to wire together flows using the wide range of nodes in the palette that can be deployed to its runtime in a single-click.
This section describes the context of the subject, my accomplishments and a summary of the skills I have acquired.
This subject took place during October and lasted 4 sessions of TP plus personal work. I worked in pair with KHALED Walid.
For the realization of these TP, we had at our disposal a nodeCMU ESP8266 card, a push button and a sensor of luminosity. This subject has been evaluated with a report available below.
At first, we used the Postman client to send HTTP requests to create, specify and fill the different entities on OneM2M. We also managed the access restrictions via the ACP. I can note as a constraint on OneM2M, the version of Java which must be in 1.8 and which can thus make conflict with other projects. I can also note the bugs and omissions in the documentation that complicates its installation.
In a second step and with the help of a small Arduino code, we were able to retrieve the information from the sensor and send it via MQTT. It was simply to visualize the exchanged information as a first grip of the protocol.
Finally, I combined the two parts in the same flow node-red which allows to process the received data. It is a simple and efficient solution to interact with these two protocols.
In spite of the problems encountered at the beginning and thanks to the help of my professor, I was able to complete this practical work. I am now comfortable with the use of these technologies.
I now have all the basics to use OneM2M, MQTT and node-red. All these solutions were then used in our innovative project. Moreover, MQTT and node-red are used for the hackathon but also in my personal projects.
This section presents a comprehensive analysis of all the knowledge and skills acquired during this experiences
Know how to situate the main standards for the Internet of Things
Deploy an architecture compliant to an IoT standard and implement a sensor network
Deploy and configure and IoT architecture using OM2M
Interact with the different resources of the architecture using REST services
Integrate a new technology into the deployed architecture