IoT frameworks exist to help you create IoT solutions without doing all your own development. Some simply give you a structure to work inside; others offer you enterprise-level data analysis and control — for a price. Choosing the right one is a key part of the success of your IoT project.
In this post, we’ll briefly cover what a framework is and how they work, then give an overview of the main open-source and proprietary frameworks. If you’re relatively new to the IoT, here are some resources to help you orient yourself:
IoT is the Internet of Things. It refers to groups of connected devices that communicate with each other through technologies like Bluetooth and RFID, and are connected to the internet. It’s a complex topic that’s growing in importance and popularity, so check out our guides to:
- IoT development
- IoT Products (White paper download)
- IoT operating systems
- Industrial IoT
- Uses for the IoT
- IoT architecture
- IoT in healthcare
What are IoT frameworks?
IoT frameworks, sometimes referred to as IoT platforms, exist to deal with the open-ended complexity of building IoT solutions. IoT solutions can include:
- Operating systems, middleware, and firmware
- Network architecture
- Security and firewalling
Ready? OK, let’s develop an application.
This is like all unstructured processes: if you have a lot of resources and expertise it’s very freeing. You can make anything you want. But if you’d like to get to the value of IoT without becoming an expert in it, it’s difficult and obstructive. The IoT is where computers were in the 80s or the internet was in the 90s. Adoption is skyrocketing, the value is clear, but the route to it is not marked out in a way that’s easy for businesses to relate to and use.
Frameworks hem you in and support you, making it easier to make decisions between fewer options because you know the results will work. They’re often offered by companies that are already players in the industry — Google, Cisco, and Amazon offer frameworks, for instance.
However, other, open-source frameworks have been put forward by groups of users seeking an environment to develop applications and solutions for their own organizations. Again, this makes sense: the most-used OSs for IoT devices are Linux and smaller, often Linux-descended open-source tools. Even some of the specialized proprietary tools are maintained by their communities under non-profit licensing.
Open-source frameworks aren’t always free — that’s a misconception. Instead, they’re so called because their source code is available for inspection by you and others. Having many eyes on code often (though not always) means it’s better, and open-source applications are frequently more secure than their proprietary analogs.
What’s in a framework?
Frameworks typically include:
- Hardware devices, including sensors, controllers, micro-controllers, and other hardware elements
- Software applications that configure controllers and operate them remotely
- Communications systems and options — Bluetooth Low Energy or RFID
- Applications layer, running over devices and networks to deliver results
Thus, if you’re working with a framework, you should have an easier time building a solution that delivers what you want. However, you still need to select an appropriate framework.Let’s start by looking at the open-source frameworks.
Open source frameworks
DeviceHive documentation: https://docs.devicehive.com/docs
DeviceHive is an open-source IoT cloud platform licensed under the Apache License Version 2.0, and focuses on big data analytics.
DeviceHive supports Python, Node.js, Java and other widely-used client libraries, making developing applications quicker and easier. It offers scalable public, private, and hybrid cloud resources, supports popular containerization tools Docker and Kubernetes, and will connect any device with REST, WebSockets or the lightweight, IoT-specific MQTT (Message Queue Telemetry Transport) communications protocol. It lets users easily use the Apache Kafka, Spark, and Cassandra big data analytics solutions.
DeviceHive’s client libraries, server resources, firmware, and additional code can be downloaded here: https://devicehive.com/download/
To try DeviceHive in the Playground, go here: https://playground.devicehive.com/
ThingSpeak Documentation: https://www.mathworks.com/help/thingspeak/
ThingSpeak is an IoT framework offered by MathWorks, and integrates tightly with the company’s MATLAB data analysis solution.
ThingSpeak offers live data stream aggregation and analysis, recording and assignment of public channels to share data, and data visualization. It works with REST and MQTT, integrates seamlessly with MATLAB analytics and lets users enable event-triggered alerts with the TimeControl function.
ThingSpeak is free for noncommercial use and offers a free trial for commercial users: https://thingspeak.com/login?skipSSOCheck=true
‘ThingSpeak capacity is bought in units, where one unit allows 33 million messages to be processed and stored in a one-year period,’ the company’s website explains, and starts out at $660 per unit per year. Learn more here:
Mainflux is open-source, patent-free, and comes with a toolkit for data collection and management, core analytics, and event scheduling.
Mainflux comes with connectivity over HTTP, MQTT, WebSocket and CoAP (Constrained Application Protocol). There’s device management and provisioning, container-based deployment through Docker and orchestration through Kubernetes, and an option for enhanced data security via customizable API keys and scoped JWT (JSON Web Token).
Optimized for reduced operating expenses, Mainflux is device- and protocol-agnostic, and can be deployed on premises, in the cloud, or hybrid.
Mainflux is available on a range of terms. You can simply download, install, and operate it yourself. That’s free. You can download the relevant files here:
Alternatively, there are managed options, combining support with hosting costs. On-premises incurs no hosting costs; managed cloud hosting costs $500 per month. There are two paid support plans. Professional includes support coverage for Mainflux features only, offers a service-level agreement for two working days within business hours, and support through Slack, all for $2,000 per month. Business includes support through web conference as well as Slack, a 4-hour SLA on working days, and support for developers and ops — all for $5,000 per month. Learn more here: https://mainflux.com/pricing.html
Thinger documentation: http://docs.thinger.io/
Thinger is an open-source IoT platform that lets you build logic flows visually and uses Docker.
Thinger offers easy integration with multiple types of hardware, including support for Arduino IDE, Linux, Sigfox and ARM Mbed boards. Users interface with it via a dashboard that looks and feels very web 2.0, with live streaming to websockets, device data visualization, support for iOS and Android apps, and If-This-Then-That event-triggered settings for multiple IoT devices. That matters because it lets you build IoT workflows remotely and deploy them instantly.
Thinger offers a free subscription, but it’s primarily for hobbyists and covers just two devices. Other subscriptions are named Small, Medium and Large, with restrictions on both features and developer numbers at the lower end. However, all paid subscriptions cover unlimited devices. Small costs €25 (about $26.50) per month, Medium is €129 (about $137) and Large is around €259 ($276). To learn more, see their pricing page:
Again, these aren’t proprietary in that they cost money to use: as we’ve seen, open source frameworks aren’t always free, or even low cost. Proprietary frameworks keep their code to themselves, and are typically owned by larger companies like Amazon and Cisco. We’ll quickly give the rundown on the most popular proprietary platforms.
AWS IoT documentation: https://docs.aws.amazon.com/iot/
Amazon Web Services is the behemoth of the internet. Its servers power around a third of all cloud services, effectively powering more of the internet than any other entity.
The company’s IoT offering gives users access to data management and analytics tools and cloud services, including enterprise-level access control, encryption and auditing. It also delivers device management for large fleets of devices and is easy to scale. There are even additional hardware modules to turn already-embedded devices into IoT devices and connect them to your network. Unsurprisingly, AWS is favored by larger companies with deep pockets. AWS features the Volkswagen group prominently in its case studies. However, they also have plenty of smaller customers.
There’s a quick-start page here: https://aws.amazon.com/getting-started/
AWS IoT has a pricing calculator here: https://calculator.aws/#/createCalculator/IoTCore
Cisco provides IoT solutions as part of its package of cloud tools for the enterprise. As such, it links up with other elements of the Cisco toolkit — IoT data management is handled by the Cisco Kinetic IoT platform. Its IoT provisions focus on the Industrial IoT. Cisco is famous for its security, and its IoT platform is among the most secure on the market. Users get the peace of mind that comes with working with a global leader in the field.
There’s a free trial of Cisco’s IoT offering:
Alternatively, contact Cisco for a quote:
Azure provides preconfigured IoT solutions, and lets users build their own inside the platform without needing extensive development skills. It’s highly scalable, integrates well with the rest of the Microsoft ecosystem, and is easy to deploy and maintain. However, costs can be relatively high.
Microsoft provides a cost calculator here:
Cleverly, they also provide a TCO (Total Cost of Ownership) cost calculator here:
Watson documentation: https://cloud.ibm.com/docs/IoT/index.html
Focused on large-scale applications, IBM Watson IoT offers a centralized dashboard, device management, and scalable connectivity over MQTT. Users can reboot and update firmware, get diagnostics and metadata, and bulk-add and -remove devices directly from their dashboard. There’s real-time data exchange and secure storage, and a wide range of partner programs.
Google IoT Cloud Core documentation: https://cloud.google.com/iot/docs
Google Cloud offers an end-to-end platform for IoT development, a fully-managed service that’s as near as you can get to ‘plug and play IoT.’ It’s a part of the wider Google Cloud service offering, and lets you use other Google Cloud tools to manage and analyze data, as well as doing things like device load balancing and two-way communication. The biggest selling point is immediacy: the website’s homepage ends on the promise that you can ‘get straight to work.’
There’s a free trial available here:
With multiple tools available, including sophisticated solutions like cloud AI model training, it’s impossible to offer a flat price list, but there is a price calculator here:
Working with AndPlus
Choosing the correct IoT platform for your project is a matter of balancing out several factors, including base costs, total cost of ownership, and expected profitability or savings. You also need to take into account costs in time and capital associated with development and planning. Making the best choice isn’t always simple.
AndPlus has experience developing IoT solutions for businesses, including industrial networks, complex multi-device, multi-site data analysis implementations, and IoT applications to control devices in multiple industries. With both business and technical understanding, AndPlus can help you build the IoT solution that will best help your business thrive.
- IoT frameworks exist to make building and deploying IoT easier, quicker, and more predictable and secure.
- Different frameworks are better suited to different types of IoT solutions, but also to different business needs.
- Selecting the right IoT framework helps ensure the success of your project.
- No single IoT framework is ‘the best’ or ‘the right solution’ by itself.
- Open source frameworks typically trade off flexibility against ease of initial use and security, while proprietary frameworks typically offer more support.