Node-RED

Last updated
Node-RED
Original author(s) IBM Emerging Technology
• Nick O'Leary
• Dave Conway-Jones
Developer(s) JS Foundation
Initial release2013 [1]
Stable release
4.0.2 / July 1, 2024;56 days ago (2024-07-01) [2]
Repository
Written in JavaScript
Operating system Cross-platform
Platform Node.js
Type Flow-based programming for wiring the Internet of things
License Apache License 2.0
Website nodered.org

Node-RED is a flow-based, low-code development tool for visual programming developed originally by IBM for wiring together hardware devices, APIs and online services as part of the Internet of things. [3]

Contents

Node-RED provides a web browser-based flow editor, which can be used to create JavaScript functions. Elements of applications can be saved or shared for re-use. The runtime is built on Node.js. The flows created in Node-RED are stored using JSON. Since version 0.14, MQTT nodes can make properly configured TLS connections. [4]

In 2016, IBM contributed Node-RED as an open source OpenJS Foundation project. [5] [6] [7]

Node-RED projects

The Node-RED project has a number of components:

Flows

Node-RED Flow refers to the connection and sequencing of various input, output, and processing nodes within the Node-RED platform. Each node within a flow performs a unique and specific task. When data is transmitted to a node, the node processes it according to its designated function, before passing it on to the subsequent node in the flow. This system allows for the controlled execution and regulation of a wide range of operations, offering significant flexibility in creating real-time applications. Node-RED flows represent the main mechanism of this visual programming tool.

Node-RED Flow Node-RED Example.png
Node-RED Flow

Adoption

Node-RED has gained significant traction in the industrial internet of things (IIoT) and edge computing sectors. [8] [9] [10] Node-RED's open-source nature and large community have led to the creation of over 4000 connectors [11] supporting a wide range of data sources and protocols such as Modbus, OPC-UA, Siemens S7, and MQTT. Several PLC and IoT vendors [12] have adopted Node-RED as a standard.

Community survey

The 2023 Node-RED Community Survey [13] provided valuable insights into the usage patterns, preferences, and feedback from 780 individuals who are part of the Node-RED community. The survey, conducted in March 2023, revealed that Node-RED's usage extends beyond DIY home automation, with a growing trend towards professional use in a variety of industries. Over half of the respondents have been using Node-RED for over two years, indicating a well-established community. Notably, the most common messaging technologies used in conjunction with Node-RED are MQTT and HTTP, while InfluxDB emerged as the most popular database within the community. The survey also shed light on perceived barriers to adoption, pointing towards the perception of Node-RED as a proof of concept tool and the lack of certain key features. Despite these challenges, the survey highlighted a high level of satisfaction within the community, with over two-thirds of respondents rating Node-RED a 5 out of 5.

Commercial offerings

FlowFuse [14] (former known as FlowForge [15] ) is an open-core company investing in Node-RED. Nick O’Leary, co-creator of Node-RED is FlowFuse co-founder and CTO. FlowFuse adds to Node-RED collaborative development, management of remote deployments, support for DevOps delivery pipelines and the ability to host Node-RED applications on FlowFuse Cloud. FlowFuse is the DevOps platform for Node-RED application development and delivery.

Apivis [16] offers a Node-RED self-deployment service. This service includes a one-click deployment on Render.com, customizable setup, DDoS protection, and persistent storage. It also features fully managed TLS certificates, a proxy server with IP whitelisting, and the option to disable the admin dashboard for enhanced security.

See also

Related Research Articles

IBM Developer is a global community of coders, developer advocates, and digital resources that help developers learn, build, and connect. The IBM Developer website hosts a wide range of resources, tools, and subject matter expert conversations that help developers build and reinforce the open source, artificial intelligence AI, and cloud-based skills that are needed in hybrid cloud environments.

