Meet Node-Red: A workflow editor for your node.js #IoT Projects!

Recently, two IBM guys have released a web-based node.js workflow editor for the IoT: Node-Red.

Node-Red is fully web-based, open source and enables you simply by dragging nodes on the workspace and connecting them to build an IoT project. Fully open-source, it only takes a few minutes to install it. It comes with a ‘Pallete’ –  a selection of actions nodes that can be dragged onto the main canvas – the canvas (or work area for designing your workflow) and an information section where you can view info about the nodes and debugging messages.

Node-Red comes ‘Arduino-ready’: Using Firmata you can control the I/Os of your Arduino (assuming that it is attached through USB on your Node-Red host) using the appropriate node. An Arduino Input Node (the first one on the list) connects to the attached Arduino board and monitors the selected pin (analog or digital) for input. To configure the Arduino parameters simply click on the input node after dragging it into the canvas.

More information on using your Arduino board with Node-Red can be found here.

Network communication: So far Node-Red provides nodes for HTTP connections (the HTTP input node for making a request {POST, PUT, GET and DELETE} to a particular URL), nodes for TCP socket implementation (both server and client sockets), nodes general TCP/UDP sockets and of course (could not have been missed) MQTT nodes for subscribing to a broker and a specific topic, allowing both

For my first Node-Red project (to be presented soon – see screenshot for hints) I needed a generic HTTP request node that would allow users to define HTTP method, server path and port, headers and data. I created myself a new node (named it as HTTP_generic) that allows users to set any parameter like HTTP method, port, path, headers and data request. I have created a pull request, but I have been informed by one of the contributors that they are already working on extending the current HTTP nodes functionality!

Leave a Reply

Your email address will not be published. Required fields are marked *