5 Open-source IoT Platforms: Making Innovation Count
As the IoT platform model is attracting a larger following and is carving its way into large industrial corporations, building open-source IoT platforms is logical.
As the IoT platform model is attracting a larger following and is carving its way into large industrial corporations, building open-source IoT platforms is logical.
As the IoT platform model is attracting a larger following and is carving its way into large industrial corporations, building open-source IoT platforms is a logical step towards making the IoT platform movement available to as many users and contributors as possible.
We at Record Evolution love open source and continuously strive to develop an IoT product that combines the benefits of open source and closed source. Open source technology reveals tremendous opportunities in terms of know-how democratization and the development of truly global collaborative intelligence. But at times, especially in critical and security-intensive production environments, the benefits of closed source may prevail. To address these complexities, users on the Record Evolution platform are given the opportunity to develop their projects both as open source and closed source.
Open-source is a decentralized software development model that puts open collaboration at the forefront. Peer production is the guiding principle of open-source development. So a key component of open-source is making items such as source code, blueprints, and documentation free and available to everyone.
Here is a snapshot of the guiding principles behind the open source way:
To learn more about the vision behind the open-source movement, the organization has prepared a guidebook containing best practices and tentative guidelines for creating an open-source community and maintaining it: The Open Source Way 2.0.
And here is our list of the top open source IoT platforms that are entirely free to use and allow you to collaborate in an open way:
OpenRemote is a 100% free open source IoT platform. The user-friendly interface makes it possible for companies and individuals to integrate and manage their assets within one central location, design applications and workflows, and visualize data in dashboards. The platform also supports an array of data processing tools.
Some of the key capabilities of OpenRemote are:
Check them out on GitHub here.
ThingsBoard is an open-source IoT platform for the collection processing, analysis, and visualization of data. The platform also comes with a device management service and users can connect their devices using any standard protocol such as HTTP, MQTT, or CoAP. With ThingsBoard, users can build and manage their own workflows.
ThingsBoard features include:
Check them out on GitHub here.
Thinger.io is a scalable IoT cloud platform for connecting devices. You have an easy-to-navigate ready-to-use cloud infrastructure that allows users to integrate, monitor, and control millions of IoT devices. The platform creators believe in the importance of a great developer experience. In their own words, the platform is “easy to use, and easy to understand. No more complex code for doing simple things.”
The platform is hardware-agnostic. You can connect any device, the most typical being Arduino, ESP8266, Raspberry Pi, and Intel Edison. You simply install the server in your own cloud and use the open-source libraries for integrating the IoT devices.
Check them out on GitHub here.
This is an open-source IoT platform that focuses on edge computing. Mainflux is patent-free and end-to-end, under an Apache 2.0 license, and covering most of the things needed for developing IoT solutions, applications, and products.
Users can benefit from the platform’s full transparency, full user control over their own assets, as well as the possibility to do community testing, support, and bug fixes. As the platform was built as a set of containerized microservices orchestrated by Kubernetes, there is no vendor lock-in.
Mainflux provides the complete infrastructure and middleware to execute:
Arduino is one of the best-known names in open-source IoT projects, encompassing both hardware and software. The Arduino Cloud IoT is a cloud solution to configure, program, and connect IoT devices using the Arduino IoT Cloud service. The Arduino software includes two types of integrated development environments (IDE1 and IDE2). A variety of boards, shields, and carriers make up the hardware palette.
The blend of IoT hardware and software makes Arduino an easy-to-implement, easy-to-use IoT platform that needs no further introduction.
At Record Evolution, we have several projects that have been open-sourced for everyone to use, enjoy, and contribute. Here are two open-source projects related to the extraction and reading of IoT measurement data. These are relevant when it comes to IoT development scenarios where you need to extract and normalize IoT data and are dealing with device data in heterogeneous formats.
The open-source project TDMtermite is for reading the proprietary file format TDM/TDX.
TDMtermite is a C++ based library that decodes the proprietary file format TDM/TDX for measurement data. This is how users can extract and read data from National Instruments LabVIEW TDX/TDM files and export them as .csv files.
We use TDMtermite in conjunction with the Record Evolution Platform. TDMtermite is used to integrate measurement data into the platform’s ETL processes. On the platform, the TDMtermite library is available as a Python module and as a command-line tool. Thanks to the Python module of TDMtermite, data scientists can include TDM formats in their existing data pipelines by providing access to both raw data and metadata in terms of native Python objects.
First introduced by National Instruments, the TDM format relies on the technical data management data model and is employed by LabVIEW, LabWindows™/CVI™, Measurement Studio, SignalExpress, and DIAdem.
Check out TDMtermite on GitHub here.
The open-source project IMCtermite is for reading the proprietary imc Bus Format with the file extension .raw.
IMCtermite makes it possible to extract measurement data from binary files with the extension .raw, first introduced and developed by imc Test & Measurement GmbH. On the Record Evolution Platform, we use the IMCtermite library both as a command-line tool and as a Python module to integrate the .raw format into any ETL workflow.
Thanks to the integrated Python module, the extracted data can be stored in any open-source file format accessible by Python, such as .csv, JSON, Parquet, or even HDF5.
Check out IMCtermite on GitHub here.