Platforms

Review on IoT platforms

Posted by Parham Alvani on May 14, 2017
Parham Alvani avatar

Parham Alvani

Developer @ Middleware


Software Engineer
June 2015 - July 2017

Recently by the same author:

Hello

Hello from @Aolab

What we do ?

We review some IoT platforms in order to find their features and specifications and we want to summerize our reseach here. If you are a developer you can review this research in order to see IoT Platform requirements.

What platform we see ?

# Name Website
1 Kaa https://www.kaaproject.org/
2 ThingWorx https://www.thingworx.com/
3 OpenRemote http://www.openremote.com/
4 Node-RED https://nodered.org/
5 IFTTT https://ifttt.com/
6 Azure https://azure.microsoft.com
7 Bluemix https://console.ng.bluemix.net
8 Carriots https://www.carriots.com
9 Thingsboard https://thingsboard.io
10 Airvantage https://airvantage.net
11 Exosite https://exosite.com
12 Predix http://www.predix.com
13 Watson http://www.ibm.com/internet-of-things
14 Aeris http://www.aeris.com/
15 GroveStreams https://grovestreams.com/
16 OpenIoT http://www.openiot.eu/
17 OpenMTC http://www.open-mtc.org/
18 RealTime.io https://realtime.io/
19 Yeti https://getyeti.co/
20 Amazon AWS https://aws.amazon.com/iot-platform/
21 Xively https://www.xively.com/
22 Evrythng https://evrythng.com/
23 Home Assistant https://home-assistant.io/
24 SiteWhere http://www.sitewhere.org/
25 OpenHAB https://www.openhab.org/

Kaa

Platform specification

Open Source

Yes

Cloud Based Service

Yes

Applications

Agriculture, Automotive, Consumer Electronics Healthcare, Industrial Automation, Logistics Smart City, Smart Energy, Smart Retail Sport and Fitness, Wearables, Telecom

Type

Kaa offers a designated feature that enables messaging between devices. Each message has a user-defined structure. Messaging is enabled between devices belonging to the same “user”. BUT All messages are routed through the Kaa server.

General Information

Architecture

Flat Distribution

Database

Some metadata is stored in an SQL database, but all of the endpoint-related data is stored in a NoSQL database. Kaa currently supports two options for NoSQL data storage: Cassandra and MongoDB. Kaa provides an abstraction layer for data storage, which means that you can develop and use plugins for other NoSQL databases.

Technology & Language

Java

Connectivity Protocols

Kaa Protocol (KP) over MQTT, CoAP and TCP

Thing-Platform Interaction Types

You can push data to your device by using either the Kaa configuration update or Kaa notifications. You can also group your devices by their profiles and then push updates to device groups instead of updating each device separately. You can push new configuration and/or notifications via either REST API or Web UI.

SDK 4 Things

Kaa currently provides SDKs for C, C++, and Java.

Data Collection

The data collection subsystem in Kaa is designed to collect records (logs) of pre-configured structure, store them in the client, transfer from the client to Operations service, persist on server for further processing, or submit to the immediate stream analysis.

Event Management

The Kaa Events subsystem is designed to generate endpoint events in real time, send them to other endpoints of the same owner and to Kaa server for processing