Luftqualitätsmessung und ein Ikeahack

Durch meine sehr gute Erfahrung mit der ESP8266 Homekidd Wetterstation, wollte ich ein weiteres Projekt zur Messung der Qualität im Arbeitszimmer starten. Leider kam ich erst im Juni 2021 dazu, doch wie sich zeigte, genau zum richtigen Moment.

Das Ziel

Ich stellte mir ein relativ unscheinbares Gerät vor, welches überall hin mitgenommen werden kann und hauptsächlich den CO2-Gehalt der Luft misst. Wenn der CO2-Wert zu hoch ist, soll sich das Gerät irgendwie bemerkbar machen und die Situation wird durch Lüften „entschärft“. Wenn eine Wifi-Verbindung vorhanden ist, kann dieses „Bemerkbar machen“, gerne auch über einen Messenger wie Telegram passieren. Ansonsten wäre eine Vibration oder eine LED der Fallback.

Durch diverse Projekte wie CO2-Ampeln für Schulen waren die Grundlagen für mich sehr gut im Internet dokumentiert und auch Telegram-Bots auf einem ESP8266 gehören heutzutage zum Alltag. Meine einzige Sorge: Wenn ich das Ding überall hin mitnehmen möchte, muss ich alles auf Energiesparsamkeit optimieren, da wir hier über Akkubetrieb sprechen.

Die Einkaufsliste

Die Umsetzung

Der Adafruit SCD-30 mag eventuell ein totaler Overkill sein, dafür ist hier aber eine sehr genaue Messung vorhanden. Ich hatte gelesen, dass günstigere Sensoren eher eine Kalkulation basierend auf Messungen vornehmen und darauf hatte ich keine Lust.
Wir verbinden also alles wie folgt:

  • SCD-30 VIN auf ESP 5Vwenn du ein 5V ESP hast. Wenn du 3V, nehmen kannst, verbinde es lieber mit 3V.
  • SCD-30 GND auf ESP GND
  • SCD-30 SCL auf ESP SCL (D1)
  • SCD-30 SDA auf ESP SDA (D2)
  • Um den DeepSleep Modus „freizuschalten“: ESP RST auf ESP D0
  • Falls etwas schief geht, habe ich mir eine einfache Verbindung (ESP D3 auf ESP GND) gelötet, um schnell einen Reset durchzuführen.
Der SCD-30 im Hintergrund wurde mit dem ESP8266 verbunden

Das wars eigentlich schon von der Hardware. Der Rest wird im Code gemacht. Mein Projekt dazu findet ihr auf Github. Falls ihr erst einmal das Projekt starten wollt, müsst ihr in exampleenv.h eure Daten eintragen und die Datei in env.h umbenennen. Ein Telegram Token bekommt ihr vom Botfather und eure eigene ChatID vom IDBot. Natürlich müsst ihr die Bibliotheken in eurer IDE noch vorher installieren.

Besonderes Augenmerk möchte ich auf die DeepSleep funktion legen. ESP.deepSleep(time_between * 1000);, wobei time_between aus der env.h stammt, legt den Aufgbau in einen kompletten Tiefschlaf. Eigentlich ist das Ding komplett heruntergefahren und es wird nur ein Timer bis zum Aufwachen heruntergezählt. Danach startet der ESP und das Programm wird von vorne ausgeführt. In meinem Branch „low-energy“ versuche ich noch mehr Energie zu sparen und lasse das Board nur dann mit dem Wifi verbinden, wenn der CO2-Wert zu hoch ist.

So konnte ich meinen Aufbau mit einer 5000mAh Powerbank für etwas mehr als eine Woche betreiben. Allerdings leuchtete am SCD-30 Sensor noch eine LED, die ich nicht mit Software mitteln ausgeschaltet bekommen habe.

Der Alltag

Den Aufbau habe ich mitsamt der Powerbank in eine offene Tupperdose gelegt und ganz normal im Arbeitszimmer gearbeitet. Nach einiger Zeit meldete sich mein Bot, ich habe es „Lüfti“ getauft, dann per Telegram und ich habe gelüftet. So einfach, so langweilig.
Richtig nützlich wurde es dann, als ich Lüfti mit in die Handelskammer für die Prüfungsauswertung der Mediengestalter (ich bin IHK Prüfer) mitnehmen konnte und wir so immer frische Luft um Raum hatten.

Trotzdem war es irgendwie nervig, jede Woche den Akku aufladen zu müssen. Ein größerer Akku kam für mich infrage und so steckte ich meine Zeit in die weitere Recherche. Bis plötzlich IKEA im Juni mit ihrem Sensor VINDRIKTNING um die Ecke kam und das Energieproblem… auch nicht lösten?

Der IKEAHACK

VINDRIKTNING muss einfach immer am Strom hängen. Das spornte zwar ein wenig meinen Ehrgeiz an, aber dennoch war meine Motivation auch dahin. Wenn IKEA das Problem einfach ignoriert, warum soll ich mir dann den Kopf zerbrechen? Ich will ja nicht die Welt der CO2-Raummesser revolutionieren.

VINDRIKTNING zeigt mit seiner roten LED schlechte Luft an

Ich habe jetzt seit ein paar Tagen VINDRIKTNING hier stehen und wollte natürlich wissen, was da genau passiert. Auch hier ist es recht langweilig: LEDs zeigen den „Gefahrenstatus“ an, ein Sensor misst und ein Ventilator führt frische Raumluft in das Gehäuse (klever). Der interessante Part ist aber, dass sich ein ESP8266 sehr einfach anlöten lässt und somit zum Beispiel eine Integration durch Homebridge möglich wird. Auf Hackaday wurde dazu sogar noch ein Gedanke zum Ventilationssystem der kleinen Box geschrieben.

Fazit

Es war superinteressant, sich ein paar Gedanken über ein echtes Problem zu machen und es mit einem Lötkolben und Code zu lösen. Wäre Ikea mit seinem Produkt nicht um die Ecke gekommen, hätte ich das Projekt wahrscheinlich auch mit einem schönen Gehäuse beendet. Eigentlich sollte ich das auch jetzt auch noch tun. Zwei Sensoren in der Wohnung sind besser als einer.

Es hat mir aber auch gezeigt, wie komplex ein Problem werden kann, wenn Energiesparsamkeit ein Anspruch ist. Projekte mit Solarpanels finde ich aber weiterhin interessant.


Veröffentlicht am

in