Log sensor data using RPi
Example: https://thingspeak.com/channels/321821
Sensors -> MQTT -> Telegraf -> InfluxDB -> Chronograf:
| Sensor | Measurement | Interface | Host | Publish to |
|---|---|---|---|---|
| BME280 | temperature (C), pressure (mBar), humidity (%) | I2C | RPi3 | thingspeak, MQTT |
| TSL2561 | visible light (lux), infrared, broadband | I2C | RPi3 | thingspeak, MQTT |
| MH-Z19B | CO2 (ppm) | UART (USB) | RPi3 | MQTT |
| PMS7003 | particle matter (counts and PM [1, 2.5, 10] ug/m³) | UART (pins) | RPi3 | MQTT |
| FlowMeter | shower usage via Hall effect flow sensor (ml/s, total_ml, duration) | GPIO ISR | Wemos D1 mini | MQTT |
| BloodPressureWifi | read Beurer blood pressure monitor (hiBP, loBP, HR) | SPI EEPROM | Wemos D1 mini | MQTT |
thingspeak.py reads BME280 and TSL2561, the other sensors run as standalone services (see their repos).
Install dependencies with pipenv install.
Register at www.thingspeak.com and replace Config.key in thingspeak.py.
Run with
./thingspeak.py 2>&1 | tee -a thingspeak.log