-
Notifications
You must be signed in to change notification settings - Fork 1
Sensors
The datalogger supports several sensors. Some sensors are provided on the Printed Circuit Board (PCB), others can be connected via the GROVE or QWIIC connector. The following sensors are currently supported:
- Bosch BME680
- Sensirion SHT40
- AMS TSL2591
- Sensirion SCD40
- Sensirion SPS30
Some sensors can measure several properties, eg BME680 measures temperature, relative humidity, barometric pressure.
In order to distinguish between the sensor and the properties it measures, we use the following names:
- sensorDevice (eg BME680, SHT40, ..)
- sensorChannel (eg temperature, relative humidity, ..)
As different sensorDevices, can measure the same thing (eg. BME680-temperature, SHT40-temperature, SCD40-temperature), to uniquely identify a measurement, the combination of sensorDevice and sensorChannel is used.
When the datalogger is started (by power-on or reset), the software will do a discovery to list all the sensorDevices which are present. Adding or removing sensorDevices requires a reset of the datalogger in order to update the list of present sensorDevices.
Note : the internal battery is also treated as a sensorDevice, with 2 sensorChannels: voltage and percentCharged.
You may not need all sensorChannels, and furthermore you may want a different measurement period on different channels. Example : temperature may change rapidly so we measure it every 10 minutes, whereas battery voltage only needs one measurement per day. Also some sensorChannels can benefit from 'oversampling' or 'filtering'. This means taking the average of multiple measurements in order to get a more accurate, stable measurement.
For each sensorChannel, it is possible to configure both the oversampling and the output frequency.
Each sensorChannel may benefit from an amount of 'oversampling', ie. take multiple samples which are then averaged into a single measurement value. The result is often a better accuracy as well as filtering of some measurement noise. The following settings are possible:
- 0 : no oversampling, each sample is an output
- 1 : average 2 samples to an output
- 2 : average 4 samples to an output
- 3 : average 10 samples to an output
For each sensorChannel you can control how often a measurement is done. You can choose from the following:
- 0 = off : channel will not produce outputs
- 1 = every minute
- 2 = every 2 minutes
- 3 = every 5 minutes
- 4 = every 10 minutes
- 5 = every 15 minutes
- 6 = every 30 minutes
- 7 = every hour
- 8 = every 2 hours
- 9 = every 4 hours
- 10 = every 6 hours
- 11 = every 12 hours
- 12 = every 24 hours
- 13 = every 48 hours
It's important to limit the number of measurements to the amount really needed:
- each measurement is recorded into memory. More measurements will fill up the available memory faster, after which the old measurements will be overwritten by new ones.
- sampling sensors and transmitting the measurements costs energy, so more measurements means shorter battery life,
SensorChannel can be configured in two ways:
- via the command-line interface
- via LoRaWAN Downlink