What is an IoT platform?
An IoT platform offers several services that simplify project development and a set of tools to remotely manage devices. Generally speaking, an IoT platform is a multi-layer technology that enables users to manage connected devices. Moreover, an IoT platform takes care of all the aspects related to scalability and security.
An IoT cloud platform plays an important role in the Internet of things architecture. When building an Internet of things project based on sensors, connected devices sends data to the cloud platforms. These platforms store data and use it to build charts. These services enable devices connecting to remote services.
Generally speaking, an IoT platform offers these services:
- data ingestion
- data transformation
- dashboard creation
- rule management
- device management
- Security services
- Platform integration
Data Integration enables developers to store data sent from several boards (like Arduino or Raspberry); for example, it is possible to store values read from a sensor. This information can be visualized using a graph or analyzed with other tools.
Rule management is web-based programming logic that can be used to trigger some action when an event occurs. Using this kind of platforms is possible to implement some “business logic” using just a web interface without knowing much about the board we are using for the project. Usually, the logic is like IF-THEN, for example if an event occurs then do this action. An event can be a signal read from a sensor and the action can be an email or an SMS.
Platforms integration is a set of “adapters” that implements specific protocol so that it is possible without writing a line of code mix different internet services to make a chain of actions. For example, using Arduino with Ethernet shield is possible to send an alert via SMS when a value read from a sensor is higher than a threshold level.
Below there is a list of IoT platforms in random order. Some of these platforms have a free account and some have a premium account that enables other interesting features.
This is a very interesting IoT platform that provides services to integrate Arduino, Raspberry and other platforms with different internet services (like SMS, Email and so on). This IoT platform uses choreos that are connectors toward external services, so that events in Arduino, like sensor signals, can be transformed into different kind of events. Moreover, it provides some logic like IF-THEN. Moreover, Temboo supports M2M applications using MQTT, CoAP, HTTP protocols. The main features provided by Temboo are:
- Code generation: This platform generates optimized code for several devices using many different languages such as Java, C/C++, Python and so on
- Interoperability: Temboo provides a set of services named choreos that simplify the integration process with other cloud services
- Data: Temboo stores and visualizes different kinds of data
This video shows some of the features of Temboo:
Ubidots is another interesting IoT platform that provides several services. First of all, it supports several devices such as Arduino, Raspberry, Particle, Espressif, Onion and much more. Moreover, it has different kinds of services ranging from device connectivity to data visualization:
- SDK/API Ubidots provides a SDK for different devices to simplify the integration process between the device itself and the platform. Moreover, it has several API that can be invoked to interact with this platform.
- Several protocols support such as MQTT, HTTP
- Synthetic Variables that apply math formulas on data
- Data storage
- Data visualization
This video shows the main features of this Internet of things platform:
myDevices Cayenne is another IoT platform that has a rich set of features. The core of this platform is data visualization. Using drag-and-drop, it is possible to create a dashboard to visualize data coming from remotely connected devices or control them. It uses widgets to visualize information. This Internet of things platform supports several devices such as Arduino, Raspberry, ESP and so on. Moreover myDevices Cayenne exposes a set of API to simplify the services integration and supports MQTT protocol. This platform can be divided into two main areas:
- mobile app that controls remotely a device
An interesting feature of this platform is the integration with LoRa technology to create LPWAN used to M2M.
This video shows this Internet of things platform:
This is an open IoT platform with Matlab support. The core of this platform is the IoT analytics and data visualization. It provides real-time data visualization and with the support of Matlab it is possible to add data analysis and processing.
The main features provided by this IoT platform is:
- Real-time sensor data visualization
- Data aggregation from 3rd parties providers
- Schedule IoT analytics tasks to analyze data
- Event scheduling
- Run actions according to data acquired
This IoT platforms support several devices such as Arduino, Raspberry Pi, ESP, Particle and so on.
Among IoT platforms, TheThings.io is another interesting solution. Using this IoT platform we can manage remotely the connected devices and it offers an interesting set of services:
- Cloud code management
- Data monitoring and visualization
- Interoperability and integration
TheThings.io supports several devices like Arduino, Raspberry Pi, ESP8266 and so on. Moreover, devices can connect to the cloud services provided by this IoT platform using several protocols like MQTT, CoAP, HTTP, Websocket etc.
This video explains this IoT platform:
Xively IoT platform is another interesting solution. Now Xively is part of the Google Cloud Platform. Anyway, there is a chance to try it using a developer account. Xively is an enterprise platform that helps to manage devices. At the device level, Xively plays an important role to manage the communication, security and firmware update.
This video describes Xively:
Kaa is an opensource IoT platform. This is one of the few IoT platforms available. This platform helps developers to build complex IoT projects easily and fast. The main features provided by Kaa are:
- Device connectivity
- Device management
- Data collection
- Data processing and analysis
- Data visualization
- Command execution
Kaa supports several IoT protocols like MQTT and CoAP.
This video explains what is Kaa:
Google Cloud IoT
Google Cloud IoT is one of the most interesting enterprise platforms. This IoT platform has a set of tools to manage connected devices and the date at the edge level or in the cloud. The connected device can use cloud Pub/sub to publish the data. Moreover, we can apply BigQuery analysis or we can apply Machine learning on this data. Google Cloud IoT has a reference architecture that describes the role of each component that builds this platform. There are countless possibilities to explore using professional services. This platform has all the services an IoT platform mush have starting from the security aspects.
This video of Google I/O 2018 describes this IoT platform:
Microsoft Azure IoT
Microsoft Azure IoT is another IoT platform. This is a professional platform with several services. It supports bi-directional communication between connected devices and the platform itself using IoT standard protocols. Moreover, it supports device authentication to address all the security aspects. Microsoft Azure IoT simplify the process of IoT project development addressing all the challenges we have to face during this process starting from the security aspects.
The video below describes this IoT platform:
IBM Watson IoT
This is another IoT platform for building IoT solutions. The services provided by IBM Watson IoT platform are:
- Device management: Using this service, it is possible to act remotely on the device such as rebooting or firmware update
- Responsive, scalability, connectivity: The platform uses industry standard protocol MQTT to exchange data
- Secure communication: Secure data exchange using MQQT and TLS
- Data lifecycle management
This video is an introduction to IBM Watson IoT:
Artik Cloud is an IoT platform developed by Samsung. This platform enables devices to connect to each other and connect to cloud services. It has a set of services to rapidly connect devices to the cloud and start gathering data. Moreover, this IoT platform has a set of connectors that can be used to connect to third-party services. Like other platforms, it is possible to store data coming from connected devices and aggregate this information.
Artik Cloud provides an SDK to simplify the development process and a set of API ready to use.
This video introduces this IoT platform:
AWS IoT is a cloud IoT platform managed by Amazon. AWS IoT offers a set of services to connect several devices and take care of the security aspects. Using AWS IoT we can gather data from connected devices and apply complex real-time actions and analytics processes.
AWS offers a set of services:
- Amazon FreeRTOS: This is an OS for microcontrollers that provides some services as connectivity, security, easy programming
- AWS Greengrass: It is a software that enables to run local computation on edge devices
- AWS IoT Analytics: It enables us to run sophisticated analytics on gathered data
- AWS IoT device management: It simplifies the process of device management especially when there are thousands of connected devices
- AWS IoT Core: It is the core of the AWS IoT and enables connected devices to interact with cloud services easily and securely
This video is an introduction to AWS IoT
SAP IoT platform
Sap IoT platform is one of the most famous IoT cloud platforms. It supports data ingestion from sensors using multiple IoT protocols.
It can handle incoming messages using rules and it can encrypt data. Using SAP IoT platform it is possible to manage remotely all the device connected and the powerful data management system helps us to analyze the data coming from sensors.
This articles showed a list of IoT platforms that provides several services and you can use one or more of these IoT platforms to build your IoT solution. Choosing the right IoT platform is very important because it simplifies the development process reducing the time-to-market.