Node-RED is a stream-based development tool for visual programming, primarily focused on wiring the Internet of Things (IoT). This programming tool is developed to wire together hardware devices, APIs, and online services in innovative ways.
Developed by:
Initially developed by IBM Emerging Technology, Node-RED is an open-source programming tool.
Developers:
- Nick O'Leary
- Dave Conway-Jones
Latest version:
- v1.0.6 (npm)
- Written In JavaScript
How Node-RED work
A Node-RED flow operates by passing messages between nodes. The messages in Node-RED are simple JavaScript objects that can have any set of properties.
Installing NODE-RED
Installing with npm (Node package manager)
sudo npm install -g --unsafe-perm node-red
To upgrade to the latest version:
sudo npm install -g --unsafe-perm node-red
Installing with docker
docker run -it -p 1880:1880 --name mynodered nodered/node-red
Installing with snap
sudo snap install node-red
Running NODE-RED
Once Node-RED is installed and set up, it can be run in three ways:
- Locally
- On a device
- In a cloud environment
Top Reasons to use NODE-RED
Browser-based flow editing:
Browser-based flow editingIt provides a browser-based editor that makes it easy to wire together flows using the wide range of nodes in the palette that can be deployed to its runtime in a single-click.
Written in JavaScript:
javascriptThus, it is build in javascript then NODE-RED took all the advantages of this language that is Event-Based Programming language, Procedural programming capabilities, Platform independent and beyond all this it comparatively fast and easy to learn.
Cross-Platform Compatibility:
Node-RED can run on various operating systems, including Raspbian, Ubuntu, Windows, Docker, Debian, and macOS.
Versatility Beyond IoT:
While Node-RED is highly popular in the IoT space, it also supports many ready-made nodes for designing creative features beyond IoT applications.
Cloud- IBM Cloud
- SenseTecnic FRED
- Amazon Web Services
- Microsoft Azure
Pre-installed Device:
- Raspberry Pi
- BeagleBone Black
- Interacting with Arduino
- Android
Types of Nodes in Node-RED
- Inject Node: This node allows manual triggering of flows and facilitates injecting events at scheduled intervals.
- Debug Node:Displays the content of a message, either the payload or the entire object, which is useful for debugging.
- Template Node: Modifies the output based on a Mustache (logic-less) template.
There are various input, output and function nodes:
Input Node | Output Node | Function Node |
HTTP | HTTP response | Function |
IBM IoT | IBM IoT | Switch |
Similar Reads
ES6 Environment Setup ES6 can run on local machines, only it needs a browser and a text editor. Otherwise, ES6 can run on any host, on any OS. For ES6, it may not be an all-time execution on the browsers. So we need some extra mechanism to execute the ES6 version. NodeJSCode EditorBrowser NodeJS: For web servers, NodeJS
2 min read
NodeJS NPM NPM (Node Package Manager) is a package manager for NodeJS modules. It helps developers manage project dependencies, scripts, and third-party libraries. By installing NodeJS on your system, NPM is automatically installed, and ready to use.It is primarily used to manage packages or modulesâthese are
6 min read
Top 7 Node.js Project Ideas For Beginners Node.js, a powerful JavaScript runtime built on Chrome's V8 engine, has become a cornerstone for developing scalable network applications. Its non-blocking, event-driven architecture makes it an ideal choice for server-side development. Here are 7 project ideas to help beginners learn the fundamenta
6 min read
Top 8 Node.js Design Patterns in 2025 Node.js, the popular JavaScript runtime, helps developers build complex backend systems. With so many capabilities, it can get quite challenging to work with, and hence, design patterns are used.Design patterns help developers write high-quality, testable, and maintainable code. Some of the design p
10 min read
Difference between Node.js and JavaScript JavaScript and Node.js are both crucial in modern web development, but they serve different purposes and are used in different environments. JavaScript is a programming language primarily used for client-side web development, while Node is a runtime environment that allows JavaScript to be executed
3 min read
Master Your Coding Skills: Best Courses to Complete This Summer Are you ready for an exciting coding adventure this summer? GeeksforGeeks has arrived, offering a fantastic opportunity for all the budding programmers out there. This season, you can choose from a wide range of programming courses that cater to your interests and help you become a coding whiz! Whet
7 min read