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.
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
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
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
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
NodeRed auf dem Rasberry Pi: 3 Countdown Timer
Brauchte für laufende Videokonferenzen mal einen Timer. Habe mal drei Countdown Timer zusammengestellt:
So sieht es aus. Es gibt eine Warnung, kurz vor Ablauf im Browser oben rechts und die Farbe ändert sich auch:
„NodeRed auf dem Rasberry Pi: 3 Countdown Timer“ weiterlesen
Die Bibel in einem Jahr lesen? Terminplan zum kostenlosen Download! Ab heute! Und los …
Habe mal neue Bibellese Termine ab heute mit dieser neuen GUI der TWBibel erzeugt.
Einfach einen Bibellese-Plan, in Euren Kalender kostenlos laden und importieren: „Die Bibel in einem Jahr lesen? Terminplan zum kostenlosen Download! Ab heute! Und los …“ 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“ …
„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
Endlich bin ich „Arctic Code Vault Contributor“ mit Java und C++-Code für 1000 Jahre in Spitzbergen
Endlich liegt mein Code für 1000 Jahre in Spitzbergen …
Und das nicht nur für den Raspberry Pi. Ich bin begeistert, ja „Freut euch immer“.
Freut euch immer – 2020 – mit dem Raspberry Pi und LED-Matrix
Es gehen natürlich auch 2 x 8 x 8 LED-Matrix, wie hier gezeigt …
Die Anleitung „Freut euch immer – 2020 – mit dem Raspberry Pi und LED-Matrix“ weiterlesen
Raspberry Pi: vi
8×8 LED mit max7219 auf einen Raspberry Pi mit python sagt „Freut euch allezeit“
Hatte noch eine 8×8 LED mit Treiber liegen. Die wollte ich mal an den Raspberry Pi anklemmen und über die Kommandozeile ansteuern.
Die Hardware ist mit 5 Drähten schnell verbunden:
1 2 3 4 5 |
rot - vcc - +5 V -> PIN 2 sw - gnd -> PIN 6 braun - vin -> PIN 19 ws - cs -> PIN 24 gr - clk -> PIN 23 |
Verwendet habe ich den Luma.LED_Matrix: Display drivers for MAX7219, WS2812, APA102. Den Kommandozeilen Wrapper gab es noch nicht. Also dann mal los … Mal wieder etwas python3 programmieren … „8×8 LED mit max7219 auf einen Raspberry Pi mit python sagt „Freut euch allezeit““ weiterlesen
Wie können JUnit Tests aus Eclipse unterschiedlich gestartet werden?
Warum läuf git svn auf Mac OS Catalina nicht mehr?
Warum läuf git svn clone auf Mac OS Catalina nicht mehr?
Corona Art mit freundlicher Erlaubnis vom Künstler.
Wolte ein svn Repo clonen, mit git svn clone und es kommt diese Fehlermeldung: git: ’svn‘ is not a git command:
Und es ist doch ein git Kommando. Apple hat in Catalina die git Tools wie git-svn entfernt. In den Releasenotes zu 10.15 heißt es zu Xcode
Deprecations
Command line tool support for Subversion — including svn, git-svn, and related commands — is no longer provided by Xcode. If you need Subversion or related command line tools, install the Command Line Tools package by running xcode-select –install. (50266910)
Die installierte Git Version ist auch nicht die aller neueste. Also mit MacPort eine neu git Version und gleich ein paar Tools mehr installieren mit: „Warum läuf git svn auf Mac OS Catalina nicht mehr?“ weiterlesen
Wie muss in einer JavaFX Anwendung das Controller mapping sein?
Wie muss in einer JavaFX Anwendung das Controller mapping sein?

Im SceneBuilder muss hier die Klasse eingetragen werden mit Package:
Dann wird in der passenden fxml-Datei dort der Eintrag erscheinen: „Wie muss in einer JavaFX Anwendung das Controller mapping sein?“ weiterlesen
Raspberry Pi Zero: Aktuelle Ruby Version 2.7.1 in 1-2 Stunden selbst bauen und installieren
Wenn Ruby mit dem Package-Manager installiert wird, dann wird diese Version 2.3.3p222 installiert:
ruby -v # Ergebnis: ruby 2.3.3p222 (2016-11-21) [arm-linux-gnueabihf]
Wer die aktuelle Version 2.7.1. braucht, kann sie wie folgt installieren: „Raspberry Pi Zero: Aktuelle Ruby Version 2.7.1 in 1-2 Stunden selbst bauen und installieren“ weiterlesen
Eclipse Quickie: Automatischer JRE suche im Lokalen Dateisystem
In Eclipse gibt es eine Coole Funktion. Die automatische JRE suche im lokalen Dateisystem. Hier gibt es den Button:
Kein langes manuelles suchen. Cool, hier das Ergebnis:
„Eclipse Quickie: Automatischer JRE suche im Lokalen Dateisystem“ weiterlesen