Da ist sie, die Korrektur. Bitcoin ist vorgestern deutlich eingebrochen, der Kurs ist, nachdem er kurz vor dem Allzeithoch ein charttechnisches Doppeltop in dem Bereich 19.400 bis 19.500 geformt hat, im Tief unter die Marke von 17.000 Dollar gerutscht und hat damit vom letzten Hoch fast 2.500 Dollar oder mehr als 12 Prozent einbüßen müssen. Deshalb heute mal wieder Monero schürfen bei 470 ppm CO2. Und das mit 2 Threads auf einem Raspi Zero W mit 0,67 Hasches pro Sekunde. Mega.
Mal was anderes als JUnit … „Bitcoin -12% dann mal wieder Monero (+1,37 %) schürfen bei 470 ppm CO2“ weiterlesen
CO2 Ampel: Ubidots CO2 Dashboard mit Ampelfarben einstellen
Wie kann das Ubidots Dashboard so eingestellt werden, das auch die Ampelfarben bei bestimmten Warnwerten dargestellt werden? Hier z.B. in Grün:
Gelb: „CO2 Ampel: Ubidots CO2 Dashboard mit Ampelfarben einstellen“ weiterlesen
Cloud Dashboard für CO2-Messungen (CO2-Ampel) mit Ubidots für Java und Python
So ein Dashboard, hier am Beispiel der CO2 Messungen ist mit dem Cloud Anbieter Ubidots.com schnell gemacht. Kostenlos gibt es 3 Geräte. Es muss ja auch nicht immer Thinkspeak sein.
Hier ist der Api Token zu finden: „Cloud Dashboard für CO2-Messungen (CO2-Ampel) mit Ubidots für Java und Python“ weiterlesen
CO2 mit dem Raspberry Pi
Hier mal eine Zusammenfassung eines CO2-Messsystems (CO2-Ampel) mit dem Raspberry Pi an dem der MH-Z19b, OLED Anzeige, LED-Rgb-Ampel hängen. Auch werden die Daten Online an Thinkspeak, MQTT, NodeRed, Alexa ausgabe von Warnungen und abfrage der Co2 Werte, Pushover nachrichten ans Handy, REST Java-Client, Docker Container und an einen History Browser gesendet. Wie hier auch schon einzeln veröffentlicht.
Die Architektur
Meine CO2 Werte in Echtzeit!
Docker Container mit REST Service in 5 min mit CO2-Ampel Service erstellen
Wer noch 5 Minuten hat, kann das Beispielprojekt mit der CO2-Ampel auch gleich in einem Docker Container laufen lassen. Vorraussetzung Docker läuft und das Beispielprojekt wurde installiert.
Dann sind, dank der automatisch generierten Docker-Files nur diese 3 Schritte im Verzeichnis der root pom nötig:
1 2 3 4 5 6 7 8 |
// 1. das Projekt bauen mvn package -Dquarkus.package.type=fast-jar // 2. das Image bauen, man beachte den Punkt am Ende docker build -f src/main/docker/Dockerfile.fast-jar -t quarkus/info-kleinhirn-fast-jar . // 3. den Container starten mit docker run -i --rm -p 8080:8080 quarkus/info-kleinhirn-fast-jar |
Schon läuft der CO2 Service http://localhost:8080/v1/rest/co2 und CO2-Ampel über http://localhost:8080/v1/rest/co2ampel
Cool. Und hier das Dockerfile … „Docker Container mit REST Service in 5 min mit CO2-Ampel Service erstellen“ weiterlesen
REST Service in 15 min mit Quarkus, OpenAPI, Swagger UI und JUnit-Test erstellen und um CO2-Ampel Service erweitern
Einen REST Service in 15 min mit Quarkus, OpenAPI, Swagger UI und JUnit-Test erstellen und um CO2-Ampel Service erweitern ist nicht kompliziert.
Vorraussetzungen Java 11 und Maven. Test mit:
mvn -version
auf der Kommandozeile:
1 2 3 4 5 6 |
➜ ~ mvn -version Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f) Maven home: /opt/local/share/java/maven3 Java version: 11.0.9, vendor: AdoptOpenJDK, runtime: /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home Default locale: de_DE, platform encoding: UTF-8 OS name: "mac os x", version: "10.15.7", arch: "x86_64", family: "mac" |
Dann fangen wir in einem leeren Verzeichnis an
1 2 |
mkdir rest-co2ampel cd rest-co2ampel |
jetzt rufen wir mit dem Maven Quarkus Plugin das create Goal auf:
1 |
mvn io.quarkus:quarkus-maven-plugin:1.9.0.Final:create -DprojectGroupId=de.wenzlaff.co2ampel -DprojectArtifactId=info-kleinhirn -DclassName="de.wenzlaff.Co2AmpelResource" -Dpath="/co2ampel" |
Zwei Sekunden später, ist das Projekt angelegt: „REST Service in 15 min mit Quarkus, OpenAPI, Swagger UI und JUnit-Test erstellen und um CO2-Ampel Service erweitern“ weiterlesen
CO2 Podcast Folge 3: Script zur Sendung
Da nicht jeder meinen Podcast wenzlaff.de im Apple-Store, Spotify und bei Google abonniert hat (warum eigentlich nicht?) und es auch nicht hier online hören möchte:
Folgt nun hier das Script zur letzten Sendung als Text.
Die gestellten und beantworteten Fragen:
1. Was ist Kohlenstoffdioxid oder CO2?
2. Wie ist das vorkommen?
3. Wie ist die Bedeutung?
4. Wo wird CO2 verwendet?
5. Wie ist das vorkommen von CO2 in Räumen?
6. Was sind so normale Werte beim Atmen?
7. Gibt es eine Korrelation mit Bakterien und Viren wie Covid-19?
8. Wie teilt die DIN die Raumluft ein?
„CO2 Podcast Folge 3: Script zur Sendung“ weiterlesen
Gepimte Version der Co2-Ampel: Nachhaltig und ohne Werbung
So nun effektvoller, auffälliger, glanzvoller gestaltet ohne Werbeaufkleber die nachhaltige werbefreie Version der Co2-Ampel 😉
Und hier liegen die erstellten Python-Scripte und bash-Scripte für die Ansteuerung der coolen CO2-Ampel.
Co2-Ampel: Nachhaltiges Ampel-Design – wiederverwendung (sustainable) eines Seifenspenders
Die Co2-Ampel hat nun ein nachhaltiges Ampel-Design bekommen. Hier die Rote-Warnung die bei über 1000ppm in der Luft erzeugt wird:
Und das ganze als Video, mit allen Ampel-Farben (oder in HD-Qualität):
Und hier noch der Grüne Status: „Co2-Ampel: Nachhaltiges Ampel-Design – wiederverwendung (sustainable) eines Seifenspenders“ weiterlesen
CO2-Ampel: Lüften Video
CO2-Ampel: RGB LED an Rasperry Pi
So, nun habe ich an die CO2-Ampel noch eine RGB LED,
die ich seit längerer Zeit liegen hatte angeschlossen:
So zeigt sie ROT:
Hier der ganze Schaltplan der CO2-Ampel in der 4. Version.
„CO2-Ampel: RGB LED an Rasperry Pi“ weiterlesen
Autostart: systemd zum script starten als service mit systemctl am Beispiel der co2ampel
Wie können bash Scripte auf dem Raspberry Pi automatisch nach dem reboot gestartet werden?
Mit einem Service systemctl. Was ist nötig? Nicht viel …
1. Erstellen einer Datei: „Autostart: systemd zum script starten als service mit systemctl am Beispiel der co2ampel“ weiterlesen
CO2-Ampel: Temperatur zur OLED-Anzeige des CO2-Wertes ergänzen
Zusätzlich zur CO2-Ampel auch noch die Temperatur zur Anzeige des CO2-Wertes hinzufügen. Das ist schnell gemacht, hier das Ergebnis:
Das zusätzliche Einlesen der Temperatur ist in Python auch schnell gemacht:
1 2 3 4 5 6 |
input_json = json.loads(sys.argv[1]) messung_json = input_json['messung'] satz_json = messung_json['satz'] satz_array_json = satz_json[1] co2_wert = satz_array_json['co2'] temperatur_wert = satz_array_json['temperature'] |
So sieht ja das JSon File welches per MQTT gesendet wird aus:
„CO2-Ampel: Temperatur zur OLED-Anzeige des CO2-Wertes ergänzen“ weiterlesen
CO2-Ampel an OLED1306 (GM009605B in Vers. 2.0, 128X64) via I2C
Damit die CO2-Werte der Co2-Ampel auch ohne Internet angezeigt werden, habe ich ein kleine OLED-Display an den Raspberry Pi angeschlossen. Das hatte ich noch in der Bastelkiste. Hatte es auch schon an einem Arduino. So werden die Werte nun dauernd angezeigt:
Hier der Schaltplan mit KiCad:
Und alles etwas größer …
„CO2-Ampel an OLED1306 (GM009605B in Vers. 2.0, 128X64) via I2C“ weiterlesen
Bei Apple gelistet: 3. Folge des Podcast: „8 Fragen zum Kohlendioxid (CO2)“
… hier zum Apple Podcast.
Oder hier gleich hören … „Bei Apple gelistet: 3. Folge des Podcast: „8 Fragen zum Kohlendioxid (CO2)““ weiterlesen
CO2 History Browser mit NodeRed
Ein Raspberry Pi dient ja als CO2-Ampel und misst jede Minute den CO2-Wert bei mir in der Luft. Die Werte werden auch als CSV-Datei gespeichert. Jeden Tag wird eine neue Datei erzeugt. Die Dateien sind dann nur ca. 30 kB groß.
Mit dem CO2-History Browser kann ich nun mit jeden Browser auch die CO2-Vergangenheit leicht anzeigen lassen. Es braucht nur die entsprechende Datei ausgewählt zu werden und auf den „GRAPH“ Button geklickt zu werden. Hier z.B. der CO2-Verlauf von gestern:
Mit klick auf den „OPEN“-Button kann die Datei auch im CSV-File geladen, und dann in Excel oder Numbers geöffnet werden:
Hier der NodeRed Flow, der diesen CO2-History-Browser erzeugt: „CO2 History Browser mit NodeRed“ weiterlesen
Alexa sagt den Co2 Wert in der Luft an, wenn man sie fragt – CO2-Sprech-Ampel – Architektur Big Picture
Hier hatte ich ja das Video hochgeladen von der CO2-Ansage der CO2-Ampel mit Alexa. Hier nun das aktuelle fehlende Architektur-Bild:
Es ist gleich wieder soweit … „Alexa sagt den Co2 Wert in der Luft an, wenn man sie fragt – CO2-Sprech-Ampel – Architektur Big Picture“ weiterlesen
Auswertung der CO2 Messung an einem Arbeitstag mit CO2-Ampel
Hier mal die CO2 Werte von Heute in der History-Ansicht:
Man sieht deutlich, das ich um 6:30 Uhr angefangen habe zu arbeiten (die Rote 1).
Bei der Grünen 2 habe ich jeweils gelüftet und das Fenster geöffnet, da die 1000 ppm an CO2 im Zimmer erreicht wurden. Deshalb fallen die Werte schnell ab, es wird aber auch schon im Zimmer kalt. Um 12 Uhr hatte ich das Fenster aufgemacht, und bin in die Mittagspause gegangen.Dann heute etwas früher Feierabend gemacht, und kurz nach 15 Uhr noch mal gelüftet.
Wie das ganze mit dem Raspberry Pi und NodeRed und Mqtt erfasst wird, siehe hier.
Carbon dioxide, heute das 1. Mal die Warnung per Alexa (Selbstversuch)
Heute zum 1. Mal die Warnung per Alexa von NodeRed. Und das bei nur zwei Personen und defekter Heizung.
Übrigens: Bei 1000 ppm empfinden rund 20 % der Personen die Raumluft als unbefriedigend. Diese Konzentration entspricht der Pettenkofer-Zahl, die von dem Hygieniker Max von Pettenkofer (1858) als Richtwert für die maximale CO2- Konzentration in Wohn- und Aufenthaltsräumen mit 0,1 Vol% CO2 (1000 ppm) definiert wurde.
Wo es viel CO2 gibt, werden auch besonders viele Keime gefunden. Die amerikanischen Wissenschaftler Rudnick und Milton zum Beispiel untersuchten 2003, wie hoch das Grippe Ansteckungsrisiko in einem Klassenraum ist. 30 Personen waren vier Stunden lang im Klassenraum, eine Person hatte akut Grippe. Das Ergebnis: Bei 1.000 ppm CO2 steckten sich fünf Personen an, bei 2.000 ppm waren es zwölf und bei 3.000 ppm sogar 15.
MAK-Werte Deutschland für CO2: 9100 mg/m3 Warum ist das so hoch?
Nach dem Querlüften sind die Wert aber schnell wieder auf Normal, wie man im Trend sehen kann. „Carbon dioxide, heute das 1. Mal die Warnung per Alexa (Selbstversuch)“ weiterlesen
Schaltplan C02-Sensor mh-z19b an Raspberry Pi für CO2-Ampel und NodeRed Ansteuerung
Hier noch der Schaltplan C02-Sensor mh-z19b an Raspberry Pi für die Co2-Ampel. Zuerst der Co2-Sensor:
Und hier die ganze „Schaltung“ „Schaltplan C02-Sensor mh-z19b an Raspberry Pi für CO2-Ampel und NodeRed Ansteuerung“ weiterlesen
Alexa sagt den Co2 Wert in der Luft an, wenn man sie fragt – CO2-Sprech-Ampel
Alexa sagt den Co2-Wert in der Luft in ppm an, wenn man sie fragt. Hier ein kurzes Demo-Video:
Auf dem Raspberry Pi läuft ein NodeRed mit dem node-red-contrib-alexa-remote2 der nicht nur Text ausgeben kann, sondern auch Befehle auswerten kann. Hier der relevante Teil der Sprachausgabe: „Alexa sagt den Co2 Wert in der Luft an, wenn man sie fragt – CO2-Sprech-Ampel“ weiterlesen
CO2 Messgerät – C02-Ampel – Lüften – CO2 Logger – C02-Konzentration
Mein C02-Messgerät (Raspberry Pi) steht nun im Schlafzimmer und loggt jede Minute die CO2-Konzentration in ppm. Dann werden diese Daten drahtlos per WLAN zum NodeRed-Server gesendet. Der sendet sie dann auch wieder in Echtzeit für jeden sichtbar ins Internet.
Es dauert übrigens 40 Minuten bei gekippten Fenster und offener Tür (ohne Durchzug), bis die Werte von nur 550 ppm wieder auf Normal (400 ppm) sind.
Das ist länger als ich gedacht hatte. Hier der Verlauf:
CO2-Ampel ldt. Bundesumweltamt in NodeRed Flow integriert
Die CO2-Ampel ltd. Bundesumweltamt (PDF, Tabelle 4) wurde nun in den NodeRed-Flow der CO2-Messungen integriert. So zeigt das C02-Dashboard auch die Meldungen des UBA an. Die Meldung im Dashboard:
Hier der Flow:
„CO2-Ampel ldt. Bundesumweltamt in NodeRed Flow integriert“ weiterlesen
NodeRed CO2-Flow mit CO2-Ampel (Lüftungsampel)
Damit man zur rechten Zeit lüftet, habe ich nun eine Lüftungsampel in den NodeRed-Flow integriert. Sie zeigt grün, wenn alles ok ist.
Und bei über 1000 ppm CO2 zeigt sie rot:
Natürlich, zeigt auch der Gauge die Farben entsprechend an. Aber so ist der Wert noch etwas übersichtlicher.
Hier die Nodes „NodeRed CO2-Flow mit CO2-Ampel (Lüftungsampel)“ weiterlesen
Weil heute Sonntag ist: Java CO2 MQTT Client
Weil heute Sonntag ist. „Freut euch immer„! Nun ein kleiner Java CO2 MQTT Client um auch auf allen Betriebssystemen mit Java die CO2 Daten zu empfangen. Nicht nur für den Raspberry Pi auch Mac und Windows (ungetestet;-)).
Das selbstausführende JAR laden (siehe unten) und starten mit:
java -jar TWCo2Monitor-0.0.1-SNAPSHOT-jar-with-dependencies.jar [PI-Rechner Name/Adresse]
Hier mal eine Ausgabe auf einem Raspberry Pi W Zero:
Der MQTT Client besteht nur aus ein paar Zeilen Java Code: „Weil heute Sonntag ist: Java CO2 MQTT Client“ weiterlesen
CO2 Werte in Echtzeit – carbon dioxide emmision
Mein Raspberry Pi misst ja seit einigen Tagen die CO2 Werte in der Luft, wie hier beschrieben. Nun können hier die Werte in Echtzeit abgelesen werden. Sie werden von NodeRed jede Minute aktuallisiert und weitergeleite.
Ja, „Freut euch immer“ …
CO2-Messsystem mit Raspberry Pi und MQTT und NodeRed
Wir wollen nun mal ein CO2-Messsystem mit dem MH-Z19B aufbauen und die CO2-Konzentrationen mit einem Raspberry Pi einlesen und per MQTT an eine NodeRed-Installation senden. Parallel dazu werden die Daten noch in einer CSV-Datei geschrieben für Langzeitauswertungen. Wenn der Grenzwert von 1000 ppm erreicht ist, wird noch eine Pushover Nachricht an ein Handy gesendet, so das rechtzeitig gelüftet werden kann.
Hier die Architektur-Übersicht:
Installation „CO2-Messsystem mit Raspberry Pi und MQTT und NodeRed“ weiterlesen
Kohlenstoffdioxid – CO2 – Mindmap
Dank für die Mindmap geht an (c) Dr.Kleinhirn.eu
Vor dem CO2-Messprojekt mit einem Raspberry Pi und einem MH-Z19B hier mal ein paar Infos zum CO2: „Kohlenstoffdioxid – CO2 – Mindmap“ weiterlesen
Nichtdispersiver CO2 Infrarotsensor MH-Z19B mit UART und PWM-Ausgang eingetroffen
Der CO2 Sensor MH-Z19B (NDIR-Sensor) ist nun eingetroffen. Die Genauigkeit liegt bei ±50 ppm+5%.
Hier gibt es das Handbuch (engl.) zu dem Sensor als PDF vom Hersteller und hier die Kommandos.
Die Bauanleitung für den Raspberry Pi kommt in einem nächsten Beitrag …