Node-RED node for reading measurements from Sensirion SCD30, the CO2, temperature, and humidity sensor.
Uses scd30-node.
Find the scd30
node in the sensor
category in the palette, and use in your flow.
The node replaces the message payload with an object containing the measured values:
{
co2Concentration: <number>,
temperature: <number>,
relativeHumidity: <number>
}
The SCD30 must be in continuous measurement mode and a measurement must be available when triggering this node. You can use scd30-cli to set this up:
$ scd30-cli start-continuous-measurement
Continuous measurement started.
Ambient pressure compensation deactivated.
$ scd30-cli set-measurement-interval 5
Continuous measurement interval set to 5 seconds.
The measurement interval must be shorter than the interval at which you sample the sensor in Node-RED.
The permission to read the I2C bus device (e.g. /dev/i2c-1
) is required.
When starting the Node-RED container, use these options:
--device /dev/i2c-1
– point to the I2C device to which the SCD30 is connected--group-add <id of i2c group>
– make the container process run as a member of thei2c
group
For example:
docker run -d \
-p 1880:1880 \
-v /home/pi/.node-red:/data \
--device /dev/i2c-1 \
--group-add 998 \
--name nodered \
nodered/node-red