IBM App Connect Enterprise (abbreviated as IBM ACE, formerly known as IBM Integration Bus, WebSphere Message Broker, WebSphere Business Integration Message Broker, WebSphere MQSeries Integrator and started life as MQSeries Systems Integrator. App Connect IBM's integration software offering, allowing business information to flow between disparate applications across multiple hardware and software platforms. Rules can be applied to the data flowing through user-authored integrations to route and transform the information. The product can be used as an Enterprise Service Bus supplying a communication channel between applications and services in a service-oriented architecture. App Connect from V11 supports container native deployments with highly optimised container start-up times.


This is a comparison of notable free and open-source configuration management software, suitable for tasks like server configuration, orchestration and infrastructure as code typically performed by a system administrator.

Azure DevOps Server, formerly known as Team Foundation Server (TFS) and Visual Studio Team System (VSTS), is a Microsoft product that provides version control, reporting, requirements management, project management, automated builds, testing and release management capabilities. It covers the entire application lifecycle and enables DevOps capabilities. Azure DevOps can be used as a back-end to numerous integrated development environments (IDEs) but is tailored for Microsoft Visual Studio and Eclipse on all platforms.

Progress Chef is a configuration management tool written in Ruby and Erlang. It uses a pure-Ruby, domain-specific language (DSL) for writing system configuration "recipes". Chef is used to streamline the task of configuring and maintaining a company's servers, and can integrate with cloud-based platforms such as Amazon EC2, Google Cloud Platform, Oracle Cloud, OpenStack, IBM Cloud, Microsoft Azure, and Rackspace to automatically provision and configure new machines. Chef contains solutions for both small and large scale systems.

<span class="mw-page-title-main">Node.js</span> JavaScript runtime environment

Node.js is a cross-platform, open-source JavaScript runtime environment that can run on Windows, Linux, Unix, macOS, and more. Node.js runs on the V8 JavaScript engine, and executes JavaScript code outside a web browser.

MQTT is a lightweight, publish-subscribe, machine to machine network protocol for message queue/message queuing service. It is designed for connections with remote locations that have devices with resource constraints or limited network bandwidth, such as in the Internet of Things (IoT). It must run over a transport protocol that provides ordered, lossless, bi-directional connections—typically, TCP/IP. It is an open OASIS standard and an ISO recommendation.

<span class="mw-page-title-main">OpenShift</span> Cloud computing software

OpenShift is a family of containerization software products developed by Red Hat. Its flagship product is the OpenShift Container Platform — a hybrid cloud platform as a service built around Linux containers orchestrated and managed by Kubernetes on a foundation of Red Hat Enterprise Linux. The family's other products provide this platform through different environments: OKD serves as the community-driven upstream, Several deployment methods are available including self-managed, cloud native under ROSA, ARO and RHOIC on AWS, Azure, and IBM Cloud respectively, OpenShift Online as software as a service, and OpenShift Dedicated as a managed service.

<span class="mw-page-title-main">NodeMCU</span> Open-source IoT platform

NodeMCU is a low-cost open source IoT platform. It initially included firmware which runs on the ESP8266 Wi-Fi SoC from Espressif Systems, and hardware which was based on the ESP-12 module. Later, support for the ESP32 32-bit MCU was added.

<span class="mw-page-title-main">Visual Studio Code</span> Source code editor developed by Microsoft

Visual Studio Code, also commonly referred to as VS Code, is a source-code editor developed by Microsoft for Windows, Linux, macOS and web browsers. Features include support for debugging, syntax highlighting, intelligent code completion, snippets, code refactoring, and embedded version control with Git. Users can change the theme, keyboard shortcuts, preferences, and install extensions that add functionality.

HashiCorp, Inc. is an American software company with a freemium business model based in San Francisco, California. HashiCorp provides tools and products that enable developers, operators and security professionals to provision, secure, run and connect cloud-computing infrastructure. It was founded in 2012 by Mitchell Hashimoto and Armon Dadgar. The company name HashiCorp is a portmanteau of co-founder last name Hashimoto and Corporation.

Hyperledger is an umbrella project of open source blockchains and related tools that the Linux Foundation started in December 2015. IBM, Intel, and SAP Ariba have contributed to support the collaborative development of blockchain-based distributed ledgers. It was renamed the Hyperledger Foundation in October 2021.

<span class="mw-page-title-main">Tricentis</span> Austrian software testing company

Tricentis is a software testing company founded in 2007 and headquartered in Austin, Texas. It provides software testing automation and software quality assurance products for enterprise software.

gRPC is a cross-platform high-performance remote procedure call (RPC) framework. gRPC was initially created by Google, but is open source and is used in many organizations. Use cases range from microservices to the "last mile" of computing. gRPC uses HTTP/2 for transport, Protocol Buffers as the interface description language, and provides features such as authentication, bidirectional streaming and flow control, blocking or nonblocking bindings, and cancellation and timeouts. It generates cross-platform client and server bindings for many languages. Most common usage scenarios include connecting services in a microservices style architecture, or connecting mobile device clients to backend services.

ESP Easy is a free and open source MCU firmware for the Internet of things (IoT). and originally developed by the LetsControlIt.com community. It runs on ESP8266 Wi-Fi based MCU platforms for IoT from Espressif Systems. The name "ESP Easy," by default, refers to the firmware rather than the hardware on which it runs. At a low level, the ESP Easy firmware works the same as the NodeMCU firmware and also provides a very simple operating system on the ESP8266. The main difference between ESP Easy firmware and NodeMCU firmware is that the former is designed as a high-level toolbox that just works out-of-the-box for a pre-defined set of sensors and actuators. Users simply hook up and read/control over simple web requests without having to write any code at all themselves, including firmware upgrades using OTA updates.

The industrial internet of things (IIoT) refers to interconnected sensors, instruments, and other devices networked together with computers' industrial applications, including manufacturing and energy management. This connectivity allows for data collection, exchange, and analysis, potentially facilitating improvements in productivity and efficiency as well as other economic benefits. The IIoT is an evolution of a distributed control system (DCS) that allows for a higher degree of automation by using cloud computing to refine and optimize the process controls.

MQTT is an ISO standard publish–subscribe-based messaging protocol. It works on top of the Internet protocol suite TCP/IP. It is designed for connections with remote locations where a "small code footprint" is required or the network bandwidth is limited. The publish-subscribe messaging pattern requires a message broker.

The OpenJS Foundation is an organization that was founded in 2019 from a merger of JS Foundation and Node.js Foundation. OpenJS promotes the JavaScript and web ecosystem by hosting projects and funds activities that benefit the ecosystem. The OpenJS Foundation is made up of 38 open source JavaScript projects including Appium, Dojo, jQuery, Node.js, Node-RED and webpack. Founding members included Google, Microsoft, IBM, PayPal, GoDaddy, and Joyent.

<span class="mw-page-title-main">Thing Description</span>

The Thing Description (TD) (or W3C WoT Thing Description (TD)) is a royalty-free, open information model with a JSON based representation format for the Internet of Things (IoT). A TD provides a unified way to describe the capabilities of an IoT device or service with its offered data model and functions, protocol usage, and further metadata. Using Thing Descriptions help reduce the complexity of integrating IoT devices and their capabilities into IoT applications.

References

  1. nodered.org
  2. O'Leary, Nick. "Releases". GitHub . Retrieved May 28, 2024.
  3. Heath, Nick (March 13, 2014). "How IBM's Node-RED is hacking together the Internet of things". techrepublic.com . CBS Interactive . Retrieved January 16, 2017.
  4. Community staff writer (June 14, 2016). "Version 0.14 released". nodered.org/blog. Node-RED. p. 1. Retrieved July 6, 2016. MQTT with TLS support
  5. Diaz, Angel Luis (October 17, 2016). "IBM and partners launch JS Foundation - Cloud computing news". IBM . Retrieved October 20, 2017.
  6. Powers, Calvin; Watson, Todd; Lewis, Ashley (October 17, 2016). "Node-RED Joins the JS Foundation". IBM developerWorks TV/video channel. YouTube . Retrieved October 20, 2017.
  7. Lewis, Karen (October 17, 2016). "Node-RED visual programming for the Internet of Things (IoT) is now a JS Foundation Project". IBM Internet of Things blog. IBM . Retrieved February 7, 2017.
  8. "Node-RED in Industrial IoT: a growing standard". UMH Learning Center. 2021-07-13. Retrieved 2023-10-21.
  9. GmbH, TeDo Verlag (2022-03-30). "Node-Red im Industrial IoT - IT&Production". www.it-production.com (in German). Retrieved 2023-10-21.
  10. "#38 Visuelle Programmierung mit Node-RED | Die Open-Source Low-Code-Plattform | Teil 1 von 2 by Einfach Komplex - Der Podcast für Software- und IT-Laien". Spotify for Podcasters. Retrieved 2023-10-21.
  11. "Library - Node-RED". flows.nodered.org. Retrieved 2023-07-14.
  12. "Node-RED: The Integration Platform for IIoT Edge Computing & PLCs • FlowFuse". flowfuse.com. Retrieved 2023-10-21.
  13. "2023 Node-RED Community Survey : Node-RED". nodered.org. Retrieved 2023-07-02.
  14. "FlowForge • DevOps for Node-RED". flowforge.com. Retrieved 2023-07-02.
  15. "FlowForge is now FlowFuse • FlowFuse". flowfuse.com. Retrieved 2023-09-06.
  16. "Apivis • Node-RED self-deployment service". apivis.com. Retrieved 2024-08-26.