Many options

There is a wide variety of options when choosing the management platform for our IoT system. The truth is that not all of them are useful for all projects, since each of them has different approaches and different objectives.

There are, for example, platforms that focus on communication and management of IoT devices, but do not have a user interface.

Structure of an IoT platform

In general, an IoT platform can be divided into several layers:

  • Connectivity layer: responsible for the communication between the IoT nodes and the platform (MQTT service, HTTP, etc).
  • Device management layer: its function is to monitor devices, save configurations, perform updates, etc.
  • Data management layer: databases, data analytics.
  • Application Interface Layer: This layer provides the necessary methods for applications to access data.
  • Application Layer: These are the applications themselves, with their user interfaces. 

IMPORTANT: It must be taken into account that security crosses all the layers of an IoT system, so it must be taken into account in each of them.

The market research company Beecham Research made a classification of IoT platforms based on their characteristics, which I describe below:

  • Focused on communication: it focuses mainly on the management of communications with devices.
  • Focused on device management: its main function is the management of IoT nodes.
  • Focused on data management and analysis: offers advanced data management and specialized analytics.
  • Focused on application development: facilitates the development of applications using different types of devices.
  • Focused on a vertical market: specifically designed to offer solutions in certain vertical markets (health, industry, agriculture, etc.).
  • Focused on IoT consumers: focused on IoT applications for consumers, such as home automation.
  • Focused on IoT development: provides solutions for developers of IoT systems.

How to choose the right platform

Obviously platforms do not usually fall into just one of these categories, but several. It is logical to think, for example, that a platform focused on device management is also focused on communication.

In any case, the choice of the IoT platform should not be left to the end of the system design, but should be the starting point, based on the needs of the project. If, for example, the business includes deploying devices at customer sites, it is essential to have a management system for them, to monitor them or even update their firmware. If, on the other hand, the client needs to carry out intense data analysis and reports, the platform must have the necessary tools so that the development is easy to carry out.

Therefore, the initial proposal of the project already defines the type of platform to be used. It is useful then to make a list of all the characteristics of the project and then evaluate which platforms meet those requirements.

You have doubts?. I await your comments at the end of this article.


Paul Costan · 24 April, 2020 at 12:35 PM


First of all, thank you for your posts, they are very interesting and informative.
On the other hand, I'm doing a project for the faculty and as much as I read and read, I can't find a concise answer.
I consult you, I have a raspberry that is going to send temperature information to another system, this other system should (according to certain parameters), respond to the raspberry that turns on a light for example as an alarm in the event of a high temperature. Beyond the protocol, would I have to have an API in Rasp and another API in my other application to be able to communicate & react?


    IoT Consulting · 24 April, 2020 at 12:49 PM

    Hi Paul, Thank you for your comment. You could do that with an MQTT broker running on the remote system. The Rasp could post to a topic on that server and also be subscribed to a topic, where it can read if it should raise an alarm or not. I understand that in this case the intelligence to decide whether or not to activate the alarm would be on the remote server. Here are some related articles.
    How to install an MQTT server on Raspberry Pi
    How to add encryption to MQTT
    You could use Node Red to manage the logic on the remote server.

    Anything you write to me.


What is Docker and why use it in IoT - Your IoT expert source · 18 November, 2020 at 10:28 AM

[…] How to choose an IoT platform […]

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: