CO2-Sensor für Smarthome selber bauen
Ich teilweise überrascht, wie teuer manche Sensorlösungen werden und habe mich daher , einen eigenen Sensor bauen, der auch in mein Smarthome . Mit einer kleinen LED möchte ich anzeigen, ob ein vorgegebener Grenzwert überschritten wird. Die sollen zyklisch mein Smarthome-System werden.
Benötigte Hardware
Als Sensor habe ich mich für einen CO2- MH-Z 19C entschieden. Mit diesen Anschlussmöglichkeiten eignet er sich hervorragend für Anschluss an einen Wemos D1-Mini (8266 Chip), den ich in vielen meiner Projekte verwendet habe. Über kann ich dann auch alle Daten an einen MQTT-Broker und die Daten einfach in meinem Smarthome-System . Den Sensor gibt es in verschiedenen Ausführungen, wobei ich mich für die Version mit den entschieden habe .
Ich erstelle meine Programme mit der von Tasmota. Da es in den Versionen von Tasmota nicht gibt, ich mir eine Version und flashe den D1-Mini . Tasmota Scripting aktivieren
Ich empfehle, in der Konfiguration des D1-Mini neben dem WLAN auch direkt einen MQTT-Server anzugeben.
CO2-Sensor anschließen
Als Ergänzung habe ich noch eine rote LED hinzugefügt, die . Die gesamte Schaltung ist in dargestellt:
Dies über die serielle Schnittstelle mit TX (Sendekanal) und RX (Empfangskanal
Unter Configure / Configuration Module wähle ich als Module Type "Generic(18)" (steht ganz unten in der Liste) und speichere das. Erst kann ich meine GPIOs sehen und konfigurieren.
- GPIO1 (TX) wird auf "MHZ Tx (60)" (Sendekanal) gesetzt.
- GPIO3 (RX) wird auf "MHZ Rx (61)" (Empfangskanal) gesetzt.
(Tipp: In der langen Liste stehen die beiden Werte im unteren Dritttel).
Um die LED einschalten zu können, wird noch ein Relay benötigt, dass wie folgt definiert werden muss:
- GPIO5 (D1) wird auf "Relay 1" gesetzt.
Nach dem Speichern und dem automatischen Neustart sollten Temperatur und CO2 Gehalt wie folgt auf der Tasmota Oberfläche erscheinen:
Hinweis: Aufgrund der Vorheizzeit kann es bis zu einer Minute dauern, bevor der Sensor Werte liefert!
Script für LED-Warnung erstellen
möglicher Grenzwerte verweise ich auf folgendenArtikel. dieser Abfrage prüfe ich, ob die LED schon ist, damit ich nicht den Einschaltbefehl sende. Natürlich schalte ich die LED aus, wenn der Grenzwert unterschritten wird.
Die Daten können nun vom MQTT-Broker "abgeholt" und beispielsweise in InfluxDB gespeichert und ausgewertet werden. Wie das geht habe ich in folgenden Artikeln beschrieben
Möglicher Anpassungen
Ich versorge den Sensor USB-Kabel mit Strom. Theoretisch könnte man dies auch mit einer realisieren. (siehe hierzu wird dann der Deepsleep-Modus verwendetFüllstandssensor (Zisterne) für HMIP selber bauen). Daher sollte der Sensor frühestens nach 1 Minute wieder in .
einer LED auch eine mehrfarbige LED , die den jeweiligen anzeigt.
habe den Sensor auf eine Platine gelötet und mir mit dem Drucker gedruckt.
Hinterlasse einen Kommentar