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

„CO2 mit dem Raspberry Pi“ weiterlesen

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 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:

CO2 to Excel
co2 to numbers

Hier der NodeRed Flow, der diesen CO2-History-Browser erzeugt: „CO2 History Browser mit NodeRed“ weiterlesen

Auswertung der CO2 Messung an einem Arbeitstag mit CO2-Ampel

Hier mal die CO2 Werte von Heute in der History-Ansicht:
CO2 Tag
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

Automatischer Server-Check auf Erreichbarkeit und im Fehlerfall eine Pushover Nachricht an das Handy senden – Wie?

Automatischer täglicher Server Check mit Ping. Es wird auf Erreichbarkeit getestet und im Fehlerfall eine Pushover Nachricht an das Handy versendet. Kann schnell und leicht erweitert werden. Einfach einen neuen inject Node mit Server URL und Zeitpunkt ergänzen.

Der Code des Flows „Automatischer Server-Check auf Erreichbarkeit und im Fehlerfall eine Pushover Nachricht an das Handy senden – Wie?“ 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:

NodeRed mit IOTstack im Docker Container läuft nun auch auf Rasberry Pi Model B Rev 2

Bei der Installation von NodeRed mit IOTstack im Docker Container auf einem Rasberry Pi Model B Rev 2 kann NodeRed nicht installiert werden. Es kommt der Fehler beim aufrufen des menu.sh Scriptes:

ERROR: Service ’nodered‘ failed to build: The command ‚/bin/sh -c for addonnodes in ; do npm install ${addonnodes} ;done;‘ returned a non-zero code: 139

Die Ursache ist, das das Model B eine ARMv6-compatible processor rev 7 (v6l) hat. Docker kann das nicht richtig erkennen, wie es hier steht. Was also tun?

Erst mal ein Issue aufmachen.

Lösung: „NodeRed mit IOTstack im Docker Container läuft nun auch auf Rasberry Pi Model B Rev 2“ weiterlesen

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

„Crew Dragon“ erfolgreich von der ISS auf der Erde zurück – ISS Tracker to CSV – Vers. 3 – „Freut euch immer“

ISS Tracker to CSV für den Raspberry Pi – Vers. 3. Hier nun noch eine Möglichkeit die ISS Postion zu ermitteln und in CSV-Format zu übersetzen. In diesem Flow, ist das CSV-Ergebniss etwas anders. Jeder Satz besteht aus drei Zeilen siehe:

Hier noch die Einstellung für den Datei-Node „„Crew Dragon“ erfolgreich von der ISS auf der Erde zurück – ISS Tracker to CSV – Vers. 3 – „Freut euch immer““ weiterlesen

„Crew Dragon“ dockt eben von der ISS erfolgreich von der ISS ab

Teslas SpaceX-Astronauten sind nun von der ISS auf dem Rückweg zur Erde und werden heute Abend in Florida landen. Wer sich das live anschauen will, kann das über den live Stream der NASA um 20:48 Uhr tun.

Heimreise aus 400 Kilometern Höhe.

Mein Raspberry Pi trackt ja die Position der ISS wie hier berichtet.

Mit dem NodeRed-Flow wird ja ein Webservice für die Position verwendet und direkt abgefragt. Es gibt aber auch noch einen eigenen NodeRed Flow. Dieser Node, ist nicht defaultmäßig vorhanden und muss erst in NodeRed installiert werden (suche nach node-red-contrib-iss-location). Eine Code Analyse hat gezeigt, das der Node die gleiche OpenNoitify API abfragt. Die Parameter heißen bei der Rückgabe des Flows nur etwas anders: lon, lan, name (der name ist der Timestamp)

Hier nun der Code des Flow mit dem eigenen ISS Node (siehe Foto oben), der genau das gleiche tut wie der erste. Er schreibt die Positions-Daten der ISS in eine Datei im CSV-Format.

Und hier der ganze NodeRed-Flow zum importieren „„Crew Dragon“ dockt eben von der ISS erfolgreich von der ISS ab“ weiterlesen

Wie kann im NodeRED Covid-19 Dashboard die Skala für alle gleichzeitig gesetzt werden?

Wie kann im NodeRED Covid-19 Dashboard die Skala für alle gleichzeitig gesetzt werden? In diesem Dasboard gibt es 2×3 Werte die immer gleich sein sollen:

Bisher musste ich in jedem der 6 Gauge-Nodes den Wert einzeln setzen. Man kann die Gauge-Nodes aber auch über die Eigenschaft: msg.ui_control setzen:

Deshalb habe ich eine globale Variable gemacht, die man an einer Stelle mit global.set setzen kann. Das auslesen geht dann mit global.get. So braucht man nur eine Stelle ändern. Hier die Details:

„Wie kann im NodeRED Covid-19 Dashboard die Skala für alle gleichzeitig gesetzt werden?“ weiterlesen

Node-Red organisieren mit link-in bzw. link-out am Beispiel: Covid-19 Dashboard

Wie können die Flows in NodeRED organisiert werden? Damit ein Flow nicht überladen wird und auch um die GUI von der Logik zu trennen (MVC, Model View Controller Konzept) können die link-in bzw. link-out Nodes verwendet werden. Das sind diese:

Die link-out Nodes werden in den Quell Flow integriert, z.B.

Und in den neuen Ziel Flow die link-in:

Schon haben wir ein Dashboard:


