Node-RED and Raspberry Pi

Node-RED is an interesting environment for modeling processes, by visually defining information flows. It is a module working in the node.js environment. It is a flow-based programming tool, originally developed by the IBM Emerging Technology Services team and now part of the JS Foundation.

History of Node-RED environment

Node-RED provides users with a ready-made set of easy-to-connect nodes and supports code creation by configuring data transmission and sensor communication to their applications. It is up to you whether you create a new flow of equipment to increase and control the economics of the IoT system. Hardware platform for this system can easily be Raspberry Pi based industrial device, like ModBerry computer.

Node-RED started life in early 2013 as a side-project by Nick O’Leary and Dave Conway-Jones of IBM’s Emerging Technology Services group. What began as a proof-of-concept for visualising and manipulating mappings between MQTT topics, quickly became a much more general tool that could be easily extended in any direction.

It was open-sourced in September 2013 and has been developed in the open ever since, culminating in it being one of the founding projects of the JS Foundation in October 2016.


How does Node-RED work?

Node.js is a runtime environment for programs written in JavaScript, currently based on the Chrome V8 engine. While I used to associate JavaScript only with scripts for animated galleries on websites, after a really short period of learning I notice the great advantages of using JS as a language for creating programs launched outside of the browser. Programs run in node.js work in the background, in the console, or even have their own UI with normal windows in Windows, macOS or Linux.

Node-RED example
Node-RED example

The principle of operation is relatively simple. Visually, we combine different blocks that perform specific functions. Through connections, Node-RED sends messages, which are basically a JavaScript object, consisting of various data.

Node-RED consists of a Node.js based runtime that you point a web browser at to access the flow editor. Within the browser you create your application by dragging nodes from your palette into a workspace and start to wire them together. With a single click, the application is deployed back to the runtime where it is run. The palette of nodes can be easily extended by installing new nodes created by the community and the flows you create can be easily shared as JSON files.


Who can benefit from Node-RED?

Flow-based programming is ideal for the creators of IoT solutions for visualizing and controlling data flow, maintaining and managing a series of cause-related events. Apart from the fact that Node-RED can be run basically anywhere you can install NodeJS, this program is a card for IoT solution developers for mapping and maintaining solutions.

With the development and implementation of Internet of Things solutions around the world, Node-RED has become an invaluable tool for solution architects and programmers, due to its ease of use in flow programming and solution mapping. IoT solutions, also known as applications, are the convergence of the physical world with the digital world to extract valuable data for insight that increases process or system performance. This convergence results in countless triggers and events that must be performed to control systems or notify those responsible when the system is above its expectations.