NodeRed Corona-Dashboard mit kleiner History-Tabelle
Covid-19 Dashboard nun mit neuer Skala da es jetzt über 500000 Personen mit Covid-19 gibt und kleiner History Tabelle. Auch das Datum der Daten wird nun angezeigt:
So wird das Dashboard designed:
„NodeRed Corona-Dashboard mit kleiner History-Tabelle“ 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
Gibt es mehr Zugriffe auf wenzlaff.de durch covid-19 bzw. SARS-CoV-2?
Gibt es mehr Zugriffe auf wenzlaff.de durch covid-19? Das hat mich mal interessiert. Also mal die Logs dieser Domain ausgewertet. Normal gibt es so ca. 60000 Zugriffe (hits) pro Tag. Mal abgesehen von den paar Tagen im Januar, wo es ca. 100000 gab:

Ein Anstieg ist tatsächlich zu beobachten. Siehe roten Kasten. Aber nicht so groß wie ich erwartet habe. Mal sehen was noch kommt. Bleibt Gesund! Haltet Abstand! Und nutzt den Raspberry Pi und fast hätte ich es vergessen „Freut Euch immer“.
Raspberry Pi „Code Life Ventilator Challenge“ – Wir bauen ein Beatmungsgerät!
Würde gern ein Beatmungsgerät mit einem Raspberry Pi bauen und an der Challenge teilnehmen. Habe schon mal ein erstes BPMN Modell entworfen. Das kann frei für jedermann verwendet werden.
Der Raspberry Pi ist sicherlich dafür geeignet. Die Steuersoftware würde ich gern schreiben, was fehlt ist die Zeit. Und der Einsendeschluss ist schon am Ende des Monats.
Man könnte leicht ein NodeRed Dashboard für Ein.- und Ausgabe verwenden. Die eigentliche Herausforderung ist da wohl eher die Technik. Woher kommt einfach der Flow um das Volumen mit dem entsprechenden Druck aufzubauen? Habe bisher keine Idee. Vorschläge willkommen!
Aber auch ein Arduino kann dafür wohl verwendet werden. Hier hatte ich schon mal eine Steuerung für 230 V mit Video dafür erstellt. Das Programm dort kann auch frei für die Challange verwendet werden. „Raspberry Pi „Code Life Ventilator Challenge“ – Wir bauen ein Beatmungsgerät!“ 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.
|
1 2 3 4 5 6 7 8 9 10 |
// Hier das gewünschte Land angeben var land = "Germany" // Suche den Index des Land for (var i = 0; i < msg.payload.length; i++){ if (msg.payload[i].countryRegion == land ){ land = i break } } |
Hier der ganze Code: „Covid-19 NodeRED Ticker an Pushover und Twitter – update“ weiterlesen
Aktuell weltweit nur 2336 Flugzeuge erfasst. Liegt das an covid-19?
Hier die aktuelle Auswertung mit Eclipse 2020-03:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
Flugbereich in Meter ; Flughöhe in Meter Parken 0 ; 259 1-500 ; 139 500-1000 ; 92 1000-2000 ; 133 2000-3000 ; 102 3000-4000 ; 90 4000-5000 ; 89 5000-6000 ; 77 6000-7000 ; 92 7000-8000 ; 83 8000-9000 ; 96 9000-10000 ; 145 10000-10500 ; 151 10500-11000 ; 217 11000-11500 ; 140 11500-12000 ; 284 12000-13000 ; 130 über 13000 ; 17 Summme ; 2336 Zeitpunkt ; Fri Mar 20 07:09:42 CET 2020 Quelle ; The OpenSky Network, http://www.opensky-network.org |
Code: „Aktuell weltweit nur 2336 Flugzeuge erfasst. Liegt das an covid-19?“ weiterlesen
Was tun bei covid-19? Die neue Eclipse Version die heute veröffentlicht wurde installieren! Es fliegen über 5000 Flugzeuge!
Die neue Entwicklungsumgebung Eclipse 2020-03 gibt es seit heute. Das neue Quartalsrelease der IDE bringt unter anderem Unterstützung für Java 14 und mehr Möglichkeiten für die Webentwicklung. Bei Heise.de gibt es weitere Infos und Videos.
Nach dem Update:
Super, es startet:
Dann mal gleich einen ersten JUnit-Quicktest:
Anzahl aller Flugzeuge mit Flughöhen jetzt:
Flugbereich in Meter ; Flughöhe in Meter
Parken 0 ; 371
1-500 ; 418
500-1000 ; 362
1000-2000 ; 450
2000-3000 ; 283
3000-4000 ; 214
4000-5000 ; 221
5000-6000 ; 202
6000-7000 ; 198
7000-8000 ; 257
8000-9000 ; 259
9000-10000 ; 373
10000-10500 ; 317
10500-11000 ; 495
11000-11500 ; 288
11500-12000 ; 587
12000-13000 ; 406
über 13000 ; 111
Summme ; 5812
Zeitpunkt ; Wed Mar 18 21:03:04 CET 2020
Quelle ; The OpenSky Network, http://www.opensky-network.org
Jetzt kommt es auf Sie an! Coronavirus – Simulation
COVID-19 Links, Dashboards und Visualisierungen
Covid-19 Live-Ticker für Deutschland mit Raspberry Pi und Node-RED via Twitter
Wer die Covid-19 Daten per Twitter als Online-Ticker für Deutschland haben will, kann mit dem Raspberry Pi und Node-RED den folgender Flow verwenden. Es werden jede Stunde die aktuellen Werte abgefragt, und bei Änderung per Twitter versendet. Hier der nötige Flow:
So sieht der Twitter Eintrag aus, er kann auch für alle Länder angepasst werden:
Hier der nötige Quellcode: „Covid-19 Live-Ticker für Deutschland mit Raspberry Pi und Node-RED via Twitter“ 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
Wie können mit Java automatisch Webseiten mit Jsoup am Beispiel Corona abgefragt werden?
Das Robert Koch Institut (RKI) liefert für Deutschland aktuelle Corona-Fall-Zahlen auf dieser Webseite:
https://www.rki.de/DE/Content/InfAZ/N/Neuartiges_Coronavirus/Fallzahlen.html
in einer schönen Tabelle die wir mit Jsoup abfragen wollen.
Wir schauen uns erst einmal die Stuktur der Seite an. D.h. wir markieren z.B. Niedersachsen und öffnen das rechte Kontexmenü und klicken auf „Element untersuchen“. Nun wird unten der HTML-Quelltext angezeigt. Wir sehen das die Tabelle, an der ersten stelle steht, und mit den tr und td Tags erstellt ist. Das müssen wir für die Analyse wissen.
Hier nun der kommentierte Beispiel-Code: „Wie können mit Java automatisch Webseiten mit Jsoup am Beispiel Corona abgefragt werden?“ weiterlesen
Java Einzeiler: JSONvon URL einlesen mit org.apache.commons.io am Beispiel: Corona – COVID-19

