IoT platforms analysis
A gap analysis of available IoT platforms based of their ability to meet the expectations of the IoT
IoT platforms
The list of the surveyed platforms shall by no means be seen as exhaustive, though we believe that a representative sample of the available platforms has been included in the survey.
Name | Heterogeneous devices support | Type | Architecture | Open source | REST | Access control | Service discovery |
---|---|---|---|---|---|---|---|
AirVantage™ | Needs gateway | M2M PaaS | Cloud-based | Libraries only (Apache v2, MIT and Eclipse v1.0) | Yes | OAuth 2.0 | No |
Arkessa | Yes | M2M PaaS | Cloud-based | No | ? | Facebook like privacy settings | No |
ARM mbed | Embedded devices | M2M PaaS | Centralized/Cloud-based | No | CoAP | User's choice | No |
Carriots® | Yes | PaaS | Cloud-based | No | Yes | Secured access | No |
DeviceCloud | Yes | PaaS | Cloud-based | No | Yes | ? | No |
EveryAware | Yes | Server | Centralized | No | Yes | 4 levels | No |
Everyware | Needs gateway | PaaS | Cloud-based | No | Yes | ? | No |
EvryThng | Yes | M2M SaaS | Centralized | No | Yes | Fine-grained | No |
Exosite | Yes | PaaS | Cloud-based | Libraries only (BSD) | Yes | ? | No |
Fosstrack | RFID | Server | Centralized | No | No | Locally stored | No |
GroveStreams | No | PaaS | Cloud-based | No | Yes | Role-based | No |
H.A.T. | Home devices | PaaS | Decentralized | Yes | Yes | Locally-stored | Yes |
IoT-framework | Yes | Server | Centralized | Apache 2.0 | Yes | Locally-stored | Yes |
IFTTT | Yes | SaaS | Cloud-based | No | No | No storage | Limited |
Kahvihub | Yes | Server | Centralized | Apache 2.0 | Yes | Locally-stored | Yes |
LinkSmart™ | Embedded devices | P2P | Decentralized | LGPLv3 | No | Locally-stored | Yes |
MyRobots | Robots | Robots PaaS | Cloud-based | No | Yes | 2 levels | No |
Niagara AX | Yes | M2M SaaS | Distributed | No | ? | ? | ? |
Nimbits | Yes | Server | Centralized/Cloud-based | Apache 2.0 | Yes | 3 levels | No |
NinjaPlatform | Needs gateway | PaaS | Cloud-based | Open source hardare and Operating System | Yes | OAuth 2.0 | No |
Node-RED | Yes | Server | Centralized | Apache 2.0 | No | User-based privileges | No |
OpenIoT | Yes | Hub | Decentralized | LGPLv3 | No | User-based privileges | Yes |
OpenMTC | Yes | M2M client/server | Centralized/Cloud-based | No | Yes | Secured access | No |
OpenRemote | Home devices | Server | Centralized | Affero GNU Public License | Yes | Locally-stored | No |
Open.Sen.se | Ethernet-enabled devices | PaaS/SaaS | Cloud-based | No | Yes | 2 levels | Limited |
realTime.io | Needs gateway | PaaS | Cloud-based | No | Yes | Secured access | No |
SensorCloud™ | No | PaaS | Cloud-based | No | Yes | ? | No |
SkySpark | No | SaaS | Centralized/Cloud-based | No | Yes | ? | No |
Swarm | Yes | PaaS | Cloud-based | Client is open source | Yes | ? | ? |
TempoDB | No | PaaS | Cloud-based | No | Yes | Secured access | No |
TerraSwarm | Yes | OS | Decentralized | ? | ? | ? | Yes |
The Thing System | Home devices | Server | Centralized | MIT | Yes | User's choice | No |
Thing Broker | Yes | Server | Centralized | Yes | Yes | Locally-stored | No |
ThingSpeak | Yes | Server | Centralized/Cloud-based | GNU GPLv3 | Yes | 2 levels | Limited |
ThingSquare | Embedded devices | Mesh | Cloud-based | Gateway firmware is open source | Yes | No | No |
ThingWorx | Yes | M2M PaaS | Cloud-based | No | Yes | User-based privileges | Yes |
WoTkit | Yes | PaaS | Cloud-based | No | Yes | Secured access | Yes |
Xively | Yes | PaaS | Cloud-based | Libraries are open source (BSD) | Yes | Secured access | Yes |
Centralised architecture The table lists the surveyed platforms and summarizes some characteristics which are seen by the authors as fundamental for meeting the expectations of the users and application developers.
Cloud-based architectureHence, this table aims to provide quick visual information for those interested in selecting the most appropriate IoT platform to be deployed in their color indicates that a particular platform’s characteristic fits the expectations of the platform’s users, while the red color indicates a mismatch between the platform’s characteristic and the users’ expectations. An intermediate orange color has been added to indicate partial fitting.