VOC-Sensor (Messung der Luftqualität)

Project information

Maintainer:

Max2

Interessenten:

tux, dkdent

Status

Planning

ESPHome Firmware

Verwendet diese esphome Firmware: https://git.unhb.de/smash/co2ampel

Vorhaben

Um zu Corona-Zeiten die Luftqualität im Netz39 messen zu können, wird geplant, einen VOC-Sensor zu verbauen.

Warum der VOC-Gehalt gemessen werden soll und eine CO2-Messung nicht ausreicht, kann man hier nachlesen: PDF

Related Work

Watterot hat auch ne CO2 Ampel, die kann man direkt kaufen, wenn man reich ist

Sensor

In der Make-Zeitschrift 5/20 wird eine CO2-Ampel vorgestellt, die sowohl CO2 als auch VOC misst.

Dort wurde für die VOC-Messungen der Sensor BME680 von Bosch verwendet. Dieser ist ziemlich klein, für low-power-Anwendungen geeignet und lässt sich über I2C/SPI ansprechen.

Der Sensor kann zusätzlich zu VOC-Messung außerdem die Temperatur, Luftfeuchtigkeit und Luftdruck messen. (Die drei Sachen werden benötigt, um die VOC-Messgenauigkeit zu gewährleisten)

Sensor-Firmwaretreiber

Bosch hat die Treiber für die Sensoren auf github veröffentlicht.
Bosch hat die Arduino-Bibliothek für die Sensorfusion als Binaryblob auf github veröffentlicht. Von Adafruit gibts einen Arduino und einen CircuitPython Treiber

Firmware

Hier bastelt David mit RIOTos an der Firmware auf einem esp32. Übertragung der Daten geplant per WiFi und MQTT.

Arduino Code Beispiel für die Berechnung eines AirQualityIndex

Datenübertragung

Die Übertragung kann über BLE geschehen, sofern der Sensor mit Batterien betrieben werden soll. Bei einer festen Stromversorgung kann sie auch über ESP/WiFi oder CAN stattfinden.

Frontend

Die Daten sollen auf OpenHab gesammelt werden und dort ausgewertet werden und ggf. eine Statusmeldung zur Luftqualität im Space veröffentlicht werden.

Openhab nutzt für Persistenz auch nur 3rd-Party-Datenbanken, z.B.

https://www.openhab.org/addons/persistence/rrd4j/

https://www.openhab.org/addons/persistence/influxdb/

Wir könnten die Daten auch direkt in einer Influxdb abliefern. (Dann muss man nicht zwingend OpenHab haben.)

MQTT → InfluxDB ist möglich

http://nilhcem.com/iot/home-monitoring-with-mqtt-influxdb-grafana

https://github.com/mhaas/mqtt-to-influxdb-forwarder

D.h. letztendlich reicht es für den VOC-Sensor, Daten in einem MQTT-Topic abzuladen. Der Rest kann bequemer auf einem RPi oder in einem Docker-Container gemacht werden.

Diskussion

[tux] Wie wäre es mit einem komponentenbasierten Design?

eine Komponente ist der VOC-Sensor, der für alle gleich sein kann

zweite Komponente: Steuerung/Kommunikation, z.B. BLE mit STM oder WiFi mit ESP

dritte Komponente: Stromversorgung: Batteriebetrieben oder mit ext. Versorgung

[maxD] Wollen wir RIOT OS benutzen? Das hat sogar schon einen Treiber dafür: Externer Link

ToDo-Liste

Batteriebetrieb oder Kabelgebunden

David hat Breakoutboards bestellt, sind angekommen

Design der Platine

Sammlung der Daten in OpenHab

OpenHab-Indikator, dass gelüftet werden muss oder Luftfilter anwerfen