“IoT”: an acronym which is being frequently mentioned in tech conferences, innovation fairs, scientific reports and also in the common media news. IoT is on the agenda of the digital transformation that our world and society has been experiencing over the last few years (and it’s only the beginning). So before deepening into some of the core concepts of this technology, let’s begin with a clear definition of what IoT means.
IoT stands for Internet of Things, and it refers to a global network infrastructure based on standard communication protocols, where physical and virtual things have an identity and attributes and are perfectly integrated in the information network. When we talk about things, we refer to any device: sensors, appliances, computers or even clothes… (as denoted in Figure 1) The only condition is that the device must be connected to another device to send or receive information. This kind of interaction between devices is known as an M2M connection (Machine to Machine).
The Internet has evolved rapidly and this has made the IoT a reality and not just a vision for the future. The popularity of this technology lies mainly in all the applications and possibilities it provides both to improve people’s daily lives and in business environments.
An IoT network is mainly composed by 3 layers as it is shown in Figure 2:
- Sensors & controllers: devices (or things) that send collected data to the internet or receive information to perform an action. They are normally simple devices, designed specifically for its purpose, with cost and energy consumption constraints. But, as it was stated in the introduction, any device with M2M connectivity could be included.
- Gateways: devices which act as a bridge between the sensors and the internet. They channel the data from the sensors & controllers and perform any communication protocol transformation needed to get the information to the IoT platform. There are so many different types of gateways, as there is a wide range of communication technologies for IoT devices: a WiFi router, a Raspberry Pi, a SCADA system, a ZigBee receiver…
- Internet: it’s where the IoT platform resides and final destination of the information. It’s a software which acts as a devices hub, where multiple operations can be performed on them. More on that in the following paragraphs.
IoT Platform features
As the title states, this article deepens on the features the software of an IoT platform should have. There are many different options on how to implement this kind of platforms, but this section will point out some good recommendations for its deployment.
First of all, as it was explained in the beginning of the present article, IoT implies massive connectivity between devices. To obtain that, the IoT platform should be easily accessible for both gateways and users. By hosting the platform’s software in the cloud, devices placed in many different locations can all reach the endpoint by simply having internet connection in some way. Apart from that, cloud computing allows a great scalability in terms of device management, as both storage and performance can be easily increased. This is very necessary in the IoT framework, as the number of connected devices never stops growing.
As the IoT devices market diversifies its offer, the IoT platform must have flexibility for accepting almost any device we want to add to the network. We can get this by assuring that the platform can communicate with a wide range of protocols and implementing an API for all these protocols.
In terms of protocols, it should implement at least the most common ones used nowadays in the IoT industry:
- MQTT: it’s one of the most suited protocols for IoT, as it consumes few resources (both bandwidth and energy wise) and it is simple to implement. It uses a publish-subscribe pattern: a device publishes a message to a topic (like a PC folder), and all the clients subscribed to this topic will receive the published message. The broker is the server who manages all the publications and subscriptions, and acts as a hub between clients, as shown in Figure 3.
- HTTP: it is the most widely used protocol for data and resources exchange on the internet. It uses a client-server communications model: the client executes a request, and the server responds. This means that all the requests are initiated by the client. In the IoT world, the client is normally the device, who executes a POST request to the IoT platform (who is the server) and sends the desired data.
- CoAP: it is a specialized web transfer protocol for use with constrained nodes and constrained networks in the IoT. It functions as a sort of HTTP for devices with limitations in terms of energy consumption and bandwidth. It’s not as popular as the previous protocols, but surely it will gain more market share in the next years as it has been specifically developed for IoT devices, like MQTT.
As stated before, all these protocols should be backed up by an API (Application Programming Interface) which implements a path for each operation a device or a user can perform. The clearest example, for example, is the path where the device has to post the data. In this case, the API will process the data accordingly to store it in its database for further visualization and analysis. Other operations that the API should contemplate could be telemetry deletion, devices addition to the network, alarms compilation…
The above features might be the most important ones an IoT platform should have, but in the next list we will point out some others it should implement in order to have a quality product:
- Device management: the platform should be able to add or delete devices from the network, as well as assigning them attributes to better manage the deployment. Grouping devices by location or user can be critical when the size of the network begins to be important.
- Data storage: the infrastructure should be ready to store the telemetry data sent by the devices. Here, as mentioned in the above paragraphs, scalability becomes critical as IoT networks are growing at a fast pace.
- Data visualization: the platform needs to display the data received in a way the user can interpret in a simple way the status of the network and the information they are recording. It must be able to create and customize graphs, tables, and dashboards that let the user extract a basic insight from the devices’ data.
Use cases: facility management and predictive maintenance
IoT technologies are being adopted by several sectors in the world: from industry and agriculture to medicine and smart cities. But in this article, we’re going to focus on facility management, one of the scopes where the SPHERE project works on.
Let’s imagine a facility manager with a portfolio of 3 buildings. Their occupants usually complain of their thermal comfort, as their HVAC system fails frequently. So, the facility manager decides to implement a predictive maintenance system. But how can he acquire the necessary data to feed the predictive maintenance model? The answer is: IoT technology!
The solution would be to install the devices that collect all the data the predictive maintenance system needs in the three buildings: thermal energy counters on the HVAC production equipment, as well as network analyzers on the big electricity consumers in the HVAC facility and temperature & humidity sensors in interior spaces and also in the exterior. All these sensors would communicate through gateways in each building with the IoT platform API, using MQTT protocol. If possible, SCADA or BMS systems from each building could be integrated with the platform’s API using HTTP to extract water pumps working hours, water temperatures and other useful data.
As soon as the database has enough data, the predictive maintenance system would also use the API to extract the necessary data to feed the machine learning model. Once the results are obtained, the facility manager could verify the output of the model (for example, a possible malfunction alert) with the status of the building, checking all the available variables in a customized dashboard during the previous days.
But not only the facility manager can benefit from the IoT platform. For example, QR codes could be spread in the spaces of the buildings that let the users visualize the thermal comfort parameters of the room in a dashboard of the platform in real time. This way, there’s no doubt if the room is in the appropriate thermal conditions or not. EVERYBODY WINS!
Written by Marc Rodriguez Vidal from COMSA Corporación