IoT Platform - What is it?

IoT platforms are software systems running on online servers (the famous cloud). An IoT platform aims to connect devices and human beings using the Internet as a common communication channel, as well as to treat the data generated by the devices, transforming them into information with added value for human beings. Look at Figure 1 that summarizes this idea.

 

Figure 1 - the IoT platform is what turns a large amount of data into something useful for us, human beings
Figure 1 - the IoT platform is what turns a large amount of data into something useful for us, human beings

 

 The key idea of an IoT platform is to treat, process and shape the large amount of data generated by a number of devices in the field, in order to transform all of this into information which generates value for human beings. By generating value, we mean: greater profit generation, information for more accurate decision-making, improvement of productive processes, greater agility in people's daily lives, increased comfort at home and / or work, in short, everything that increases the quality of life and services for human beings.

 

In Terms of Functionality, What Does an IoT Platform Cover?

The IoT platforms covers a series of services and features to do what they propose. Among these features, the most used are:

Provide one or more forms of connectivity to receive data from devices in the field.

Have databases to allow massive storage of device data.

Have data analysis tools to extract information from the received data

Make use of Artificial Intelligence to extract more specific and not so evident information (patterns) from the data received.

Allow the triggering of automatic actions in order to allow actions (emergency or not) to be taken automatically and in the shortest possible time.

Allow automatic control of actions on other devices.

Enable data visualization in a way that is easy for humans to understand (dashboards).

The IoT platforms are constantly evolving, so that more and more features are added to them over time. This means that IoT projects can be expanded and / or undergo major changes without any intervention on devices in the field, making business and operations more flexible with the least possible impact. This is the main reason why, behind major IoT projects, there is always the use of IoT platforms.

 

Connectivity with the IoT Platforms

The IoT platforms usually provide several forms of connectivity, in order to be able to interact to a wide range of devices. Among them, the main ones are:

 

MQTT: because it is a very light and implementable M2M communication protocol on the most diverse devices (it has libraries for the main programming languages on the market), MQTT is one of the main forms of connectivity used by IoT platforms, especially to interact with devices that use a mobile connection with limited data traffic, such as 3G, 4G, etc.

In addition, the platforms support both “open” / unsecured MQTT connectivity and secure connectivity over SSL / TLS, with the largest platforms tending to support only the secure form.

HTTP: also very popular and deployable on the most diverse devices (it has libraries for the main programming languages ??on the market), HTTP is widely used in this regard. It presents a greater overhead in relation to MQTT, for example, being, therefore, more used by devices that do not have a great limitation of data traffic (therefore, it is more unusual to find IoT devices that use mobile connection over 3G, 4G, etc., using as connectivity the HTTP).

HTTPS: also very popular and implementable in the most diverse devices (it has libraries for the main programming languages on the market), HTTPS is widely used in this regard because it has the same characteristics as HTTP, but with greater security.

 

Main IoT Platforms on the Market

Following, I made a selection of the main IoT platforms in the market (in my opinion), including both platforms that offer free plans as well as paid plans.

 

ThingSpeak: this IoT Platform is one of the first that stood out in IoT projects around the world, being focused on data visualization over time (although it also has features for automatic triggering of actions). This IoT platform has both free and paid plans, and paid plans allow interaction with Matlab for heavier calculations and data analysis.

It still has the advantage of being open-source (https://github.com/iobridge/thingspeak), which means that you can run an instance of the platform on your local server, enabling projects that, for security, cannot have interaction with the Internet.

In terms of connectivity, it supports the HTTP and MQTT communication protocols.

 

Konker: this is a Brazilian IoT platform, focusing on data visualization over time and interaction between devices using the platform as a centralizing element. It has free and paid plans, where paid plans offer greater data retention (allows you to store more data for longer than the free plan) and also new features for data processing.

Konker is also an open-source IoT platform (https://github.com/KonkerLabs), which means that you can run an instance of the platform on your local server, enabling projects that, for security, cannot interact with the Internet.

In terms of connectivity, it supports the HTTP and MQTT communication protocols.

 

Tago.io: An American IoT platform with free and paid plans, with a wider range of features than usual on IoT platforms that have free plans. It is the ideal platform for those who want to make beautiful and complete dashboards, trigger automatic actions and run periodic data analysis automatically via scripts (at the moment, using only the Node.JS programming language), especially for free. It allows complex management of devices and data received (even in free plans), in addition to several types of triggering of automatic actions according to conditions (depending on the data), including: MQTT message, e-mail, SMS message, etc.

 

In terms of connectivity, it supports several communication protocols, including HTTP and MQTT. It also has direct interaction with worldwide LPWAN networks, such as SigFox and LoRaWAN.

 

Microsoft Azure: one of the first to emerge among the most complete IoT platforms on the market, Microsoft Azure has a huge range of features, ranging from dashboards to complex artificial intelligence systems. Although it has free plans, these have great limitations, which can make the free use for testing prototypes unfeasible. Generally speaking, it is an ideal IoT platform for large companies that want to make very robust cloud IoT solutions with support for advanced features such as Artificial Intelligence.

In terms of connectivity, it supports several communication protocols, among them HTTPS and MQTT with TLS / SSL.

 

AWS (Amazon Web Services): contemporary of Microsoft Azure, it is also among the most complete IoT platforms on the market. In general, it gives you greater freedom to configure your solution compared to competitors of the same size, such as Microsoft Azure. As a differential, it has elastic computing resources, which turns resources on and off according to usage, optimized use of server hardware and the final value of the service. Therefore, it is ideal for those who want to make very robust cloud IoT solutions and with support for advanced features, such as Artificial Intelligence, still counting on elastic computing as a cost optimizer and server usage.

In terms of connectivity, it supports several communication protocols, among them HTTPS and MQTT with TLS / SSL.

 

Conclusion

In this article, you can learn what an IoT platform is, what it is composed of, the main benefits of its use and, still, which are the main IoT platforms in the market. This way, you have the basic knowledge necessary to develop complete IoT solutions.

Choosing the IoT platform wisely can mean the success of a project, both in technical and financial terms. Therefore, just as when designing hardware, we must choose electronic components carefully (to optimize operation and costs), so we must do with the IoT platforms of our projects.

 

 

 

Datasheets


N° of component