As the Internet of Things or IoT continues to evolve, device ecosystems are becoming larger, more complex, and increasingly dynamic. For those deploying IoT projects, this complexity may seem intimidating — but it’s possible to simplify matters and take advantage of the benefits that IoT has to offer by using an IoT platform.
What is IoT Platform?
In essence, an IoT platform is the glue that holds together information from the sensors, devices, networks, and software that make up an Internet of Things ecosystem. It’s a multi-layer technology that facilitates the provisioning, management, and automation of connected devices within the Internet of Things.
IoT platforms perform a number of tasks, depending on the classification of their users — and for this reason, they operate under a number of different names.
In enterprise applications, an IoT platform is also known as a cloud enablement platform or IoT enablement platform. It’s often referred to as an IoT application enablement platform, or IoT application development platform for IoT developers. And in reference to the way an IoT platform connects remote devices to user applications (or other devices) and manages interactions between the hardware and application layers of a system, it’s often called middleware.
IoT Middleware Platforms
Historically, IoT platforms originated as middleware, responsible for acting as a mediator between the hardware and application layers of an IoT network. Primary functions in this regard included collecting data from IoT devices via different protocols and network topologies, remote device configuration and control, device management, and over-the-air or OTA firmware updates.
Since IoT systems typically consist of devices and applications of different types and from different vendors, IoT middleware should be independent or agnostic from the underlying hardware and installed software. This allows it to support integration with almost any connected device and with third-party applications.
IoT Platforms and Network Layers
Building on the basic functionality of middleware, modern IoT platforms introduce various features into the hardware and application layers of an IoT network. These include components for front end operations and analytics, on-device data processing, and cloud-based deployment.
There are four main elements in the technology stack of an IoT deployment: devices, connectivity, core IoT features, and applications, and analytics.
The IoT platform itself consists of several layers. First is the infrastructure level, with components for container management, internal platform messaging, orchestration of IoT solution clusters, and other functions that govern its basic operation.
A communication layer enables messaging for the IoT devices, providing connections to the cloud through which they perform different functions.
The core IoT features layer provides essential capabilities such as data collection, device management, configuration management, messaging, and over the air (OTA) software updates.
The applications and analytics layer is dedicated to processing data within the platform. It contains visualization tools for data representation in user applications and tools for generating custom reports. Other features include a rule engine, system analytics, and alerts for any anomalies detected in your IoT solution. At this level, the best platforms are flexible enough to allow users to add their own industry-specific components and third-party applications.
Selection Criteria for an IoT Platform
A number of factors come into play when assessing the suitability or otherwise of an IoT platform. These include:
- Scalability: Advanced and cloud-native platforms should be able to expand or contract across any number of endpoints. This is especially important for on-premises cloud deployments, and a platform should be tested for its load balancing capabilities and their effect on the performance of the server cluster.
- Customization: Integration APIs (Application Programming Interfaces), the coupling of the platform’s components, and transparency of source code should be customizable and flexible enough to give developers a substantial degree of control over the entire system, its source code, integration interfaces, deployment options, data schemas, connectivity, and security mechanisms.
- Security: Basic features such as comprehensive identity management, end-to-end data flow encryption, the encryption of data at rest, device authentication, user access rights management, and private cloud infrastructure for sensitive data should be taken as standard.
The Open Source IoT Platform
Open source IoT platform solutions take an open approach to their software development, which allows independent and corporate code enthusiasts to join the programming process by contributing their own ideas to the platform’s evolution and deployment. Open source projects are often but not always free of charge, with some offerings coming with fairly hefty price tags.
As of August 2020, some of the best open-source IoT platforms for data collection, processing, visualization, and device management include:
Arduino operates via an array of hardware specifications that can be given to interactive electronics. The platform’s software is based on the Arduino programming language and Integrated Development Environment (IDE).
Flutter is a programmable processor core for electronics projects, built with students and engineers in mind. It features 256-bit AES encryption and ease of use.
M2MLabs Mainspring is an application framework for developing machine to machine (M2M) applications such as remote control, fleet administration, or smart terminals. It’s based on Java and the Apache Cassandra NoSQL database. Besides flexible design tools for devices and connection between machines and applications, it offers validation and normalization of data, long-term data repository, and data retrieval functions.
Node-RED is a visual tool for wiring together hardware devices, APIs (Application Programming Interfaces), and online services. Able to run on Raspberry Pi, it gives developers the means to connect devices, services, and APIs using a browser-based flow editor.
ThingsBoard is an open-source platform for data collection, processing, visualization, and device management. It supports standard IoT protocols such as CoAP, MQTT, and HTTP as cloud and on-premise deployments and builds workflows based on design life cycle events, REST API events, or RPC requests.
Zetta is an API based IoT platform using Node.js, which provides a complete toolkit for making HTTP APIs for devices. Developed for data-intensive and real-time applications, it can run on the cloud, a PC, or even modest development boards, allowing developers to assemble smartphone apps, device apps, and cloud apps.
Free IoT Platforms
All the following IoT platforms offer free versions, though some may be time or feature-limited:
Axonize offers a free and disruptive, multi-app architecture, purpose-built for service providers and end customers. It enables users to deploy fully customized smart solutions across all applications, verticals, and device types while cutting down application development and smart project launch times.
Bevywise IoT Platform
Bevywise IoT Platform is a highly extensible server implementation based on a Software-as-a-Service or SaaS model. It provides REST API, Mobile SDK, FCM Integration, and Data interception to extend the IoT Platform and for building custom apps. Users can seamlessly connect devices, sensors, web clients, mobile devices, and web applications to the platform.
Blynk IoT Platform
Blynk is a PaaS (Platform-as-a-Service) offering that helps individuals and organizations to seamlessly progress from the prototype of a connected product to its commercial launch. The platform features support for over 400 hardware models. Entry Level subscriptions to the service are free.
Fogwing is a comprehensive Industrial IoT (IIoT) platform available as a service on a subscription basis with no charge at Entry Level. Its no-code platform provides features for connecting with Cellular Wireless (3G, 4G, or 5G) and LoRaWAN based edge devices, data streaming, data rules routing, data alerts, command center, data storage, integration, and analytics. Fogwing also provides IoT solutions as Apps for easy adoption.
IoT Glue is a mobile-enabled IoT integration platform which offers an API-driven technology framework with vertical-specific solutions for Fleet Management, Smart City solutions, Smart Farming, and Smart Building Management. IoT Glue users can also offer additional IoT offerings to their own end-customers.