Ollo (Diskussion | Beiträge) (→Aufbau) |
Ollo (Diskussion | Beiträge) (→Quellcode: Gitserver angepasst) |
||
Zeile 97: | Zeile 97: | ||
== Quellcode == | == Quellcode == | ||
* [https:// | * [https://git.mannheim.ccc.de/Ollo/HomieRoomSensor Projekt im Git] | ||
* [https://homieiot.github.io/specification/ MQTT Convention for IoT/M2M] | * [https://homieiot.github.io/specification/ MQTT Convention for IoT/M2M] | ||
* [https://github.com/Hypfer/esp8266-vindriktning-particle-sensor/issues/16#issuecomment-903116056 Schwellwerte von Vindriktning] | * [https://github.com/Hypfer/esp8266-vindriktning-particle-sensor/issues/16#issuecomment-903116056 Schwellwerte von Vindriktning] |
Aktuelle Version vom 9. Februar 2024, 21:18 Uhr
Homie Raum Sensor
MQTT ist ein Publish- Subscriber Protokoll, welches für vernetzte Kleinstgeräte vor Jahren entwickelt wurde. Darauf basierend wurde ein Standard Homie definiert, welcher die Beschreibung in einer Maschinenlesbarer Form bereit stellt. Damit lassen sich Sensor Werte, als auch Aktoren beschreiben.
Mit diesem kleinen Projekt kannst du Werte über Homie bereitstellen (z.B. Temperatur) oder die LEDs (RGB) steuern.
Hardware
- IKEA Vindriktning
- ESP8266 (e.g. Witty board)
- BMP280 Sensor oder BME680 Sensor (Platine von watterot.com)
- Kabel
Aufbau
Die Rückseite lässt sich einfach mit einem Kreuzschlitzschraubenzieher öffnen. Das Board und der Sensor lassen sich vom Gehäuse abschrauben, bzw. herausziehen.
Feinstaub Sensor
ESP und Sensor über RX, GND und 5V verbinden, siehe
IKEA | ESP | Kabelfarbe im Bild |
---|---|---|
5V | VCC | Rot |
GND | GND | Schwarz |
REST | GPIO4 | Grün |
Status LEDs
Alle LEDs auf dieser Platine entfernen, damit an diese Stelle der WS2812 Steifen passt. Die oberste "schwarze" IR LED kann man behalten, wenn man die Funktionalität zu FÖRNUFTIG nutzen möchte (soweit die Theorie wenigstens)
Jetzt passen an diese Stelle 3 WS2812 LEDs, welche über GPIO2 angesprochen werden.
I2C Sensor
ESP und BMx Sensor von Bosch über SCK, SDA, GND und 3.3V verbinden, siehe
BME680 | ESP | Kabelfarbe im Bild |
---|---|---|
VCC | GPIO12 (Grüne LED) | Rot |
GND | GND | Schwarz |
SDA/SDI | GPIO5 | Blau |
CLK | GPIO14 | Grün |
Bei BMP280 müssen keine weiteren Brücken gelötet werden. Der BME680 benötigt eine Brücke für SDD und CS mit VCC.
Schlafen
Um Strom zu sparen, kann ab Firmwareversion 2.3.0 die Einstellung deepsleep genutzt werden. Dafür muss der ESP den Reset "selber" ziehen können:
- RST PIN
- GPIO16
mit 2,2k Widerstand verbinden
Mikrocontroller
Folgende Schnittstelle wurde verwendet:
- GPIO4 PM1006 Luftqualitätssensor
- GPIO2 WS2812 mit drei LEDs, welche die originalen LEDs ersetzt.
- GPIO15 rote LED (optional)
- GPIO12 grüne LED (optional)
- GPIO13 blaue LED (optional)
- GPIO14 I2C clock
- GPIO5 I2C data pin
Software
Ein smarter Luftqualitätssensor welcher den MQTT Homie Standard unterstützt.
Es werden folgende Kanäle bereit gestellt:
- particle
- temp
- pressure
- altitude
Mit dem Kanal led kann die Farbe aller drei LEDs gesteuert werden. Der Wert 250,250,250 aktiviert den automatik-Modus:
- rot: schlechte Feinstaubwerte
- gelb: moderate Feinstaubwerte
- grün: gute Feinstaubwerte
Die Erstellung der Firmware ist im Github-Projekt beschrieben.