Node-RED Another Way To The IoT
Written by Harry Fairhead   
Wednesday, 08 October 2014

It seems every one is trying to get on top of the IoT with some software that will rule the world - more or less literally in this case. Now IBM has an open source tool based on node.js cleverly called Node-RED.


Node-RED, which is a featured project of the UK-based IBM Emerging Technology team, is a visual tool for wiring things together. While it specifically mentions the "Internet of Things" it seems to be more capable than this narrow target.




It allows you to connect together message passing nodes. Its visual editor, based on Orion, lets you drag and drop nodes onto the design surface and then join them together by dragging lines between them. 

Each node can be a small JavaScript program which accepts a message in the form of a JSON object and produces JSON objects to pass on to other nodes. An HTML file is used to define the node's properties for the editor. If you don't want to create a whole new node to get something custom done you can use a function node which allows you to write a function to process the messages. 




The system comes with a set of predefined nodes of various types that can be used to create standard flows, including nodes for connecting to social networks, real networks, and for storage. Of course, for anything really new you will probably have to add your own custom nodes.




There are also nodes for working with a small range of popular development boards: Arduino, BeagleBone Black and Raspberry Pi. To make a flow work on any of these devices you have to download and configure some software. After that you can control them using an output node and/or input node. For example, the Arduino output node can be used in digital, analog or servo mode. The corresponding input node works in digital or analog. 

Support for the Raspberry Pi isn't quite as well packaged. There is a GPIO node, which is simple, or you can install WiringPi which can then be used from within a standard function node. This means you are going to be writing more code than for the Arduino, say. 

A complete flow can be saved and loaded in the form of a JSON file and this can be used to exchange flows as well. The Node-RED website has an area where flows can be uploaded and shared. 

It is difficult to know exactly what problem it is that Node-RED is aimed at solving. The idea of a graphical editor being used to connect nodes together that transform the JSON objects that they pass around is very nice. Given enough nodes of different types it might be possible to use it to create systems that gather and process data and even react to that data. If you can write a JavaScript connector for it, then you can integrate other hardware as either receiver or transmitter nodes but this can be difficult.

Currently what is lacking is a range of nodes that let you connect easily and at a high level to systems such as Z Wave, X10 and so on. It isn't enough to provide nodes that give you low level access to the hardware. There isn't much point in creating a high level abstraction like a flow if you have to drop down to do bit-twiddling in custom nodes.  




ChatGPT And Excel Another Coding Threat?

We have been considering the role of coding copilots in helping skilled programmers create code, but what happens when large language models attempt to create a spreadsheet? Is this just another way t [ ... ]

GitHub Adds To Enterprise Importer

GitHub has updated its products for importing repositories and CI pipelines. GitHub Enterprise Importer can now be used to import from Bitbucket, and GitHub Actions Importer can now be used for Atlass [ ... ]

More News





or email your comment to:

Last Updated ( Thursday, 09 October 2014 )