CO2-Sensor mit MQTT überwachen: Schritt-für-Schritt-Anleitung
11.12.2024 - Engine: Gemini

Materialien:
- CO2-Sensor (z. B. MH-Z19C)
- Mikrocontroller (z. B. ESP32)
- WLAN-Modul (optional, falls der Mikrocontroller kein integriertes WLAN hat)
- MQTT-Client-Bibliothek
Schritte:
1. Hardware-Einrichtung:
- Verbinden Sie den CO2-Sensor gemäß dem Datenblatt mit dem Mikrocontroller.
- Wenn Ihr Mikrocontroller kein integriertes WLAN hat, schließen Sie ein WLAN-Modul an.
2. Firmware-Erstellung:
- Installieren Sie die MQTT-Client-Bibliothek auf dem Mikrocontroller.
- Erstellen Sie eine Firmware, die Folgendes tut:
- Liest die CO2-Konzentration vom Sensor.
- Verbindet sich mit einem MQTT-Broker.
- Veröffentlicht die CO2-Konzentration in einem bestimmten MQTT-Thema.
3. MQTT-Broker-Einrichtung:
- Erstellen Sie einen MQTT-Broker (z. B. Mosquitto).
- Erstellen Sie ein Thema für die CO2-Konzentration (z. B. "co2/wohnzimmer").
4. Datenvisualisierung:
- Installieren Sie einen MQTT-Client auf einem Gerät (z. B. Smartphone oder Laptop).
- Verbinden Sie den Client mit dem MQTT-Broker.
- Abonnieren Sie das CO2-Thema.
5. Testen:
- Starten Sie die Firmware auf dem Mikrocontroller.
- Überwachen Sie die CO2-Konzentration im MQTT-Client. Die Daten sollten sich in Echtzeit aktualisieren.
Beispielcode (ESP32 mit MH-Z19C):
#include <WiFi.h>
#include <PubSubClient.h>
#include <MHZ19.h>
const char* ssid = "Ihr_WLAN_Name";
const char* password = "Ihr_WLAN_Passwort";
const char* mqtt_server = "Ihr_MQTT_Broker_Server";
const int mqtt_port = 1883;
const char* mqtt_topic = "co2/wohnzimmer";
MHZ19 myMHZ19;
WiFiClient espClient;
PubSubClient client(espClient);
void setup() {
Serial.begin(115200);
myMHZ19.begin();
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
}
client.setServer(mqtt_server, mqtt_port);
client.connect("esp32-co2-sensor");
}
void loop() {
float co2 = myMHZ19.getCO2();
Serial.println(co2);
client.publish(mqtt_topic, String(co2).c_str());
delay(5000);
}