This guide provides instructions on how to make Node.js modules available to Node-RED for Ubuntu and BeagleBone.
Ubuntu Steps
1. Make sure Node.js, npm and Nod-RED are installed on your system.
2. Download and install the npm packages (modules) globally on your system you wish to use in Node-RED:
npm install <package_name> -g
2 Change into the directory that contains the Node-RED settings file:
cd /home/ubuntu/.node-red
3. Open the settings.js file with nano (or your favorite editor):
nano settings.js
4. Edit the settings.js file.
Modify the functionGlobalContext function in the settings file to reference modules of interest.
Below demonstrates the syntax for making the os, bonescript and moment node.js modules available to Node-RED.
(Tip: Make sure to use commas correctly).
functionGlobalContext: {
os:require('os'),
bonescript:require('bonescript'),
moment:require('moment')
// jfive:require("johnny-five"),
// j5board:require("johnny-five").Board({repl:false})
},
5. Save and exit the settings.js file.
6. Stop and start Node-RED for the changes to take effect. We typically use PM2 process manager to run Node-RED on Ubuntu. So starting and stopping is accomplished with PM2 commands.
7. List the processes running under PM2.
sudo pm2 list
8. Stop the Node-RED application.
sudo pm2 stop node-red
9. Start the Node-RED application.
sudo pm2 start node-red
BeagleBone (Debian 10) Steps
1. Connect to the BeagleBone
2. Download and install the npm packages (modules) globally on your system you wish to use in Node-RED:
npm install <package_name> -g
3. Change into the directory that contains the Node-RED settings file:
cd /var/lib/node-red/.node-red
4. Open the settings.js file with nano (or your favorite editor):
sudo nano settings.js
5. Edit the settings.js file.
Modify the functionGlobalContext function in the settings file to reference modules of interest.
Below demonstrates the syntax for making the os, bonescript and moment node.js modules available to Node-RED.
(Tip: Make sure to use commas correctly).
functionGlobalContext: {
os:require('os'),
bonescript:require('bonescript'),
moment:require('moment')
// jfive:require("johnny-five"),
// j5board:require("johnny-five").Board({repl:false})
},
6. Save and exit the settings.js file.
7. Stop and start Node-RED for the changes to take effect. Since NodeRED is included in the Debian version of Linux for the BeagleBone, simple command line entries are used to start and stop NodeRED on the BeagleBone
8. Stop Node-RED
sudo systemctl stop nodered
9. Start Node-RED
sudo systemctl start nodered