Nachdem ich eine CO2-Ampel mit einem präzise messenden externen Sensor gebastelt und das Ergebnis mit einem Kaufgerät verglichen habe, hat mich eine Einfachlösung ohne externen Sensor stark interessiert. Gerade hat die Umsetzung dieser Idee einer alten Cassettenhülle eine neue Nutzung verschafft.
Informationen
Die Grundideen zu dieser Ampelbastelei stammen vom Umwelt-Campus Birkenfeld und @Guido_Burger, der auch den IoT-Octopus auf der Basis des ESP8266 herstellt. Als Bauteile benötigt man (1) den IoT-Octopus, (2) ein USB-Netzteil und (3) ein Gehäuse.
Der IoT-Octopus sollte mit einem Sensor BME680 ausgerüstet sein, der zwar nicht direkt CO2 der Raumluft messen kann. aber über den eingebauten VOC-Sensor CO2-Equivalent, kurz eCO2. Zu den technischen Details verweise ich auf Informationen des Umwelt-Campus Birkenfeld.
Programmieren
Zum Programmieren des IoT-Octopus benötigt man das Programm Arduino IDE und das dazu passende Werkzeug ArduBlock. Für die Programmierung wird mit dem Sensor-Block BME680 BSEC gearbeitet, der auf eine BSEC-Library zugreift.



Obigen Sketch habe ich zum Testen erstellt, um die Messwerte über die App Blynk auf dem Smartphone anzuzeigen. Die mit dem Sensor gemessenen Daten werden in Variablen geladen und auf virtuellen Pins zu Blynk übertragen.
Die Doppelschleife wird einerseits genutzt, um die fest auf dem Octopus verbauten Neopixel in Abhängigkeit von eCO2 in grün, gelb oder rot zu schalten. Mit dieser Doppelschleife wird aber auch eine kleine Ampel über die virtuellen Pin 4, 5 und 6 bei Blynk geschaltet.
Anzeige
Mit der App Blynk, die es für Android und Apple iOS gibt, lassen sich relativ einfach individuelle Anzeigen über Widgets gestalten. Der folgende Screenshot zeigt oben eCO2 in einem Widget Gauge und rechts daneben die Ampel.
Für die Grafik habe ich das Widget SuperChart gewählt. Temperatur, Feuchtigkeit und IAQ accuracy werden über drei Widget Labeld Value angezeigt.

Zur Anzeige von IAQ accuracy eine Anmerkung: Dieser Wert zeigt die Aktivität des Software-Sensors BME680 BSEC. Nach etwa 5 min zeigt er auf 1, danach kalibriert er automatisch und zeigt 2 und nach dem Einpendeln den Wert 3.
Fazit
Ich habe eine weitere CO2-Ampel im Einsatz. Dort vergleiche ich seit einigen Tagen die Ergebnisse für CO2, die der externe Sensor SCD30 liefert mit dem eCO2 des internen Sensors BME680 BSEC.

Die Werte der Sensoren sind nicht deckungsgleich. Die grüne Kurve des SCD30 zeigt ausschließlich den CO2-Gehalt der Luft, während die orange Kurve des BME680 BSEC den eCO2-Gehalt, also einen errechneten Wert, anzeigt. Letzterer reagiert sehr träge auf die Atemluft, aber spontan auf Zigarettenrauch, Parfüm und Desinfektionsmittel.
Irgendwie nicht unbedingt das gewünschte Ergebnis, denkt HoSi und hofft auf weitere Tester und Kommentare.
Hallo,
wie komplitziert ist es deiner Meinung nach das ganze auf basis eines Raspi`s zu basteln?
VG
Jeron
LikeLike
Mit dem Octopus ist DIESE Lösung besonders interessant, da der BME680 eingebaut ist. Dann ist das Arbeiten mit Ardublock für weniger Programmiererfahrene relativ einfach. Ob das mit dem Raspi einfach ist, kann ich mangels Erfahrung nicht sagen.
LikeLike