Hatte hier schon mal über die JSON Lib
|
1 2 3 4 5 |
<dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> <version>20190722</version> </dependency> |
berichtet. Wie kann damit nun in einer Zeile eine URL abgefragt werden?
Mit Hilfe der org.apache.commons.io geht das ganz einfach. Also erst einmal die Lib in die pom.xml einbinden.
|
1 2 3 4 5 |
<dependency> <groupId>org.apache.directory.studio</groupId> <artifactId>org.apache.commons.io</artifactId> <version>2.4</version> </dependency> |
Was wollen wir nun beispielsweise abfragen? Alle reden von Corona. Also lesen wir die drei aktuellen Werte der Johns Hopkins University ein. Die werden über diese Webseite aktuell dargestellt. Hier mal ein Foto:

Die Daten werden auch über eine JSON-Rest API unter https://covid19.mathdro.id/api bereitgestellt. Hier mal das Ergebniss einer Abfrage: „Java Einzeiler: JSONvon URL einlesen mit org.apache.commons.io am Beispiel: Corona – COVID-19“ weiterlesen
Java Einzeiler des Tages: Lesen einer Webseite mit jsoup den Open source HTML Parser
Mit JSoup kann ganz einfach eine Webseite gelesen werden.
|
1 2 3 4 5 |
<dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.12.2</version> </dependency> |
ergänzen und folgenden Einzeiler:
System.out.println(„Webseite: “ + Jsoup.connect(„http://wenzlaff.info“).get().html());
Das Ergebnis ist dann die HTML Seite. Mit JSoup können auch einfach Filter und Selektoren erstellt werden. Es unterstüzt leider kein JavaScript.
Dafür kann dann HtmlUnit oder Selenium verwendet werden.
Wie kann die Anzahl verfügbarer CPU-Prozessoren (Kerne) der Java virtuelle Maschine (VM) per Java abgefragt werden?
Wie kann die Anzahl verfügbarer CPU-Prozessoren (Kerne) der Java virtuelle Maschine (VM) per Java abgefragt werden? Das geht mit einem Java-Einzeiler:
int availableProcessors = Runtime.getRuntime().availableProcessors();
Die unterschiedlichen Raspberry Pi Modelle haben einen Kern: „Wie kann die Anzahl verfügbarer CPU-Prozessoren (Kerne) der Java virtuelle Maschine (VM) per Java abgefragt werden?“ weiterlesen
Mit most, etwas Farbe in den Raspberry Pi Alltag („Alltag“ gehört zum Wortschatz des Goethe-Zertifikats B1)
Wie können z.B. die man-Pages mit Farbe versehen werden. Das ist die normale Anzeige von z.B. man top:
Mit most kann da mehr Farbe erzeugt werden, also mal eben:
sudo apt-get install most „Mit most, etwas Farbe in den Raspberry Pi Alltag („Alltag“ gehört zum Wortschatz des Goethe-Zertifikats B1)“ weiterlesen
Internet Adressen bzw. Links in Excel-Dateien in 5 Minuten überprüfen mit dem de.wenzlaff.linkchecker
Manchmal hat man in einer Excel-Tabelle eine oder mehrere Spalten mit Internet-Adressen (URLs) deren Gültigkeit man überprüfen will, da viele Adressen sich doch schnell ändern. Dh. ist die Adresse noch erreichbar oder ist eine ungültige Adresse (Broken Links) eingegeben. Man könnte nun einen VB-Macro schreiben der das tut, oder aber das de.wenzlaff.linkchecker Programm starten, das eine Spalte in einer Excel-Datei automatisch validiert und alle nicht erreichbaren bzw. falschen Adressen ausgibt. So kann mit einen Aufruf die ganze Datei überprüft werden.

Das wollen wir mal an einem Beispiel auf einem Raspberry Pi ausführen. Das würde analog natürlich auch auf Windows oder einem Mac laufen.
Wir haben diese Excel Testdatei. Die 3. Spalte, also Spalte C enthält Internet-Adressen die alle überprüft werden sollen. Alle anderen Spalten sind nicht relevant. Die Excel-Datei wir auch nicht verändert.
Voraussetzung ist, das auf dem Rechner Java installiert ist. Also ein java -version muss eine gültige Version >= 8 liefern und wer den aktuellen SNAPHOT holt, braucht mind. Java 11: „Internet Adressen bzw. Links in Excel-Dateien in 5 Minuten überprüfen mit dem de.wenzlaff.linkchecker“ weiterlesen
Beispiel Verwendung des Maven Plugin: de.wenzlaff.command.maven.plugin
Vor einiger Zeit hatte ich hier mal beschrieben, wie ein einfaches Maven-Plugin erstellt werden kann, dass alle Kommandozeilen Parameter im Log ausgibt z.B. ls, ps, ls -la. So können im Build-Prozess Verzeichnisse oder Prozesse überwacht werden.
Wer aber nur das Kommandozeilen Plugin nutzen will, kann dieses mit ein paar Zeilen in der pom.xml tun, da das Plugin auf Maven-Central frei verfügbar ist.

Einfach die pom.xml um folgende Zeilen ergänzen: „Beispiel Verwendung des Maven Plugin: de.wenzlaff.command.maven.plugin“ weiterlesen
Download Statistik von MavenCentral: de.wenzlaff.dump1090
Vor ein paar Jahren (Dez. 2014) hatte ich ja mal den Java Wrapper de.wenzlaff.dump1090 entwickelt und auf MavenCentral bereitgestellt. Bisher gab es 8 Versionen. Hier mal etwas aufbereitete Statistik. Im September 2019 gab es das meiste Intresse mit über 800 Download pro Monat.
„Download Statistik von MavenCentral: de.wenzlaff.dump1090“ weiterlesen
„Maven Command Plugin“ nun in Version 0.0.1 auf MavenCentral verfügbar
Das „Maven Command Plugin“ ist nun in Version 0.0.1 auf MavenCentral hochgeladen und verfügbar.
Über diese Koordinaten kann das Plugin eingebunden werden:
|
1 2 3 4 5 |
<dependency> <groupId>de.wenzlaff.command.maven.plugin</groupId> <artifactId>de.wenzlaff.command.maven.plugin</artifactId> <version>0.0.1</version> </dependency> |
Und hier ist es zu finden:

Buildpipeline für Maven-Command-Plugin im Docker über Gitlab
Auf Gitlab liegt nun der Quellcode, für den der sich das ganze Projekt einfach holen will: git clone git@gitlab.com:IT-Berater/twmavencommandplugin.git
Diese Buildpipeline für Java 8 und 11 wird über das folgende Script gesteuert und läuft im Docker-Container: „Buildpipeline für Maven-Command-Plugin im Docker über Gitlab“ weiterlesen
Refactoring eines Maven-Plugins mit Dependency Injection
Das hier erstellt Maven-Plugin, kann noch etwas refactored werden mit Nutzung von Dependency Injection.
Always rejoice, mit freundlicher Genehmigung meines Lieblingskünstlers
Die Methode im Mojo kann in eine eigene Klasse CommandProviderApi verschoben werden. Ein neues Interface CommandProvider kann erstellt werden. Die erstellen wir hier:
1. Das Interface: „Refactoring eines Maven-Plugins mit Dependency Injection“ weiterlesen
Ein eigenes Maven-Plugin in 15 Minuten inklusive Dokumentation erstellen
Ein eigenes Maven-Plugin zu erstellen ist nicht schwer und ist schnell gemacht. Wir wollen ein Plugin welches einen Verzeichnis Inhalt mit ls -la in das Log schreibt erstellen. Es können aber auch andere Linux Befehle übergeben werden. Hier nun die 6 Schritte mit den Vorlagen die mind. nötig sind.

1. Wir legen in Eclipse ein neue Maven Projekt mit Java 1.8 an. mit Artifact Id und Group Id de.wenzlaff.command.maven.plugin
2. In der pom.xml fügen wir die folgenden Abhängikeiten hinzu: „Ein eigenes Maven-Plugin in 15 Minuten inklusive Dokumentation erstellen“ weiterlesen
Quicktest: JUnit 5.6.0 – „Freut euch immer“
Vor zwei Tagen wurde die neue JUnit Version 5.6.0 veröffentlicht.

Also die BOM aktuallisieren:
|
1 2 3 4 5 6 |
<dependency> <groupId>org.junit</groupId> <artifactId>junit-bom</artifactId> <version>5.6.0</version> <type>pom</type> </dependency> |
Und ein kleiner Test mit zwei Projekten: „Quicktest: JUnit 5.6.0 – „Freut euch immer““ weiterlesen
Neuen Sudo User auf einem Raspberry Pi anlegen und wieder löschen
Ein neuer User kann mit adduser angelegt werden.

Der User der das tut muss root Rechte haben. Also legen wir mal einen neuen User an: kleinhirn.eu
|
1 |
sudo adduser kleinhirn.eu |
Das hat nicht geklappt, weil in dem Namen ein Punkt enthalten ist. In der Datei: „Neuen Sudo User auf einem Raspberry Pi anlegen und wieder löschen“ weiterlesen
Neue Version 5.18 von iThoughts veröffentlicht oder wie erstellt man Mindmaps
Dann mal gleich eine neue Mindmap erstellen. Über 800 Mindmaps gibt es übrigens auf www.kleinhirn.eu
Mindmaps zum Thema: Medizin
Wer Mindmaps zum Thema Medizin sucht, findet über 140 unter diesem
http://kleinhirn.eu/category/medizin/
Link. Die Map zum Thema: Blutverdünner (NOAKs – neue orale Antikoagulanzien) mit Antidot wurde aktuallisiert. Warum nicht gleich den kleinhinrn.eu RSS-Feed hinzufügen.





























