Open Source IoT Development Tools vs. Vendor-Supported Tools
More enterprises are exploring the development of their own Internet of Things (IoT) applications for company-specific use cases that can optimize operations, revenue gains and cost savings.
September 27, 2021
By Mary Shacklett
Deciding on an IoT Toolset
Companies are implementing IoT by purchasing turnkey technologies and customizing them. But more are exploring the development of their own Internet of Things (IoT) applications for company-specific use cases that can optimize operations, revenue gains and cost savings.
This has organizations on the hunt for IoT software development tools.
Companies have several reasons to choose open source IoT development: it’s vendor-agnostic, supported by a worldwide community and – usually – it’s free. But the argument for vendor-supported toolsets is also strong, especially if companies use a high amount of IoT in these vendor environments.
Here’s a breakdown of vendor-supported tools that are gaining traction in enterprise IoT development:
Eclipse NeoSCADA
NeoSCADA is a set of IoT development tools that can be used flexibly and for many different applications. It contains development libraries, interface applications, mass configuration tools, and front-end and back-end applications. Eclipse fully supports this toolset with expertise when help is needed. Additionally, the Eclipse IoT Industry group engages with OpenSCADA, an open source IoT development toolset, or SCADA that features editing and debugging, front-end applications, back-end applications, libraries, interface applications, configuration tools, and many programming languages like Utgard, Atlantis, Orilla, and others.
Who uses this: Companies in the utility, telecom, industrial, airport/facility sectors that use IoT in process control, facility management, power generation, fabrication and equipment manufacturing, and must operate and control these processes in a remote environment.
AWS IoT
Amazon Web Services (AWS) provides IoT development tools for use in the AWS cloud. It features an IoT developer toolkit for IoT application building with C++ APIs (application programming interfaces), and also supports popular developer IDEs (integrated development environment) such as JavaScript, Python and PHP. Since all development is in the cloud, it is easy for developers to work from the office or from home. Companies can also preset their application development security parameters in the cloud, such as who has access to which development resources, when and where encryption should be used, etc.
Who uses this: Heavy users of AWS cloud benefit the most because on-cloud AWS IoT development easily integrates with other AWS products. Additionally, any company whose IoT developers are offsite or in home offices will benefit, because the AWS IoT development environment is 100% cloud based.
Microsoft Azure IoT Tools
Using Visual Studio code as its software editor, Microsoft Azure IoT Tools enables software developers to develop and connect IoT applications to the Microsoft Azure cloud. Developers can also build and validate IoT devices for work with Azure (this includes MXChip IoT DevKit, ESP32 and Raspberry Pi). Artificial intelligence applications that use custom logic can be deployed to Azure IoT Edge, which runs IoT edge devices. For those who operate in Microsoft shops, the transition to IoT coding is made easier if they’re already Visual Studio users.
Who uses this: Companies that are heavy Microsoft Azure users.
IBM Watson IoT Platform
IBM Watson’s IoT development platform is a cloud-based repository of IoT functions and application development tools from which developers can pick and choose. Functionality of Watson IoT includes registering and connecting IoT devices, configuring and managing IoT, and creating dashboards, mobile apps and data visualizations. IoT application developers are assisted by a library of application programming interfaces that facilitates IoT integration, as well as features like image recognition and voice interface.
Who uses this: Companies that use IBM Watson as an artificial intelligence and AI platform, and that wish to integrate Watson with IoT.
Cisco IoT Cloud Connect Platform Development Tools
Cisco IoT Cloud Connect Platform development tools are centered around network linkages, security and data collections and exchanges with IoT devices. From a use case perspective, Cisco’s developer tools are ideal for application projects that target network and IoT optimization for data speeds and security. This may include automating IoT data collection processes for a myriad of distributed IoT devices, for instance enabling smart cities to collect data from different points of infrastructure.
The Cisco IoT development platform also provides best practices guidance for developers who want to secure IoT and network data in edge operation area – critical for enterprises with multi-location IoT prone to data or network breaches.
Who uses this: Organizations that develop applications for distributed networks of IoT devices, and which have a network-centric focus on IoT development.
ThingWorx
Developed by PTC, ThingWorks is an Industrial Internet of Things (IIoT) development platform that is well suited for application development that supports remote asset monitoring, remote maintenance/service, predictive maintenance, asset management, and equipment optimization. The ThingWorx development platform is widely used in the manufacturing and healthcare industries (e.g., medical equipment and process programming that uses IoT).
PTC specializes in product lifecycle management, computer-aided design , industrial IoT and augmented reality, so its ThingWorx toolset is suited to developers who must program in an IIoT environment.
Who uses this: Companies with IoT development needs in industrial manufacturing and healthcare.
Final Thoughts on IoT Development Tools
For many companies, choosing open source tools for IoT development is popular because open source software is free, and an easy way to begin in-house IoT development at low cost.
At the same time, though, there is a strong argument for vendor-supported IoT development tools, especially for companies in highly specialized industries, or for those that already operate in vendor environment such as Microsoft, IBM or AWS.
In these cases, you pay for the software, but you also get vendor support, and a high likelihood that what you develop works seamlessly with other applications.