BME680 – IAQ mit der BSEC Library
by Edi · 19/02/2022
Mit dem BME680 Sensor haben wir die Möglichkeit, die Luftqualität nicht nur über einen Widerstandswert zu messen, sondern können auch berechnete Werte wie den IAQ Index, VOCs und CO₂ auszulesen. Dazu wird die Arduino Library BSEC (Bosch Sensortec Enviroment Cluster) von Bosch benötigt. Leider funktioniert diese Library nicht ohne Anpassungen und Anfänger sollten hier lieber die Finger davon lassen und auf andere Sensoren ausweichen, um VOC Werte zu erhalten!
Ich zeige euch hier welche Anpassungen nötig sind, um den Sensor mit der Bosch Library zum Laufen zu bringt, aber seid euch bewusst, ihr macht das auf eigene Gefahr!
Anzumerken ist noch, dass der BSEC-Algorithmus nicht auf 8-Bit Mikrocontroller wie dem Arduino Uno läuft. Mit einem ESP8266, bei mir der Wemos d1 Mini, läuft der Sensor sehr stabil.
In diesem Beispiel habe ich einige Messwerte entfernt, wie etwa die Rohdaten für Temperatur und Luftfeuchtigkeit, um den Code so übersichtlich wie möglich zu gestalten.
Der Wert IAQ Accuracy (Genauigkeit) beginnt bei 0 nach dem Einschalten, geht nach einigen Minuten auf 1 und erreicht 3, wenn der Sensor fertig kalibriert ist.
Der IAQ-Index Wert beträgt zu Beginn 25 und bleibt für eine ganze Weile so. Nach einigen Minuten beginnt der IAQ-Wert sich zu ändern.
Die platform.txt Datei
Windows:
C:\Users\username\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2
Mac-OS:
\Users\username\Library\Arduino15\packages\esp8266\hardware\esp8266\3.0.2
Linux:
home\username\.arduino15\packages\esp8266\hardware\esp8266\3.0.2
In der Datei platform.txt fügen wir unten in Zeile 96 folgenden Text hinzu:
compiler.libraries.ldflags=
In der Zeile 123 fügen wir nach {compiler.c.elf.libs} dieses Stück Code hinzu:
{compiler.libraries.ldflags}
Nach der Änderung können wir die Datei speichern.
Source Code
YAML für den BME280 - MQTT Code
sensor:
- platform: mqtt
state_topic: BME680_01/temperatur
unique_id: BME680_01/temp
name: "BME680 Temperatur"
unit_of_measurement: "°C"
- platform: mqtt
state_topic: BME680_01/luftfeuchte
unique_id: BME680_01/hum
name: "BME680 Luftfeuchtigkeit"
icon: mdi:water-percent
unit_of_measurement: "%"
- platform: mqtt
state_topic: BME680_01/druck
unique_id: BME680_01/druck
name: "BME680 Luftdruck"
icon: mdi:gauge
unit_of_measurement: "hPa"
- platform: mqtt
state_topic: BME680_01/iaq
unique_id: BME680_01/iaq
name: "BME680 IAQ"
- platform: mqtt
state_topic: BME680_01/iaqAc
unique_id: BME680_01/iaqAc
name: "BME680 IAQ-Genauigkeit"
- platform: mqtt
state_topic: BME680_01/eco2
unique_id: BME680_01/eco2
name: "BME680 CO2"
icon: mdi:molecule-co2
- platform: mqtt
state_topic: BME680_01/voc
unique_id: BME680_01/voc
name: "BME680 VOC"
icon: mdi:smoke-detector-variant
- platform: mqtt
state_topic: BME680_01/error
unique_id: BME680_01/error
name: "BME680 Fehler Status"
icon: mdi:alert-circle
►BME680 Sensor:
* https://amzn.to/2WZ5P4S – BME680 Sensor
►Node-MCU ESP8266 Board:
* https://amzn.to/2U7Urmn – NodeMCU ESP8266 ESP-12F
* https://amzn.to/2J5wLJ3 – 3er Set, ESP8266 ESP-12F
* https://amzn.to/3belvGd – 5er Set, ESP8266 ESP-12F
►ESP32 und ESP32 Node-MCU Boards
* https://amzn.to/3erQVKq – ESP32 Node-MCU Board
* https://amzn.to/2Om89OW – 3er Set ESP32 Node-MCU Board
* https://amzn.to/3erIkaS – 5er Set ESP32 Node-MCU Board
* https://amzn.to/2Ct9H7c – 4 Stück ESP32 Module
►Arduino:
* https://amzn.to/2WAlxEm – Arduino Starter Kit für Anfänger
* https://amzn.to/3diucRV – Arduino Uno Rev 3
* https://amzn.to/2JhJ3OR – Arduino Nano
* https://amzn.to/3a9RqaF – Arduino Mega 2560
►Netzteile:
* https://amzn.to/3beWY3V – 2er-Pack USB Ladegerät 5V/2A
* https://amzn.to/398WzP9 – Raspberry Pi 4 Netzteil, USB-C, 5.1V, 3A
* https://amzn.to/2wsS8Bh – HomeSpot Netzteil 3A/5V inkl. 1,5M Micro USB Kabel
►Jumper Wire:
* https://amzn.to/2WxKwIl – Female to Female F2F 40 STK. je 20 cm
* https://amzn.to/2xeKb2V – Set 3 x 40 STK. je 20 cm M2M/ F2M / F2F
►Breadboard:
* https://amzn.to/2QQ7JSL – Breadboard Steckbrett mit 830 Kontakten
►USB Kabel:
* https://amzn.to/2y01THN – USB A auf Micro USB Kabel 0.5m
* https://amzn.to/2xkgqgQ – USB auf Mini USB Kabel 0.5m
* https://amzn.to/2QBxCp7 – USB A zu USB B Kabel 0.5m
All links with "*" are Amazon affiliate links. I receive a small portion of the sales when you place an order, at no extra cost to you.