Vindriktning

Wie IKEA auf den Namen Vindriktning kommt, bleibt wohl ein schwedisches Geheimnis. Nachdem aber dieser kleine und in keinster Weise "smarte" Raumluftsensor für 10€ in den Handel kam, dauerte es nicht lange und die IoT-Bastler haben das Gerät als Basis für eigene Experimente entdeckt. Der darin verbaute Partikelsensor (PM2.5) kostet nämlich schon einzeln in China oft mehr und so bekommt man noch ein Gehäuse dazu? Leider kann man wohl den internen Prozessor nicht mit einer eigenen Firmware versehen und er hat keine Antenne und spricht weder Bluetooth noch WLAN. Der Platz im Gehäuse hindert uns aber nicht, z.B. einen kleinen WeMOS D1 unterzubringen, der die gleichen seriellen Ausgaben mitliest und über weitere freie Ports auch noch Temperatur, Druck, Feuchte erfasst. In dem Vindriktning ist nämlich sogar ein Lüfter für die Messung der Partikel enthalten und so auch die anderen Sensoren mit Frischluft versorgt. Leider startet der Lüfter leider sehr häufig und hörbar.

Planung

Wenn man nicht gleich zu den ersten Bastlern gehört, dann reicht eine Suche nach "Vindriktning" um neben dem IKEA-Angebot auch sehr viele Projektbeschreibungen zu finden. Hier daher ein paar Links:

Im Prinzip klaut man sich von dem Vindriktning die Energieversorgung und das serielle Ausgangssignal. Die gesamte Steuerung des Lüfters und die Ansprache des Partikelsensors verbleibt beim vorhandenen Prozessor. Der ESP8266/ESP32 hat natürlich noch weitere Ports frei und kann daher auch um andere Sensoren erweitert werden. Um dann noch einen Druck/Temperatur/Feuchte-Sensor einzubinden, gibt es ebenfalls ausreichend Seiten.

Wer dann nicht mal selbst programmieren will, nimmt einfach eine fertige ESP8266 3rd Party Firmware, die den Vindriktning von Hause aus unterstützt, z.B. ESPEasy oder Tasmota. Wir müssen bei all diesen Aktionen natürlich sicherstellen, dass jeder Sensor seine eigenen IO-Pins nutzt. Je nach Webseite werden unterschiedliche Anschlüsse verwendet. Ich habe die Default Pins für den WEMOS D1 verwendet und daher wie folgt verbunden:

Wemos D1 Ziel Beschreibung

GND

Vindrikting GND
BMC280 GND

Die Masse habe ich an den Vindriktning und den BMC280 verbunden

5V

Vindriktning 5V

Die 5 V Versorgung, die später vom Vindriktning kommt, habe ich mit dem Vindriktning 5V verbunden

3,3V

BMC280 3,3

Der Wemos hat einen Spannungsregler, um die 5V auf 3,3V zu senden und damit auch den BMC280 zu versorgen.. Es gibt zwar auch BMC280-Module, die 5V vertragen aber diese dann selbst auf 3,3V senken und die Abwärme ist dann näher am Sensor

D1=GPIO5

Vindriktning REST

Hierüber kommen dann die Daten des Partikelsensors an den Wemos D1

D2=GPIO4

BMC280 SDA

Das ist die I2C Datenleitung vom Wemos D1 zum BMC280

D3=GPIO0

BMC280 SCL

Das ist die I2C Taktleitung vom Wemos D1 zum BMC280

Einbau

Das Gehäuse ist sehr sauber aufgebaut und mit vier Kreuzschrauben (z.B. PH1x40) auch schnell geöffnet. Die Elektronik mit den LEDs auf der Rückseite ist am Deckel angeschraubt und muss nicht entfernt werden. Wir brauchen nur die drei markierten Lötpads für +5V, GND nud Serial out verzinnen und dann drei Kabel anzubringen.