„Node-Red organisieren mit link-in bzw. link-out am Beispiel: Covid-19 Dashboard“ weiterlesen

Corona Dashboard mit NodeRed erstellen

Auf meinem Raspberry Pi läuft NodeRed. Damit kann man schnell eine Coron-Dashboard für Deutschland (oder jedes andere Land) erstellen. Es wird jede Stunde aus den Daten des CSSE via REST-API https://covid19.mathdro.id/api/confirmed gespeist.

Dafür einmalig die GUI Elemente installieren über: npm install node-red-dashboard oder

Dann diese Nodes zusammenklicken:

oder von hier importieren: „Corona Dashboard mit NodeRed erstellen“ weiterlesen

Covid-19 NodeRED Ticker an Pushover und Twitter – update


Da sich die REST-API geändert hat (Danke Timo), (Deutschland ist nun auf Platz 4 oder jetzt auf 3) hier das Update:

Hier nun die Version, die nach dem Namen und nicht mehr nach einem fixen Index der Reihenfolge sucht.

Hier der ganze Code: „Covid-19 NodeRED Ticker an Pushover und Twitter – update“ weiterlesen

Wie können live Covid-19 Daten per Node-RED an Twitter und Pushover gesendet werden?


Wie können die Covid-19 Daten der Johns Hopkins CSSE über die JSON-Api https://covid19.mathdro.id/api in einem Node-RED Flow integriert werden, so das automatisch eine Pushover Nachricht an das Handy versendet wird. Auch ein autom. Tweet an Twitter ist schnell gemacht. Auf einem Raspberry Pi läuft dafür Node-RED.

Hier der Node-RED Flow, der dafür nötig ist:

Und hier die Debug-Nachrich die ausgegeben wird:
„Wie können live Covid-19 Daten per Node-RED an Twitter und Pushover gesendet werden?“ weiterlesen

NodeRed Flow Pollenflug-Gefahrenindex des DWD per Pushover vom Rasberry Pi versenden

Im Rahmen seines gesetzlichen Auftrags stellt der DWD seine Wetter- und Klimainformationen entgeltfrei auf dem Open Data-Server https://opendata.dwd.de bereit. Fuer den Zugang ist keine Registrierung notwendig. Es gelten die Nutzungsbedingungen unter: https://www.dwd.de/copyright. Also alle frei zugänglichen Geodaten und Geodatendienste dürfen entsprechend der „Verordnung zur Festlegung der Nutzungsbestimmungen für die Bereitstellung von Geodaten des Bundes (GeoNutzV) unter Beigabe eines Quellenvermerks ohne Einschränkungen weiterverwendet werden.

Die Infos werden in einer JSON Datei bereitgestellt. Der Aufbau wird hier beschrieben. Dann erstellen wir mal einen NodeRed Flow der den Pollenflug-Gefahrenindex täglich per Pushover an das Handy versenden kann. In dem Beispiel wird nur der Wert für Niedersachsen und Birke und Hasel verwendet. Auch wird nur eine Meldung versendet wenn der Wert sich ändert. In den nächste Monaten wird wohl auch nicht viel an Pollen fliegen, wie die Statistik zeigt. Was die Werte bedeuten, geht aus dieser Tabelle hervor.

So sieht der NodeRed Flow aus:

Hier noch ein Auszug der JSON-Daten: „NodeRed Flow Pollenflug-Gefahrenindex des DWD per Pushover vom Rasberry Pi versenden“ weiterlesen

Filtern eines JSON Objekt per REST Request von einem Raspberry Pi in einen Wert per NodeRed transformieren

Wenn man REST Services abfragt, bekommt man oft viele Werte. Wie kann man nur einen davon leicht per NodeRed filtern?

Diesen Flow erstellen:

Hier mal ein Beispiel eines JSON-Objekt mit mehreren Werten. Wir wollen da die Temperatur Filtern. „Filtern eines JSON Objekt per REST Request von einem Raspberry Pi in einen Wert per NodeRed transformieren“ weiterlesen

OpenHAB 2 mit NodeRed, Homematic und MQTT auf RaspberryPi mit Openhabian von einem Mac OS X installieren

Wie hier beschrieben, in Kurzfassung mit ein paar weiteren Details.

Es werden aber ein paar Stunden für Download und erstellen der SD-Karte benötigt. Auch die erste init. für NodeRed usw. benötigt etwas Zeit (ca. 2-4 Stunden). Aber man kann in der meisten Zeit ja auch andere Dinge machen … :

Download

„OpenHAB 2 mit NodeRed, Homematic und MQTT auf RaspberryPi mit Openhabian von einem Mac OS X installieren“ weiterlesen

Raspberry Pi: Alexa Echo Sprachausgabe via Raspberry Pi und openHAB 2 ohne rules mit nodeRED

Vor ein paar Tagen hatte ich geschrieben, wie mit rules von openHAB über Alexa eine Sprachausgabe gemacht werden kann. Die rules wollte ich nun ersetzen durch einen nodeRED Flow. Das geht ganz einfach. Hier ein Beispiel Flow der jeden Abend um 10:30 Uhr den Text ausgibt, das ich in Bett gehen soll, damit ich morgen wieder fit bin.

Der Flow kann von nodered.org heruntergeladen werden.

Folgende Einstellung ist da wichtig, damit es auch läuft: „Raspberry Pi: Alexa Echo Sprachausgabe via Raspberry Pi und openHAB 2 ohne rules mit nodeRED“ weiterlesen