NEWS
CO2 Ampel mit MQTT und ESP8266
-
Hallo @hydrotec
@hydrotec said in CO2 Ampel mit MQTT und ESP8266:
Nur interessehalber, warum zufälliger Bestandteil?
Die ClientID kann man doch fest hinterlegen, oder geht das bei Arduino nicht?@Eisbaeeer hat die
clientId
folgendermaßen zusammengebaut:// Create a random client ID String clientId = "CO2Light-"; clientId += String(random(0xffff), HEX);
Also an CO2Light- wird noch eine Zufallszahl gehangen. Hatte dort auch erst eine feste Zahl hinterlegt, aber falls man mal mehrere CO2-Lampen hat ...
OT
Kleiner Tip, bei FHEM hättest auch einfach mit MQTT2 und RegEx arbeiten können.
Und bei ioBroker ist es egal wie die ID zusammengestellt ist, da arbeitest du mit topics und Wildcards.Habe das Gerät unter Verwendung von
MQTT2
mit dem TemplateMQTT2_CLIENT_general_bridge
angelegt, hat dann eine recht umfangreiche RegEx. Für mehrere würde ich aber wieder eine Unterscheidung brauchen, deshalb die MAC-Adresse.Grüße, R3.
-
@r3 sagte in CO2 Ampel mit MQTT und ESP8266:
@Eisbaeeer Vielen Dank für das schöne Projekt!
Ich hätte dazu ein paar Fragen:
- Wie bzw. wo genau ist der Sensor verbaut? Er braucht ja "Luft" um die Messungen durchführen zu können und wenn ich die Bilder richtig interpretiere liegt er auf dem Boden auf und das Gehäuse ist komplett geschlossen?
Nein, der Sensor ist aussen am Boden angebracht.
- Hält der Holzleim das Holz und das Plexiglas zusammen?
Ja bis jetzt schon. Bei den nächsten Würfeln (ab sofort) werde ich eine andere Methode verwenden. Die wird aber nicht verraten
- Ich hatte zuerst ein 0,96" SSD1306-Display dran und habe mir dann bei AliExpress 1,3" Displays bestellt. Display getauscht --> nur Rauschen. Nach einiger Untersuchung habe ich rausgefunden: Die Displays wurden als SSD1306 verkauft, aber tatsächlich waren es SH110X. Habe die passende Library (
#include <Adafruit_SH110X.h>
) genommen und den Code (Initialisierung ist etwas anders) angepasst, sodass es dann auch damit funktionierte. Evtl. wäre es möglich das als Konfigurationsmöglichkeit (im Code) aufzunehmen.
So etwas am besten als "Issue" in Github erfassen. Oder im Code realisieren und als Pull-request in Github einkippen.
- Ich lasse die Werte per MQTT in FHEM einlaufen. Dort wird der CO2-Sensor als Device angelegt. Da die clientId einen zufälligen Bestandteil enthält, wurden immer neue Devices angelegt. Ich habe den Code angepasst um an der Stelle die MAC-Adresse zu verwenden,
clientId += String(random(0xffff), HEX);
habe ich mitclientId += WiFi.macAddress();
ersetzt. Könnte vielleicht auch aufgenommen werden, falls für andere interessant.
Issue in Github erfassen, dann wird es realisiert.
- Ich würde gern noch den Sensor BME280 integrieren, da die Temperatur, die der MH-Z19 ausgibt, eher ein grober Schätzwert ist. Aber andere Sensorik steht ja eh auf der Agenda.
Ja, ich weiß nur noch nicht, ob ich weiterhin den DHT-22 verwende oder den BME280, der etwas teurer ist.
Grüße Eisbaeeer -
Wenn ihr Wünsche habt, sollten aber schon eher konkret sein, bitte als Issue erfassen. Die Client-ID habe ich mal exemplarisch erfasst. Hilft mir ungemein, da ich bei so vielen Projekten sonst eventuell das ein oder andere vergesse
https://github.com/Eisbaeeer/CO2light/issues -
Danke für die Rückmeldung, jetzt hab es sogar ich, als Arduino-Noob, verstanden.
-
verzeih gerade mal die blöde Frage
brauche ich MQTT Wissen für Dein Projekt ? ( also, wenn ich es bestelle )
Davon hab ich nämlich null Ahnung ..... -
Die Bilder machen Lust auf mehr.
Sieht echt gut aus. -
@skokarl Nö, MQTT ist nur ein Addon für Hausautomatisierung oder zur zentralen Erfassung der Messwerte. Der Würfel funktioniert so ...... einstecken, fertig
So sieht es aus, wenn er den CO2 Wert kalibriert. So für die Lust
-
@Eisbaeeer Danke für die schnelle Antwort mit den erhellenden Bildern!
Ja bis jetzt schon. Bei den nächsten Würfeln (ab sofort) werde ich eine andere Methode verwenden. Die wird aber nicht verraten
Versuch macht kluch!
- ... Evtl. wäre es möglich das als Konfigurationsmöglichkeit (im Code) aufzunehmen.
So etwas am besten als "Issue" in Github erfassen. Oder im Code realisieren und als Pull-request in Github einkippen.
Habe einen Issue erstellt, kann ihn aber nicht als Enh. labeln.
- ...
clientId += WiFi.macAddress();
ersetzt. Könnte vielleicht auch aufgenommen werden, falls für andere interessant.
Issue in Github erfassen, dann wird es realisiert.
Danke!
Viele Grüße, R3.
-
Kann mich nur wiederholen, der Würfel ist dir echt gelungen.
Weißt du eigentlich, wie ich mich innerlich schon auf den Tag freue,
an dem ich eine Email, mit dem Text, "Ihr Paket wird heute im Laufe des Tages zugestellt", erhalte.
Das ist fast wie zweites Weihnachten. (und das in meinem Alter )@skokarl sagte in CO2 Ampel mit MQTT und ESP8266:
brauche ich MQTT Wissen für Dein Projekt ? ( also, wenn ich es bestelle )
Davon hab ich nämlich null Ahnung .....Keine Angst, wenn es soweit ist, und du möchtest die Ampel in ioBroker über MQTT integrieren, helfe ich dir.
Das ist einfacher, wie du es dir gerade vorstellst.
Wie heißt es so schön im American Football, "we're all one familiy" -
@Eisbaeeer
Du hast ja das Blinken in kürzeren Intervallen geändert.
Habe es gerade gesehen als ich dazu ein Issue aufgeben wollte.
Gefällt mir so sehr gut.Gruß Christian
-
@cvidal Ja das war nicht so gewollt das er alle 15 Sekunden blinkt. Ist im falschen Task gewesen. Jetzt ist es im Sekundentakt.
Jetzt kann auch eine manuelle Kalibrierung gemacht werden.
Gruß Eisbaeeer -
Heute fertig geworden. Weiter geht's mit den nächsten Bestellungen.
-
@eisbaeeer sagte in CO2 Ampel mit MQTT und ESP8266
Jetzt kann auch eine manuelle Kalibrierung gemacht werden.
Das teste ich morgen mal. Ich habe ohne Kalibrierung im Freien einen PPM Wert von 408 glaube das ist schon ganz ok. Ich denke auf 400PPM wird kalibriert oder?
Leider habe ich meine CO, Gas etc. Sensoren noch nicht bekommen, muss ich mal Checken wie die Werte im Außenbereich sind um nen Vergleichswert zu haben.
Kalibrieren kann ich mit anderen Sensoren ja denke ich nicht. -
@cvidal sagte in CO2 Ampel mit MQTT und ESP8266:
@eisbaeeer sagte in CO2 Ampel mit MQTT und ESP8266
Jetzt kann auch eine manuelle Kalibrierung gemacht werden.
Das teste ich morgen mal. Ich habe ohne Kalibrierung im Freien einen PPM Wert von 408 glaube das ist schon ganz ok. Ich denke auf 400PPM wird kalibriert oder?
Ja, 400 bzw. 380 ist der "Null" Wert an der frischen Luft.
Kalibrieren kann ich mit anderen Sensoren ja denke ich nicht.
ich habe mir jetzt auch das komplett Set bestellt. Grundsätzlich sind die ja nicht kalibriert. Es gibt also keinen Anhaltswert, der einen definierten Zustand angibt. Man bekommt ja nur einen analogen Wert zurück. In der Software werde ich aber schon irgend einen Kalbrier Mechanismus einbauen. Ich habe gelesen, dass manche der Sensoren nur mit sehr teuren Gasen in einem geschlossenen System kalibriert werden kan.
Wobei, als Gas Sensor (also Leck Alarm) braucht man keinen kalibrierten Wert.
Gruß Eisbaeeer -
Ich habe jetzt mal Kalibriert, lief gut durch. Ich hatte den Sensor vorher 20min nach draußen gestellt, das ist anscheinend nicht nötig denke das die Kalibrierung deshalb ca.20min läuft. Einen Ablauftimer bei der Kalibrierung wäre noch Cool.
Gruß Christian
-
@cvidal sagte in CO2 Ampel mit MQTT und ESP8266:
Einen Ablauftimer bei der Kalibrierung wäre noch Cool.Den gibt es. Das wird auf dem Display angezeigt
Gruß Eisbaeeer -
@eisbaeeer Ah okay, mein Display wurde beim ankleben zerstört, hab also momentan keinen dran.
-
@cvidal Oje. Ja das ist ein wenig knifflig. Ich mache den Ausschnitt mit dem Laser. Da hab ich lange getüftelt.
-
Meine CO Sensoren sind noch unterwegs. Ich überelge mir aber schon mal, wie die Basis aussehen könnte.
- Beliebiger Sensor sollte steckbar sein (über Pfostenleiste und in der Software kofigurierbar)
- Möglichst klein
- Mit piepser (Piezo)
- Display nötig?
- Auf jeden Fall MQTT
- Akku betrieben? (nicht an jeder Stelle ist eine Steckdose für das Netzteil vorhanden?)
Für den Akkubetrieb muss die Firmware natürlich anders aussehen. Deep-sleep Funktion.
Eine Basis für Akku könnte so aussehen (16340 3.7V rechargeable lithium battery) :
Ich glaube wir sollten einen neuen Thread aufmachen?
Grüße Eisbaeeer -
@eisbaeeer
Ich bin mit fast allem einverstanden. Klein ist gut, Signalton wichtig, Display benötige ich nicht, Akku ist optional, MQTT okay.
Das Gehäuse sollte wie das beim CO2 sein, die Optik ist sehr gelungen.Ich freue mich auf den neuen Sensor!