The Internet of things is one of the fastest growing industries. Connected devices are around us: smart homes, cars, wearables and so on. Gartener predicts that 95% of the electronic products will include IoT features. When approaching to IoT projects there are several challenges we have to face.
An IoT platform offers several services that simplify the 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 the scalability and security.
Below there is a list of IoT platforms in a random order. Some of these platforms have a free account and some have a premium account that enables other interesting features.
An IoT platform plays an important role in the IoT architecture. When building an IoT project or system based on sensors, connected devices sends data to the cloud platforms. These platforms store data and use it to build charts. An IoT cloud platform is like a PaaS that provides some services useful in IoT ecosystem. These services enable devices connecting to remote services.
Generally speaking, an IoT platform provides 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 a list of IoT platforms in a random order.
IoT platform list
This is a very interesting platform that provides services to integrate Arduino, Raspberry and other platforms with different internet services (like SMS, Email and so on). This 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:
This is the link to the platform: Temboo
Some IoT projects using Temboo
- How to integrate Arduino and Google using Temboo
- How to integrate Arduino MKR1000 with Twitter using 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 IoT platform:
This is the link to the platform: Ubidots
Some IoT projects using Ubidots
- How to integrate Arduino and Android using Ubidots
- How to build an Android Things app using Ubidots
- How to build a smart plant system using Ubidots
myDevices Cayenne is another IoT platform that has a rich set of features. The core of this platform is the data visualization. Using drag-and-drop, it is possible to create dashboard to visualize data coming from remotely connected devices or control them. It uses widgets to visualize information. This 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 in two main areas:
- mobile app that controls remotely a device
An interesting feature of this platform is the integration with LoRa a technology to create LPWAN used to M2M.
This video shows this platform:
This is the link to the platform: myDevices Cayenne
Some IoT projects using myDevices
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:
- Realtime sensor data visualization
- Data agregation from 3rd parties providers
- Schedule IoT analytics tasks to analyze data
- Event scheduling
- Run actions according to data acquired
This Internet of things platforms support several devices such as Arduino, Raspberry Pi, ESP, Particle and so on.
This is the link to the platform: ThingSpeak
TheThings.io is an IoT platform that simplifies the IoT solution development. 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:
This is the website link: TheThings.io
Some IoT projects using TheThings.io
Xively IoT platform is another interesting solution. Now Xively is part of 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:
This is the link of this platform: Xively
Some IoT projects using Xively
Kaa is an opensource IoT platform that provides several services. 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:
This is the link to the platform: 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 provides all the services an IoT platform mush have starting from the security aspects.
This video of Google I/O 2018 describes this IoT platform:
This is the official website of Google Cloud IoT
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:
This is the official website of Microsoft Azure IoT
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:
The link is: IBM Watson IoT
Artik Cloud is an IoT platform developed by Samsung. This platform enables devices to connect 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:
The link is: Artik Cloud
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
The link to the AWS IoT platform is: AWS IoT