Ich habe bei mir dazu Rot (+5V), Braun (GND) und Orange (seriell) genutzt und direkt an den Wemos D1 angelötet. Zusätzlich habe ich noch einen BMC280 mit dem Wemos verbunden. Vor dem Einbau haben ich den Wemos mit einer Tasmota-Firmware mit der Unterstützung für den Vindriktning geflashed. Über die Micro-USB-Versorgung des Wemos D1 wurde auch der Vindriktning versorgt. Den USB-C Anschluss darf man in der Zeit nicht nutzen. So war aber schon im Diagnose-Mode direkt die Funktion zu prüfen. Der Energiebedarf war zwischen 50-150mA und hat damit nicht den Wemos D1 überfordert.

Den BME280 und den WEMOS D1 habe ich einfach mit doppelseitigem Spiegelklebeband innen angeklebt.

Ausgabe

Deckel zu, Strom per USB-C wie gehabt angeschlossen und der Vindriktning hat unverändert weiter die Luftqualität gemessen und auf den LEDs angezeigt. nach der Verbindung per WLAN habe ich Tasmota parametrisiert und konnte dann im Browser direkt die Daten sehen:

Eine Einbindung an einen MQTT-Server zwecks weiterer Verarbeitung der Daten steht natürlich nichts entgegen. Sie aussagekräftig insbesondere die Temperatur bei all den Verbrauchern im Umfeld ist, steht auf einem anderen Blatt.

Verbesserung

Zuerst war mein Ziel das "Nachbauen", was sehr schnell funktionierte. Aber natürlich gibt es Optimierungspotential:

  • Einbau mit USB-Öffnung zur Rückseite
    Der ES8266 ist aktuell so eingebaut, dass ich beim geöffnetem Gehäuse an den USB-Anschluss komme. Genau genommen könnte ich ihn um 180Grad drehen und auf der Rückseite eine Öffnung für den USB-Anschluss machen. dann könnte das Gerät auch ohne Öffnung über den USB-Anschluss des WEMOS betrieben aber auch programmiert werden.
  • ESP32 als Bluetooth Beacon
    Anstatt des ESP8266 könnte man auch den minimal teureren aber leistungsfähigeren ESP32 nutzen, der neben WLAN auch Bluetooth spricht. So könnte die gesammelten Informationen z.B. als BTLE-Beacon regelmäßig versendet werden.
  • Externes Thermometer
    Der Wemos-D1 hat ja noch einige Pins offen und über einen DS18B20 per 1-Wire Bus könnte die Box z.B. die Außentemperatur messen.
  • Batteriebetrieb
    Prinzipiell kann der Luftsensor auch mit einer USB-PowerBank betrieben werden. Allerdings ist er ja dauernd per WLAN aktiv und der Lüfter läuft auch regelmäßig an. Stromsparen geht anders. Theoretisch könnte der Wemos in den Tiefschlaf-Mode gehen und dabei auch den Partikelsensor abschalten. Aber ob da dann reicht, steht auf einem anderen Blatt
  • LCD-Anzeige
    neben den LEDS für "Grün, Organe, Rot" gibt es aktuell keine weitere Anzeige. Ein kleines OLED-Display könnte mehr zeigen. Aber das wären schon größere Umbauten am Gehäuse. Dann würde ich eher den Sensor in einem ganz eigenen Gehäuse einbauen.

Im Grund ist das Gehäuse des Vindriktning mit dem eingebauten Partikelsensor auch eine gute Basis für weitere Bauprojekte. Leider ist der USB-C-Anschluss so knapp angelstet, dass man schon sehr mit einer Mikro-Lötnadel agieren müssen um die D+/D--Leitungen abzugreifen und an den Wemos zu führen.

Ich wüsste gar nicht mal, welche der sechs sichtbaren Pins dafür in Frage kommen. USB-C hat ja eigentlich 2x12 Pins, die aber Da sich der Vindriktning aber per USB nicht meldet, dürften die Anschlüsse frei sein.

Weitere Links