Platform Login
robot_pointer_w_curtain-node-red

Why Node-RED is perfect for low-code development & dashboards

Many IoT projects still fail. Therefore it is very important to be able to create working proof of concepts very quickly while limiting costs to a minimum. Here Node-Red dashboards come to the rescue. Having a minimum viable product often shows if the use case works and if the business case behind it has a positive ROI (return on investment). In order to achieve this flexibility low-code development is one of the key solutions to realise IoT projects quickly. But with the achieved stability of current low-code solutions such as Node-RED it is a trend that these solutions also end up in production because they are efficient, stable and easy to maintain.

What is Node-RED?

Node-RED is a powerful tool for industrial low-code IoT development. It is easy to use and has a wide range of applications. It was originally developed by IBM for Internet of Things applications and has since then gathered many active contributors. It provides a web based flow editor which can be used to create javascript functions. As of today there are many hundred Node-RED nodes that are maintained and can be used for new projects. The simplicity with which different processing nodes can be connected together and be configured allow any developer to start using Node-RED immediately. Functional blocks can be written and easily extended with Javascript. Node-RED is available for many platforms and runs just as well on small Arm CPU devices such as a Raspberry Pi or on full x86 machines. The key building block are the Node-RED flows. 

Above you see an example of a Node-RED Modbus flow that collects electricity data such as voltage, current or power from a Modbus device. The measurement values are then pulled from the device running Node-RED by sending a query to the Modbus device requesting certain coil values. All values are sent to a cloud backend using the Node-RED MQTT flow node called “power”. Sending data via MQTT is as easy as defining the Node-RED MQTT block. Any of the function blocks can contain calculations, logic or any other function important for the system.

The Benefits of Using Node-RED for Industrial Low-Code IoT Development

Traditionally most IoT applications have been created using one of the programming languages such as C or C++. This creates native and fast applications, but creating a first version needs a lot of development. Therefore this approach is time consuming and many device functions need to be integrated into the according language libraries. In contrast to this Node-RED provides already a vast repository of pre-defined functional blocks. Many hardware vendors create Node-RED blocks such that the hardware layer can immediately be addressed from within the low code development environment. But the real power of low-code starts when you start connecting the different functional blocks. Create multiple connections, branch pipelines, evaluate functions, insert debug outputs or inputs and explore everything in the graphical IDE within your browser. This enables not only rapid design but also a very fast feedback if blocks work in the intended way. The convenience of this development together with the large number of available functions and connectors makes the Node-RED low-code platform a very powerful industrial IoT development tool. It is fast to learn, minimum requirements is the knowledge of basic Javascript and it can be developed with any browser. 

Examples of Node-RED dashboards

 

But that is not all. Included is also a basic user interface which allows to create Node-RED dashboards. So it becomes very easy to visualise system output. If you want more advanced Node-RED dashboards you can look at alternative UIs such as UIbuilder. This tool takes the dashboard concept to a completely new level. 

 

Below is screenshot of an application running in a factory powered by Node-RED and UIbuilder.

If you want to learn more about creating Node-RED dashboards with UIbuilder you can visit the linked documentation. 
 

How to Get Started with Node-RED?

It is very simple to get started with Node-RED. It is part of the standard image of Raspbian OS. So basically it is installed on any Raspberry Pi. In addition, it is not difficult to install it on other systems. Just follow the tutorial here.

If you want to develop Node-RED for industrial IoT applications and the intention is to deploy this to many thousand devices on the edge then this becomes slightly more difficult. Nevertheless, this is still fairly easy to manage if you understand a few basic ideas about Node-RED. If you are interested to learn more about the inner workings of the settings.js and the different flow files then we have a tutorial here that explains some of the often encountered problems.

Manage Large Fleets of Edge Devices Running Node-RED

Very quickly you will be able to solve many problems with Node-RED. If you are using this in a commercial industrial setting then the next question is how to deploy this in a secure and reliable way and operate it over the long lifecycle of the industrial IoT project. Here you cannot avoid to utilise some IoT device management.

As an example we have a short article about a company using Node-RED in production. In order to achieve this level of automation you need to automatically install and configure Node-RED and manage the flows. This also includes managing the credentials and settings files. We created an example for you that includes a continuous integration / continuous deployment via Github. This shows what is easily possible. The Github integration is of course something that can be done manually as well. Anyhow, just follow this Node-RED deployment tutorial and you will soon manage complete fleets with Node-RED running reliably at the edge. If you are looking for a way to manage Node-RED at the edge with docker containers we have you covered as well. Below you see a diagram how that solution works.

 

Conclusion

Node-RED gives you a unique way to implement industrial IoT projects with low-code in order to speed up your development process. This will allow quick prototyping and very effective data collection. But it does not have to stop there. Node-RED has become so mature and stable that it is possible to use it in production and it is possible to create advanced Node-RED dashboards. Together with an IoT device management software such as qbee it is easy to deploy Node-RED consistently on large fleets of edge devices solving all your industrial IoT needs.

Why should you use Node-RED?

Easy to learn

If you know Javascript then that is all. you need to start with low-code Node-RED development.

Fast

Implement your ideas in hours rather than weeks. With extensive debug functions and full visualisation Node-RED is fast to develop with.

Huge library

Node-RED has a huge function library with many connectors and pre-defined blocks. Chances are that your hardware vendor has implemented a device specific Node-RED block.