Wiring the Internet of Things
One of the unique challenges of the Internet of Things is stepping into an object oriented world, and understanding how to link together so many disparate objects that speak different languages. The average IoT engineer is not interested in diving into the coding necessary to drive these interactions, they want to quickly be able to pull in operational data. This is where a tool that makes easily wiring together the IoT, incredibly valuable.
Eliminating arduous processes with wiring
Nick O’Leary and Dave Conway-Jones of IBM’s Emerging Technologies group were looking for a way to simplify the process of linking together systems and devices when developing for the Internet of Things. As exciting as some of the end results can be, linking things together can be an arduous process that has to be repeated countless times. Nick and Dave wanted to develop a toolbox of reusable code that could make the process simpler and more easily repeatable to speed up development. What started as a side project a few years ago in the IBM Hursley Lab, has grown to become an important open-source tool to wire together the Internet of Things.
Initial experiments at Hursley using drag-and-drop graphical tools to create the code needed to let web services, software and hardware communicate developed into Node-RED; a visual tool for wiring together hardware devices, APIs and online services in new and interesting ways.
This simple tool makes it easy to wire together real-world events, add in some intelligence, and access simple nodes to integrate them with existing messaging systems and social platforms such as Twitter, MongoDB, and Watson IoT to create applications that can react to the world around them.
Lowering the technical bar
Node-RED reduces the need to write code, lowering the technical bar and allowing those interested in developing for the IoT to focus on the creating, rather than on the doing. Nick has noted that he has been surprised by how many different applications people are using Node-RED for, including schools teaching kids to code using Node-RED due its ease-of-use.
The beauty of Node-RED is that almost any one can quickly learn to use it, it’s not limited to the realm of programmers. It can be used just as easily on a Raspberry Pi as it can in cloud environments such as IBM Bluemix.
And while Node-RED is an incredibly useful tool for wiring together the Internet of Things, it has applications far beyond IoT. It can be used as a generic event-processing engine. For example, you can use it to listen to events from http, websockets, tcp, and Twitter, then capture and store that data. You can also use it to implement simple REST APIs. You can do all of this without having to program much at all.
Get started with Node-RED
You can get started with Node-RED by visiting nodered.org. The project is developed in the open on GitHub and has a vibrant, growing community around it. Before diving in, check out this video on how easy it is to get started: