This is a quick guide showing how to install Node-RED on a Raspberry Pi. We tested this installation on Raspberry Pi OS (32-bit) and Raspberry Pi OS (64-bit).
- You should have a Raspberry Pi running Raspberry Pi OS (32-bit or 64-bit).
- You should be able to establish an SSH connection with your Raspberry Pi.
Installing Node-RED on Raspberry Pi
Having an SSH connection established with your Raspberry Pi, enter the following to install Node-RED:
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
Node-RED is installed by default on the Raspberry Pi OS (32-bit). However, it is recommended to run the previous command to install the required packages and update it to the most recent version. You’ll get a message informing you about this. Press Y and press Enter to accept.
Node-RED is not installed by default on Raspberry Pi OS (64-bit).
Then, you’ll be asked: “Would you like to install Pi-specific nodes?” Press Y and Enter.
It will take a few minutes to install Node-RED. In the end, you should get a similar message on the Terminal window:
Configure Node-RED Settings
After installing, it is recommended to configure initial options and settings. Run the following command:
node-red admin init
- Press Enter to create a Node-RED Settings file on /home/pi/.node-red/settings.js
- Do you want to set up user security? Yes.
- Enter a username and press Enter (you need to remember it later).
- Enter a password and press Enter (you need to remember it later).
- Then, you need to define user permissions. We’ll set full access, make sure the full access option is highlighted in blue and press Enter.
- You can add other users with different permissions if you want. We’ll just create one user for now. You can always add other users later.
- Do you want to enable the Projects feature? No.
- Enter a name for your flows file. Press Enter to select the default name flows.json.
- Provide a passphrase to encrypt your credentials file. Learn more about what is a passphrase.
- Select a theme for the editor. Simply press Enter to select default.
- Press Enter again to select the default text editor.
- Allow Function nodes to load external modules? Yes.
Node-RED configuration was successful. All settings are saved on settings.js.
Run the following command to start Node-RED:
You should get a similar message on the Terminal:
Node-RED runs on port 1880. To access Node-RED open a browser and type the Raspberry Pi IP address followed by :1880. For example:
You’ll get access to the Node-RED login page. Login with the username and password you’ve set previously.
Now, you have access to Node-RED. You can start building your flows.
Autostart Node-RED on boot
To automatically run Node-RED when the Pi boots up, you need to enter the following command. This means that as long as your Raspberry Pi is powered up, Node-RED will be running.
sudo systemctl enable nodered.service
Now, restart your Pi so the autostart takes effect. The next time the Raspberry Pi restarts, Node-RED will be already running.
If, later on, you want to disable autostart on boot, you can run:
sudo systemctl disable nodered.service
For more information about the installation process, check the official documentation.
Congratulations! You successfully installed Node-RED on your Raspberry Pi. Now, you can start building your Home Automation System. Using MQTT with Node-RED is a great option to gather data from several sensor nodes and send commands to actuators. You can also resend your sensor data to InfluxDB and have a history of your data saved on a database.
You may also like reading:
- Install InfluxDB on Raspberry Pi
- ESP32: Getting Started with InfluxDB
- What is MQTT and How It Works
- Install Mosquitto MQTT Broker on Raspberry Pi
Thanks for reading!