ESP8266/HomieRoomSensor

Aus C3MAWiki
Version vom 9. Februar 2024, 21:18 Uhr von Ollo (Diskussion | Beiträge) (→‎Quellcode: Gitserver angepasst)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Dies ist ein Projekt, an dem momentan aktiv gearbeitet wird. Wenn du Fragen hast oder mitarbeiten möchtest, wende dich an Ollo.


Homie kompatibler Sensor
Homie kompatibler Sensor

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:

  1. particle
  2. temp
  3. pressure
  4. altitude

Mit dem Kanal led kann die Farbe aller drei LEDs gesteuert werden. Der Wert 250,250,250 aktiviert den automatik-Modus:

  1. rot: schlechte Feinstaubwerte
  2. gelb: moderate Feinstaubwerte
  3. grün: gute Feinstaubwerte

Die Erstellung der Firmware ist im Github-Projekt beschrieben.

Quellcode