Introduction to Node-RED

Node-RED is a very popular, low-code programming tool, that makes it easy to connect different services using a visual programming environment.

Reasons why Node-RED is so popular:

  • Node-RED’s visual programming makes it possible for non-developers to build real applications.
  • A large library of nodes and flows make it trivial to connect different types of analog and digital services, including industrial protocols (OPC-UA, Modbus, Siemens S7), databases, weather services, etc.
  • Node-RED dashboard makes it easy to visualize data in dashboards. Unlike other dashboards, Node-RED dashboards can include action and events that respond to the data

What is Node-RED and how does it work?

Node-RED is a low-code programming environment that allows developers to connect a wide variety of endpoints, such as industrial PLCs, APIs, databases, enterprise applications and online services.

Users of Node-RED visually drag ‘nodes’ from a palette that represent the end points and then connect them together into flows to accomplish the desired task. Node-RED applications are accessible via a web browser.

What is Node-RED used for?

Node-RED can be used for a wide variety of use cases, including:

  • The manufacturing industry uses Node-RED for collecting data from different pieces of factory equipment.
  • Creating dashboards that visualize data and allow for event triggers to occur based on the data.
  • Developing chatbot platforms that can collect interactions of a wide variety of social media platforms.
  • Extract, transform and integrate data from many different sources in the enterprise.
  • Lots of hobbyists use Node-RED for home automation.
  • Integrating data with machine learning models

How much does Node-RED cost?

Node-RED is an open source project hosted at the OpenJS Foundation. It is made available under the Apache Software License so individuals can use Node-RED free of charge. Participation in the open source project is encouraged to help support the Node-RED community.

What language is Node-RED?

Node-RED is a visual programming environment that allows you to do a lot without writing a single line of code. An important benefit of Node-RED is that it also allows for developers to write JavaScript and use the NodeJS API to extend the functionality of a node or flow.

How can I get started using Node-RED?

FlowForge Cloud offers the easiest way to get started with Node-RED. After signing into FlowForge Cloud users have immediate access to a Node-RED instance.

For those who prefer to install Node-RED themselves, there are many tutorials that help people to get started with Node-RED. A recommended starting point is the Getting Started found on nodered.org. Other tutorials from the community include Steve’s Node-RED Guide and Raspberry Pi Getting Started with Node-RED.

How can I secure a Node-RED installation?

There are three aspects of Node-RED that need to be secured.

  1. Node-RED is a web application so you need to enable HTTPS access to the Node-RED runtime. The default Node-RED settings include a commented out section that can be used for local certificates.
  2. The Node-RED editor and administration requires authentication to access it. Node-RED supports username/password and OAuth/OpenID authentication. The adminAuth property in the setting file is used to specify the authentication credentials.
  3. Securing the HTTP Node can be done using basic authentication. This can be set using the httpNodeAuth property in the settings file.

More details about Node-RED security can be found on nodered.org

How is Node-RED used in IoT?

Node-RED is very popular in the manufacturing and industrial automation industries (IIoT) as an edge computing solution. Often deployed on PLCs and IoT gateways, Node-RED supports collecting data from legacy and proprietary systems (SIemens S7, Modbus, OPC-UA, etc), integrating the industrial data with other data sources (weather data, enterprise data), filtering data on the edge, and then sending the data to the cloud. FlowForge offers remote device deployment to IIoT edge devices.

Node-RED is also very popular with DIY home automation enthusiasts, in particular the Home Assistant community.