This package implement Node-RED nodes for using nRF24L01 / nRF24l01+ radios easy, fast and with typical NODE-Red flow semantics. This will enable NODE-RED flows to receive and send data to sensors and controllers (such arduinos or other mcus based appliances) and integrate them with complex logic and outstanding presentation and charting capabilities of Node-Red.
This module is based on nodejs package nrf24. Please check here the full documentation about how to wire and configure SPI interfaces of your Raspberry Pi or other Single Board computers (SBCs) such Orange Pis, NanoPi , BeagleBone,...
The package provide the following functionality:
If you like this project and want to support the development and maintenance please consider a donation.
Run the follwing commands under $HOME/.node-red
.
npm install node-red-contrib-nrf24
If you experience any problems try to install nrf24 first:
npm install nrf24@0.2.0-beta
npm install node-red-contrib-nrf24
Installation via palette is not recommended. Base library require compilation of binaries and is recommended to follow the installation output in the command line to check installation is corrrect.
After installation node-red need to be restarted to load the new installed nodes. The new nodes will be available under nRF24l01
category in the palette.
The package is written in pure javascript following coding standards of Node-RED. It depends, however, on nrf24 module that is and C++ add-on that require custom build.
Please check the the prerequisites of nrf24 here to validate your installation. It should cover:
The usage of nodes is similar to standard Node-RED nodes:
Check out this simple example of an echo/relay service:
Only Two nodes are required to implement the radio communication. The first node listen to radio frames and emits them over it's sole output. The payloads received are wired to the output node that delivers back to the radio. Simple as pie. This to nodes are equivalent to dozens of lines of code without any programing and Node-RED freedom.
The radio harware is represented in Node-RED using a "configuration node" where all the information wiring and physical interface is defined.
Configuration nodes can be created directly from input or output nodes or via Node-Red "Configuration nodes" menu and then associate the radio node to Input or outputs nodes.
The radio configuration node has the following fields to be filled:
Check the documentation inside node-red doc tab of the configuration node for a quick guide of each configuraion field.
To read frames sent over the radio an rf24input node need to placed in your flow. This node represent a reading pipe in nRF24L01 terminology. A pipe is a virtual one-way channel of communication between radios. If a device write to a pipe, all radios listening in that pipe will receive the packet.
Configuring an input node require only few parameters:
Check the documentation inside node-red doc tab of the input node for a quick guide of each configuraion field.
Caveat: In this implementation only 40-bit (5-bytes) pipe numbers are supported as recommended by nRF24L01 manufacturer.
In a similar way as the input node. The output node enable to send information over the radio in a writing pipe.
Configuring the node require a minimal parametrization:
Check the documentation inside node-red doc tab of the output node for a quick guide of each configuraion field.
Caveat: In this implementation only 40-bit (5-bytes) pipe numbers are supported as recommended by nRF24L01 manufacturer.
TODO Documentation ...
TODO Documentation ...
In the folder examples there some example flows. You can access them via Node-RED editor menu Import>Examples>nrf24.
V0.3.0 Upgrade nrf24 0.2
V0.2.0 Bump to nrf24 0.1.7
V0.1.0 Update to new version of nrf24
V0.0.3 Major update.
V0.0.2 First release (Alpha version)