Oregon Scientific radio decoder and sensor Node-RED nodes for Raspberry pi with RF433 module connected.
Run the following command in the root directory of your Node-RED install
npm install node-red-contrib-oregon
You need to install wiring-pi before use oregonPi node. Refer to the Node-red documentation for details about wiring-pi module.
I used the following chip connected to my Raspberry pi 3:
I also made a small antenna to the chip using a piece of wire.
The following flow example demonstrates how to publish data on charts using oregon nodes (the data to charts also comes from mqtt nodes).
The Oregon pin 27 is listening RF433 module which connected to Raspberry pi 27 pin using GPIO pin numbering.
It detects oregon protocol data and outputs it in hexadecimal representation in msg.payload
. The details about radio data and message format can be obtained here.
The hexadecimal representation requires conversion to a human readable format. This is done by oregon-decoder node. It outputs the following fields in msg.payload
:
id
- oregon sensor type idsensorName
- oregon sensor namechannel
- channel (1 - 3)rolling
- rolling codelowBattery
- low battery flag (true
/false
)data
- object with sensor data (depends on sensor type)
The actual temperature
and humidity
(if particular sensor outputs them) are passed in the msg.payload.data
fields. Therefore they should be extracted from the "oregon-decoder" output.
On the flow example this is done by corresponding "temp" and "humi" function nodes. The temp function has the following code (for humidity replace temperature
with humidity
):
var data = msg.payload;
return {topic: [data.sensorName, data.channel, data.rolling].join('/'), payload: data.data.temperature};
Now the functions outputs can be connected to the appropriate charts or other Node-red nodes.