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.

 

noderedlogo

 

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. 

 

noderededit

 

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.

 

nodereadnodes

 

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.  

 

noderedicon

Banner


Open Source Funding Report Shows $7.7 Billion Annual Investment
06/12/2024

The inaugural 2024 OSS Funding Survey has been published with key findings including a $7.7 billion annual investment in the open source ecosystem.



The Advent of SQL 2024 Has Commenced
11/12/2024

It's Advent - the time of year when we countdown the days to Christmas - and if your are a programmer complete daily coding challenges with the Advent of Code, the Advent of Perl, the Advent of Java,  [ ... ]


More News

 

espbook

 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Thursday, 09 October 2014 )