CO2-Sensor Alternative

Zum bereits beschriebenen Sensor von Seeed gibt es eine günstigere Alternative, den MH-Z19B von Winsen Electronic (China)erhältlich z.B. Reichelt. Preis unter 30 €.
Die Anschlüsse (7 polig) müssen natürlich dem JST-System von senseBox angepasst werden.
grafik

Hier die Zuordnung:

Grove JST(senseBox)|

Weiß(PIN6) Grün (Rx)|
Blau(PIN5) Gelb(Tx)|
Rot(PIN4) Rot(5V)|
Schwarz(PIN3) Schwarz(GND)|

Moin @Felix,

schon einige Zeit her das wir uns gehört haben aber noch immer aktiv mit dem Sensebox an unserer Hochschule!

Eine Frage : wir wollen die CO2 Ampel von Watterot ausprobieren : https://shop.watterott.com/senseBox-CO2-traffic-light.
Ich habe sie bestellt aber leider noch nicht zugekommen.

Können Sie uns aber sagen ob es Blöcke gibt fur diesen Sensirion SCD30 und genau auch seinen LED Display? An diesem Moment sehe ich unter den Kategorie Sensoren kein CO2 sensor und unter den Display Kategorie kein WS2812 LEDs. Denken Sie daran um sie zu entwickeln?

Dank vielmal für das Antwort.

Hi @wdebbaut,

ich habe gerade ein Update hochgeladen und zum Test freigegeben https://deploy-preview-181–sensebox-blockly.netlify.app/ardublockly/?board=sensebox-mcu. Dort ist der CO2 Sensor bereits integriert und die RGB LED findet sich unter der Kategorie LED.

Sobald alles Tests durchgelaufen sind stellen wir die Version final online.

Beste Grüße
Mario

Super Mario,

das macht das programmieren einfacher für unsere Studenten, obwohl Sie Informatiker in Bildung sind!

Leider kann ich noch nicht testen weil ich das Gerät noch nicht empfangen habe von Watterot. Sobald es da ist, versuche ich es häufig auf Ihrem Testplatform und lassen Sie meine Erfahrungen wissen damit Sie es final online stellen können.

Wir hören uns noch.

Hallo @mario

das CO2 Ampel ist angekommen zur Hause und es funktioniert schon. Ganz einfach wenn mann diesen Tutorial folgt : https://docs.sensebox.de/hardware/sets-co2-ampel/

Nun werde ich versuchen die CO2 Sensor daten mit lorawan oder wifi nach einem Dashboard zu schicken.

EDIT : Ich merke auf https://blockly.sensebox.de/ardublockly/?lang=de# das schon die Sensirion SCD30 und die LED WS2812 vorhanden ist. Danke da für.

Schönes Wochenende noch.

Guten Abend @Felix und @mario

Ich versuche mit Cayenne LPP die daten von den Sensirion nach TTN zu senden.
Stimmt es was ich hier mache im Blockly?
image

Ubersetzt nach C:

void do_send(osjob_t * j){
  // Check if there is not a current TX/RX job running
  if (LMIC.opmode & OP_TXRXPEND) {
    Serial.println(F("OP_TXRXPEND, not sending"));
  } else {
    lpp.reset();
      lpp.addAnalogInput(1, airSensor.getCO2());


    // Prepare upstream data transmission at the next possible time.
    LMIC_setTxData2(1, lpp.getBuffer(), lpp.getSize(), 0);
    Serial.println(F("Packet queued"));
  }
  // Next TX is scheduled after TX_COMPLETE event.
}

Das heisst: kann ich den Sensirion mit einer Analoge Werte seine Messewerte nach TTN verschicken?
Oder is dat falsch und gibt es ein anderes Feld noch nicht hineingebracht in blockly, neben die TPH und GPS Blöcke? Im jeden Fall, in der TTN Console ist eine falsche analoge Werte zu sehen::slight_smile:

Oder versuche ich es mit einem Payload Decoder in TTN selber, ohne Cayenne LPP format?

Wir arbeiten schwer daran um CO² in Klassräume zu messen und sie in einem Dashboard Integration von TTN dar zu stellen.

Schönes Wochenende noch,

Hallo Wim,

der Cayenne LPP Analog Value kann leider nicht so große Zahlen verschicken. Die beste Beschreibung des Problems ist hier zu finden: https://www.thethingsnetwork.org/forum/t/cayenne-lpp-format-analog-data-wrong/14676/2. Am einfachsten wäre es z.B. die Daten als Luminosity zu nutzen.

Hallo Wim,
ich habe das gleiche Problem gehabt. Den CO2-Wert als Luminosity ist der einfachste Ausweg, nur sollte er dann eine andere Kanalnummer bekommen.

Gruß
Altprog

@Felix Vielen dank für die Hinweise. Es funtioniert jetzt mit dem addLuminosity. Sehe hier das Ergebis in Cayenne My Devices in weniger Minuten.

void do_send(osjob_t * j){
  // Check if there is not a current TX/RX job running
  if (LMIC.opmode & OP_TXRXPEND) {
    Serial.println(F("OP_TXRXPEND, not sending"));
  } else {
    lpp.reset();
      lpp.addLuminosity(1, airSensor.getCO2());

@altprog Ich werde weiter suchen wie ich es schaffen kann um in JSON format ein ThingsSpeak Integration zu machen. Dafür sollte ich zum ersten ein Payload Decoder in TTN schreiben.
Wir schaffen das …

1 Like

Schon gemacht, die Integration mit ThingSpeak und Datacake.de, und diesem einfachen TTN Payload Decoder:

function Decoder(bytes, port) {
    var co2 = (bytes[2] << 8) | bytes[3];
  
  return {
         field1: co2,
  }
}

Ergebnisse in ThingSpeak:


Und live hier : https://thingspeak.com/channels/1217149

Und Ergebnisse in Datacake:

1 Like

Hallo zusammen und @altprog,

hat jemand schon einen Sketch mit der Sensor-Alternative geschrieben und
kann jemand bitte den MHZ-19B im Blockly einfügen?

Gibt es schon News zu dem neuen Sensor von Sensirion SCD40?