Software Development

12 IoT Platforms overview to build IoT projects

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

For example:

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

Temboo

IoT Platforms

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

Ubidots

IoT Platforms

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

myDevices

IoT Platforms

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
  • Dashboard

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

How to build an IoT system using ESP8266 Cayenne and MQTT

ThingSpeak

IoT Platforms

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

IoT Platforms

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
  • Analitycs
  • AI
  • 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

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:

https://youtu.be/GEct-k9cnb8

This is the link of this platform: Xively

Some IoT projects using Xively

Kaa

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

IoT Platforms

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

IoT Platforms

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

IoT Platforms

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:

https://youtu.be/kpEr6VPWDnU

The link is: IBM Watson IoT

Artik Cloud

IoT Platforms

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

IoT Platforms

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

Published on Java Code Geeks with permission by Francesco Azzola, partner at our JCG program. See the original article here: 12 IoT Platforms overview to build IoT projects

Opinions expressed by Java Code Geeks contributors are their own.

Francesco Azzola

He's a senior software engineer with more than 15 yrs old experience in JEE architecture. He's SCEA certified (Sun Certified Enterprise Architect), SCWCD, SCJP. He is an android enthusiast and he has worked for long time in the mobile development field.
Subscribe
Notify of
guest

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

0 Comments
Inline Feedbacks
View all comments
Back to top button