The Internet of Things (IoT) is the future of technology that helps Artificial intelligence (AI) to control and understand things in a much better way. We have gathered some best-known IoT platforms that help you to develop IoT projects in a controlled way.
What do you mean by IoT platforms?
The IoT platforms are suites of components that help to set up and manage internet-connected devices. A person can remotely collect data, and monitor and manage all internet-connected devices from a single system. There are a bunch of IoT platforms available online but building an IoT solution for a company depends on the IoT platform host and support quality.
Here, we have compiled some best and most well-known Open source Internet of things (IoT) platforms. Most of these platforms provide API to support the Linux hacker board such as Raspberry Pi, Arduino, and BeagleBone.
Top Open source IoT Platforms available on GitHub
Kaa IoT Platform
It is the feature-rich open and efficient Internet of Things cloud platform. Any IoT company, IoT system integrator, or individual has a free way to materialize their smart product concepts. Kaa enables data management for connected objects and your back-end infrastructure by providing the server and endpoint SDK components.
Kaa key IoT features:
- Manage an unlimited number of connected devices
- Set up cross-device interoperability
- Perform A/B service testing
- Perform real-time device monitoring
- Perform remote device provisioning and configuration
- Collect and analyze sensor data
- Analyze user behavior and deliver targeted notifications
- Create cloud services for smart products
ThingSpeak: with MATLAB analytics
ThingSpeak is an Internet of Things (IoT) platform that lets you analyze and visualize the data in MATLAB without buying a license from Mathworks. It allows you to collect and store sensor data in the cloud and develop IoT applications. It works with Arduino, Particle Photon and Electron, ESP8266 Wifi Module, BeagleBone Black, Raspberry Pi, Mobile, and web apps, Twitter, Twilio, and MATLAB to end the sensor data to ThingSpeak. The ThingSpeak is mostly focused on sensor logging, location tracking, triggers and alerts, and analysis
ThingSpeak Open source IoT Platform key IoT Features
- Collect data in private channels
- Share data with public channels
- RESTful and MQTT APIs
- MATLAB analytics and visualizations
- Alerts
- Event scheduling
- App integrations
- Worldwide community
Website Link and GitHub.
DeviceHive: IoT Made Easy
DeviceHive is another feature-rich Open source IoT platform distributed under Apache 2.0 license. The DeviceHive is free to use and change. It provides Docker and Kubernetes deployment options. You can download and use it with both public and private clouds and also can scale from a single virtual machine to an enterprise-grade cluster. It can connect to any device or hacker board via REST API, WebSockets, or MQTT. You can even connect such low-end wi-fi enabled devices as ESP8266.
DeviceHive Open source IoT platform key features:
- Directly integrate with Alexa
- Visualization dashboard of your choice
- Customize DeviceHive behavior by running your custom javascript code.
- It supports Big data solutions such as ElasticSearch, Apache Spark, Cassandra, and Kafka for real-time and batch processing.
- Connect any device via REST API, WebSockets, or MQTT.
- It comes with Apache Spark and Spark Streaming support.
- Supports libraries written in various programming languages, including Android and iOS libraries
- It allows running batch analytics and machine learning on top of your device data.
- And More…
Website Link and GitHub
Mainflux
Mainflux is the internet of things platform that is Open source and patent-free. The user can deploy it on its premises or in the cloud. Mainflux IoT platform written in Go and deployed in Docker.
- Responsive and scalable architecture based on a set of microservices
- Set of clean APIs: HTTP RESTful, MQTT, WebSocket and CoAP
- SDK – set of client libraries for many HW platforms in several programming languages: C/C++, JavaScript, Go, and Python
- Device management and provisioning and OTA FW updates
- Highly secured connections via TLS and DTLS
- Enhanced and fine-grained security via deployment-ready Mainflux Authentication and Authorization Server with Access Control scheme based on customizable API keys and scoped JWT
- Deployment and scalability via Docker images.
- Clear project roadmap, extensive development ecosystem, and highly skilled developer community
Website Link and GitHub
Zetta: API-First IOT Platform
Zetta is a server-oriented open-source IoT platform built on Node.js. Zetta combines REST APIs, WebSockets, and reactive programming. It can run on a single-board computer, PC, or cloud and can link different platforms such as Linux, BeagleBones, Raspberry Pis, Arduino hacker boards, and PCs together with cloud platforms like Heroku to create geo-distributed networks. You can also stream data into machine analytics platforms like Splunk.
Zetta Open source IoT platform key features:
- Built around Node.js, REST, WebSockets, and a flow-based “reactive programming”.
- Supports a wide range of hacker boards
- Zetta allows you to assemble smartphone apps, device apps, and cloud apps
For More Info or visit its Github page
Thingsboard.io Open-source IoT Platform
Thingsboard is a 100% Open source IoT platform and can host it as a SaaS or PaaS solution. It provides device management, data collection, processing, and visualization for your IoT projects. The standard protocols it supports for providing device connectivity are MQTT, CoAP, and HTTP, and supports both cloud and on-premises deployments. It gives more than 30 customizable widgets and allows you to build end-user custom dashboards for most IoT use cases.
thingsboard.io open source IoT platform key features:
- Real-time data visualization and remote device control
- 30 customizable widgets for custom dashboard
- customizable rules, plugins, widgets, and transport implementations
- Allows monitoring of client-side and provision server-side device attributes.
- Support multi-tenant installations out of the box.
- Supports transport encryption for both MQTT and HTTP(s) protocols.
- Failed nodes can be replaced without downtime.
- And more…
Website Link or visit the GitHub page of this open-source IOT platform.
Thinger.io
Thinger.io is an open-source platform for IoT which provides a scalable cloud infrastructure for connecting devices or things. You can control them easily by using the admin console or integrating them into your project logic using their REST API. It supports all types of hacker boards such as Arduino, ESP8266, Raspberry Pi, and Intel Edison.
Thinger.io open source IoT platform key features:
- Real-time dashboards
- Docker and IFTT integration
- Cloud-ready
- Install the server in your cloud and use the Open Source libraries for connecting your devices.
Website Link and Github
Node-RED
Node-RED is a visual programming tool that allows developers and other professionals to use hardware devices, APIs, and online services together to deploy applications for the Internet of Things (IoT) and the web.
It was developed by the developer community of IBM and offers drag-and-drop operations to simplify sophisticated automation. Node-Red supports various hardware platforms such as Raspberry Pi, BeagleBone Black, Arduino, and Android. Whereas in terms of cloud – IBM Cloud, Amazon Web Services, Microsoft Azure, and FlowForge.
The main benefit of using Node-RED over traditional coding options such as C# or Java lies in its ability to let any person – even those with no prior coding knowledge – quickly assemble powerful applications using visual cues rather than typing lines of complex code.
Furthermore, because Node RED projects are made up of independent blocks that perform specific functions there is much less debugging necessary than if one tried manually compiling everything themselves.
It uses lightweight runtime built on Node.js and over 225,000 modules are available via the Node’s package repository. On top of this, once in place with all components wired up together, deployments take seconds rather than minutes or hours…
Node-Red website link and GitHub page.
Arduino IoT Cloud
The team behind the popular Arduino Uno microcontroller board is also the developer of the Arduino IoT (Internet of Things ) Cloud platform. It was developed to provide a centralized place to developers for building connected applications easier and faster. Not only developing IoT-related applications but also it cloud allows users to manage IoT devices, and monitor data from multiple sources. Further, it also supports a variety of sensors and other components, giving users the flexibility to create complex projects with ease.
Documentation and GitHub page
WSo2- Internet of Things and mobile projects
WSo2 Build allows exposing an API to power a mobile app allowing users to monitor and control their devices. You can integrate it with your existing identity system, or use theirs. This IoT platform also out of the box supports almost all known hackers’ board devices such as Raspberry Pi, Arduino Uno, etc. The edge computing is powered by WSO2 Siddhi.
Supported protocols for device communication are MQTT, HTTP, Websockets, and XMPP protocols with IoT Server Framework extension for adding more protocols and data formats.
WSo2 open source IoT platform key features:
- Through WSO2 Data analytics server (DAS) it supports batch, interactive, real-time, and predictive analytics.
- Location-based services (Geo-fencing) and alerting as a reusable functionality
- MQTT, HTTP, Websockets, and XMPP protocols
- Provision/de-provision apps to multiple enrolled devices
- Implement self-service device enrollment and management for iOS, Android, and Windows devices
- Distribute and manage applications/firmware of devices
- Group, manage and monitor connected devices
- API-driven device type definition
- View instant, visualized statistics of individual or multiple devices
- Stats-API to write your visualization
- Pre-built graphs for common sensors
- And More…
OpenRemote
Openremote.io is another best open-source Internet of Things (IoT) platform in our list that enables users to create customized applications and manage, monitor, and control connected devices. This IoT platform contains several tools to help developers such as the OpenRemote Design Tool, for designing smart building applications; and OpenRemote SDKs and libraries for many different types of connected devices.
Further, the platform offers a comprehensive set of features including a rules engine, device management system, and analytics capability. Additionally, Openremote.io offers integration with cloud services, such as AWS and Azure. Cloud integration help user to have a centralized ecosystem to connect all IOT devices.
Links to OpenRemote and GitHub.
SiteWhere: Open Platform for the Internet of Things
It is another Open source IoT platform that provides the ingestion, storage, processing, and integration of device data. The SiteWhere runs on the core servers provided by Apache Tomcat. It offers highly tuned MongoDB and HBase implementations. It can easily integrate with hackers’ boards.
Image Source: Opensourceforu
SiteWhere key IoT features:
- Run any number of IoT applications on a single SiteWhere instance
- Spring delivers the core configuration framework
- Connect devices with MQTT, AMQP, Stomp, and other protocols
- Add devices through self-registration, REST services, or in batches
- Integrates with third-party integration frameworks such as Mule AnyPoint
- The default database storage is MongoDB
- Eclipse Californium for CoAP messaging
- InfluxDB for event data storage
- Grafana to visualize SiteWhere data
- HBase for non-relational data store
- And more…
Website Link or Github page of SiteWhere
Open-source IoT Platform Comparison Table
IoT Software Platform | Device management? | Integration | Security | Protocols for data collection | Analytics | Support for visualizations? | DB |
Kaa IoT Platform | Yes | Portable SDK available to integrate any particular platform, REST API | Link Encryption (SSL), RSA key 2048 bits, AES key 256 bits | MQTT, CoAP, XMPP, TCP, HTTP | Real-time IoT Data Analytics and Visualization with Kaa, Apache Cassandra, and Apache Zeppelin | Yes | MongoDB, Cassandra, Hadoop, Oracle NoSQL |
SiteWhere | Yes | REST API, Mule AnyPoint, and more | Link Encryption (SSL), Spring Security | MQTT, AMQP, Stomp, WebSockets, and direct socket connections | Real-time analytics (Apache Spark) | No | MongoDB, HBase , InfluxDB |
ThingSpeak | No | REST and MQTT APIs | Basic Authentication | HTTP | MATLAB Analytics | No | MySQL |
DeviceHive | *Unknown | REST-AP, MQTT APIs | Basic Authentication using JSON Web Tokens (JWT) | REST API, WebSockets, or MQTT | Real-time analytics (Apache Spark) | Yes | PostgreSQL, SAP Hana DB |
Zetta | No | REST APIs | Basic Authentication | HTTP | Using Splunk | No | Unknown |
Thingsboard.io | Yes | REST APIs | Basic Authentication | MQTT, CoAP, and HTTP | Real-time analytics(Apache Spark, Kafka) | No | Cassandra |
Thinger.io | Yes | REST APIs | Link Encryption (SSL/TLS) and basic authentication | MQTT, CoAP, and HTTP | Yes | No | MongoDB |
WSo2 | Yes | REST APIs | Link Encryption (SSL) and basic authentication | HTTP, WSO2 ESB, MQTT | Yes, WSO2 Data Analytics Server | Yes | Oracle, PostgreSQL, MySQL, or MS SQL |
Mainflux | Yes | REST APIs | JWT encrypted and signed tokens, OAuth2.0, public key infrastructure (PKI), and client-side certificates | HTTP, MQTT, WebSocket, CoAP) | Yes (integrated) Platform not confirmed | Yes | Cassandra, MongoDB or InfluxDB, or PostgreSQL |
*Unknown means we are not able to find that.
Note: All the information mentioned in the Opensource IOT platform comparison table was taken from the internet from the respective IoT platform website. If there is something wrong or missing please let us know to change or add.
Thanks it really helpful….
ThingsBoard supports Data Visualization. This is one of the main features of the platform. It also supports other databases: HSQLDB (for development) and PostgreSQL, Cassandra (for production).
Have you considered freeboard.io? Great dashboard tool, with a free and open source option.
I would also suggest you to check out http://thinx.cloud
THiNX Cloud open-source IoT platform goes to the roots of IoT 🙂
You may look WAZIUP.io platform. This is an open source platform
Great article! Mainflux is missing in the comparison table though.
Really helpful to see this comparison of the different platforms that are out there. You discussed Mainflux as a platform in the article, but then it is not in the comparison table.
IoTGo has not received any love since Dec 2015. Website for platform is dead. Code can be found under Itead on Github.
Thanks, David for pointing out this.
Hi,
I would also suggest you to check out https://kuzzle.io/products/by-product/iot-backend/
https://github.com/kuzzleio
Free and open source IoT Platform as a service on-premises and multi protocols