The Internet of Things continues to grow rapidly, with more than 64 billion devices expected to be online by 2025. As developers create new devices for a wide range of use cases, the number of IoT development tools is also proliferating. These tools and platforms provide an important training ground for developers and testing environments for future IoT devices.
There’s a lot involved in designing an IoT product — potential software and app development, planning how data will be collected and analyzed, and choosing a platform to oversee devices in the field. And with so many tools and platforms out there, choosing the right ones for your IoT project can be overwhelming. In this post, we’ll take a closer look at twelve of the top IoT development tools and what makes them so useful.
Recommended reading: The Ultimate Guide to the Internet of Things
IoT development tools could include hardware such as development boards and shields, software tools to create programs that run IoT systems, and platforms used to help manage IoT devices. For example, if you need a program that monitors the security cameras around your house and alerts you when something changes, that program has to be developed by someone on a platform with a form of coding.
IoT devices often have limited processing power and connectivity, so programs can’t count on large storage capacity at the edge or the ability to patch and update at any time like they would with a phone app. And IoT architecture has a number of places where apps are needed.
We’ve put together a list of 11 development tools that give developers what they need to create small, efficient, and adaptable apps for effective IoT systems. This list includes a mixture of hardware, software, and platform development products, representing some of the most commonly used tools in the IoT developer community today.
IBM Watson is a managed, cloud-hosted service providing management capabilities for both devices and data. Ultimately, it’s a curated experience where using the platform gives developers access to a diverse toolbox for all four stages of the development process.
You can build IoT apps using the Blumix service, which includes storage services, rules, analytics services, and stream analytics. Tap into Watson’s functionality in machine learning, and use it with devices that communicate using MQTT or HTTP.
The primary draw is the access to all of the tools at IBM’s disposal. You are not getting just a single tool, but a whole garage full of development tools for both app creation and platform management.
An open-source, cloud-based platform, Microsoft Azure helps bring local intelligence to the distributed IoT. It’s a cloud-based solution (no hardware needed) that allows for remote device monitoring through an online dashboard.
With remote monitoring and continuous data analysis, it’s a one-stop solution with all the functionality needed for IoT development in one place.
It’s great for beginners because it offers starter kits as well as high-quality automation processes.
Created by The Eclipse Foundation (https://www.eclipse.org/org/foundation/), a Canada-based organization, Eclipse IoT is a collection of useful development tools. Academics and people in the industry joined forces to create this series of open source tools for the IoT developer community.
Each tool from Eclipse provides a different function. For example, Eclipse Streamsheets™ translates the workings of IoT into a spreadsheet so users can better understand and regulate their processes. Eclipse Keyple® is designed to help set up systems that use card readers and ticketing systems — for use when boarding a bus, for example, or to scan personnel into a building. There are dozens of Eclipse tools to choose from.
For one thing, Eclipse IoT tools are free. Open source means anyone can download them, make alterations, and start using them. With so many permutations, they’re very flexible as well. The downside is there are no real services included — the tools’ creators are not going to be managing anything for you.
Arduino IoT Cloud is an online platform that allows you to create, deploy and monitor your IoT projects.
The platform allows users to create IoT projects on a user-friendly interface that includes capabilities such as configuration, code writing, uploading, and visualization. The platform allows you to make over-the-air (OTA) uploads to your devices, share your web-based dashboard with remote colleagues, synch variables across devices, and more.
It uses C++, Java, or Python coding languages, allowing for wide usability. You can connect either Arduino or third-party hardware using Wi-Fi, LoRaWAN®, or cellular (NB-IoT), depending on device capabilities.
Raspberry Pi OS is a free operating system that’s optimized for Raspberry Pi hardware.(A popular IoT hardware tool, the Raspberry Pi is a computer the size of a credit card that can plug right into a TV or monitor and be used with a mouse and keyboard. It acts much like a normal computer and is commonly used in IoT device prototyping.)
The Raspberry Pi OS lets you set up your country, language, password, and other information. This is very relevant depending on where you are selling the IoT device.
It is free, and it was designed for Raspberry Pi, making it the best choice to run on devices developed on their hardware.
SCADA stands for Supervisory Control And Data Acquisition, a combination of software and hardware allowing industrial organizations to interact with connected devices such as sensors, motors, and valves. OpenSCADA is basically an open-source implementation of SCADA, allowing for multiplatform applications, scalability, and modularity.
It serves as an open-source server, but its main usefulness is its ability to interface with all kinds of IoT devices and normal web browsers. For example, imagine you want to change the temperature setting on your smart thermostat via a website from your laptop at work. You send SCADA the message, and it instructs the thermostat to turn down your AC.
It’s free, very flexible, and promotes innovation. You can go into the code and make adjustments yourself as needed.
Rather than a single tool, DeviceHive is an entire platform with a full-on IoT service that can walk you from ideation to implementation. It’s open source, but the company makes a lot of effort to sell its add-on services.
DeviceHive’s services range from consulting to technical support, setting up devices, networks, servers, and more. They present themselves as an all-in-one solution.
It’s great if you have an IoT need but don’t have in-house programming experts that can take the open-source tools and run with them.
DeviceHub contains the drivers for PLC (Programmable Logic Controller) devices. PLCs are industrial computers that have been made extremely rugged to deal with harsh environments like extreme temperatures and moisture.
It allows devices to interconnect with one another. Just like your printer needs a driver so it can talk to your computer, so too the temperature sensor in a robotic arm needs a driver to alert the central system when it’s on the verge of breaking down. DeviceHub collects all the data to send where needed — the cloud, a server, or elsewhere.
It’s highly configurable to a number of devices.
Flutter is a software development tool for building cross-platform apps, primarily for android and other cell phones. But the tool is still useful if you want your IoT devices to interface with a phone system — for example, an app for micromobility vehicles or wearable health devices.
It can connect with Bluetooth, opening the door to many IoT devices since Bluetooth and Bluetooth Low Energy (BLE) are common connectivity avenues for consumer IoT products. Flutter is also cross-platform, so you’re not locked into a single OS.
Beyond its ability to build cross-platform apps and connect with Bluetooth, Flutter also boasts a user-friendly interface and is quite scalable — if it works for a small number of devices, it will work on a large scale as well.
An open-source IoT platform, ThingsBoard supports HTTP, MQTT, CoAP, and other IoT protocols with speeds that rival cloud or on-premise distributions. The tool can be used for device management and collecting, processing, and visualizing data.
ThingsBoard includes 30 dashboard widgets, the ability to change and normalize device inputs for creating alerts, and the functionality to control devices on a stable and scalable platform.
It’s a very stable platform that can easily manage millions of devices.
Node-RED is a programming tool for wiring hardware together and works with API (Application Program Interface). Essentially, it enables hardware and software to communicate.
Browser-based node programming makes it simple to line up how you want your connections to go. Node-RED is one of the few that lets you visualize IoT networks, which is very helpful in the design phase.
It also takes very little computing power to work with this system, so it works well with IoT devices that have limited onboard processing space.
It’s easy to use (the visualization aspect), runs in the common language of JavaScript, and is compatible with most other operating systems. Node-RED can also run in the cloud or on lower-end hardware like Raspberry Pi.
No matter which tools you use to develop your IoT product, Hologram can get you connected. Deploy your IoT devices with Hologram’s secure, future-proof IoT SIM cards, global network, and cloud-based device management platform.