Many to Many mit Java Persistence API (JPA 2.0) und Spring Boot ohne XML

Manchmal braucht man eine „Many to Many“ Verbindung zweier BEs mit JPA (Java Persistence API) für Spring Boot (2.0.2) (JEE mit EJB 3.0 ist ähnlich, nur andere Annotationen).

Z.b. können in einem Krankenhaus mehrere Ärzte arbeiten. Die Ärzte wiederum können in mehreren Krankenhäusern arbeiten, wenn sie z.B. als Belegärzte tätig sind. Also „Many to Many„:

Es wird von z.B. Hibernate eine Mapping-Tabelle angelegt um diese Verbindung abzubilden. Ein discribe arzt_krankenhaus; würde folgendes ergeben:

Hier nun eine Kopiervorlage um diese wiederkehrende Verbindung anzulegen: „Many to Many mit Java Persistence API (JPA 2.0) und Spring Boot ohne XML“ weiterlesen

Traceroute mit mtr 0.92.56 (network diagnostic tool) auf dem Pi oder Traceroute + Ping = mtr

Manchmal will man das Netzwerk analysieren und sehen wie der Weg zum Zielrechner läuft. Das geht mit Traceroute. Also z.B. traceroute wenzlaff.de

Interesannter wird es in Verbindung mit dem ping. Dazu installieren wir das mtr programm mit sudo apt-get install mtr und schauen uns die Hilfe des Programms mit mtr -h an:

Ok, wir starten nun mtr mit dem Zielhost z.B. mit mtr wenzlaff.de und erhalten einen interaktiven Dialog. Wir klicken nun die d Taste und erhalten den Status in Echtzeit der letzten 70 Pings in einem schönen Diagramm:

Mit der h Taste, gibt es Hilfe: „Traceroute mit mtr 0.92.56 (network diagnostic tool) auf dem Pi oder Traceroute + Ping = mtr“ weiterlesen

Besser als ping ist noping auf dem Raspberry Pi

Will man mehrere Hosts mit ipv4 oder/und ipv6 anpingen und das in einer guten Übersicht? Das geht mit noping. Wenn es nicht schon installiert ist, gehte es mit sudo apt-get install oping.
Die noping C Library generirt ICMP echo requests um zu sehen was so im Netzwerk läuft.
Dann ein Aufruf z.B. mit drei Zielen:

noping wenzlaff.de wenzlaff.info kleinhirn.eu liefert grüne Balken mit dem Ergebnis:

Das Programm kann mit Ctrl-C beendet werden und gibt dann ein Ergebnis zurück:

Alle Befehle gibt es mit
„Besser als ping ist noping auf dem Raspberry Pi“ weiterlesen

Wie kann eine Excel CSV Datei mit Java mit Apache commons eingelesen werden?

Will man Excel CSV Dateien einlesen geht das mit einem Einzeiler in Java:

Hier die Testmethode die auch etwas Kontext auf der Konsole ausgibt dazu. Man sieht auch, das man auf die Inhalte über einen Index oder den Spaltennamen zugreifen kann. Dann muss auch jedesmal das gleiche Ergebnis geliefert werden, das wird auch in der assert abgetestet.

„Wie kann eine Excel CSV Datei mit Java mit Apache commons eingelesen werden?“ weiterlesen

Filtern von doppelten Nachrichten in NodeRED auf einem Raspberry Pi

Wie können doppelte Nachrichten gefiltert werden? Manchmal will man das eine Nachricht nur einmal versendet wird, auch wenn sie innerhalb einer bestimmten Zeit nochmal mit dem gleichen Wert versendet wird. Das geht mit dem deduplicate Node. Wenn der mit npm i node-red-contrib-deduplicate installiert wurde, kann er wie folgt eingesetzt werden:

Rechts im Debug Fenstern kann man auch am Zeitstempel sehen, das die Test-Nachricht nur einmal ausgegeben wird, auch wenn man innerhalb von 5 Sekunden mehrmals klickt. Die Zeit kann in den Eigenschaften angepasst werden: „Filtern von doppelten Nachrichten in NodeRED auf einem Raspberry Pi“ weiterlesen

Raspberry Pi: 0.18.5: Maintenance Release update für NodeRED mit Flow zum Abfragen des Sonnen.- bzw. Mond.- auf und untergang

NodeRED: „A visual tool for wiring the Internet of Things.“ Eben ist eine neue NodeRED Version 0.18.5 veröffentlicht worden. Was ist neu? Siehe hier. Sei Mutig! Update auf die neue Version.

Also zum updaten ein:

auf der Konsole eingeben und nach ein paar Minuten (20-30 min), ist die neue Version installiert:

„Raspberry Pi: 0.18.5: Maintenance Release update für NodeRED mit Flow zum Abfragen des Sonnen.- bzw. Mond.- auf und untergang“ weiterlesen

Wie können 433 Mhz Signale von PKWs (Reifen, Zentralveriegelung) per MQTT auf einen Raspberry Pi auswertet werden?

In diesem Blogbeitrag hatte ich schon mal beschrieben, wie man mit einem Softwarenradio Temperatursensoren und Luftruck von Autoreifen (TPMS) uä. auf 433,92 Mhz empfangen kann. So kann man alle Autos über die Reifensensoren oder aber auch über die Schließanlangen tracken, da immer eine eindeutige ID versendet wird.

Datenschutz läßt grüßen.

Die Empfangsanlage steht mit Sicht auf die Straße, da für 433 Mhz nur die maximal zulässige äquivalente Strahlungsleistung von 10 mW ERP für die Funkanwendungen mit geringer Reichweite (SRD) verwendet werden darf.

Hier der Aufbau, mit Leistungsmessung und Accu. „Wie können 433 Mhz Signale von PKWs (Reifen, Zentralveriegelung) per MQTT auf einen Raspberry Pi auswertet werden?“ weiterlesen

Monitoring: Wie laufen Linux Performance Messungen mit vmstat auf dem Raspberry Pi? Es muss ja nicht immer top sein!

Mit vmstat (virtual memory statistics) können leicht folgende Werte fast in Echtzeit angzeigt werden:
Anzeige der Prozesse, Speicher, Paging, Block IO und CPU Aktivität …

Hier die Anleitung, die mit vmstat -h angezeigt werden kann:

„Monitoring: Wie laufen Linux Performance Messungen mit vmstat auf dem Raspberry Pi? Es muss ja nicht immer top sein!“ weiterlesen

Raspberry Pi Zero W: rtl_433 -G Error „Library error -5“

Beim starten von rtl_433 -G kommt es zu diesem Error:

Was hilft? „Raspberry Pi Zero W: rtl_433 -G Error „Library error -5““ weiterlesen

Raspberry Pi Temperatur im Jahresdurchschnitt 55,6 Grad Celsius (摄氏)

Bei mir laufen mehrere Raspberry Pi seit Jahren. Wie ist da eigentlich die Temperatur im Jahresdurchschnitt? 55,6 Grad Celsius wie auch dieses Diagramm zeigt. Es werden von mir die Temperaturen permanent in einer Round-Robin-Datenbank gespeichert.

Die Höchsttemperatur ist übrigens 61,5 Grad Celsius und das alles bei einer CPU Auslastung des Pis von 23,9%.

Sehr stabil..
„Raspberry Pi Temperatur im Jahresdurchschnitt 55,6 Grad Celsius (摄氏)“ weiterlesen

Glances, es muss ja nicht immer nmon oder top sein also „An Eye on your system“

Um die Systemprozesse zu überwachen gibt es auch für den Raspberry Pi eine Menge Tools. Die Features Liste von Glances ist umfangreich:

Das Glances kann schnell installiert werden mit:

Dann starten mit glances und schon erscheint das Monitoring Tool:


„Glances, es muss ja nicht immer nmon oder top sein also „An Eye on your system““ weiterlesen

nmon 16g für CPU, Speicher, Netzwerk, Disk, Top … es muss ja nicht immer top (htop) sein

Auch für den Raspberry Pi gibt es ein Systemtool nmon analog zu top.

Es ist schnell installiert mit

oder wie weiter unten beschrieben in aktuellster Version selbst compiliert.

Das starten des Kommandozeilen Tools geht dann mit Aufruf von nmon:

„nmon 16g für CPU, Speicher, Netzwerk, Disk, Top … es muss ja nicht immer top (htop) sein“ weiterlesen

Raspberry Pi Zero (W): Wie kann die grüne aktivitäts LED (ACT) (dauerhaft) ausgeschaltet werden?

Der Raspberry Pi Zero (W) hat eine grüne LED auf der Platine mit der Bezeichnung ACT, die bei SD Card (Disk) aktivität defaultmäßig leuchtet bzw. flackert. Das ist keine Power LED.

Wer das leuchten nicht braucht, kann die auch ganz ausschalten und damit Strom sparen 😉

„Raspberry Pi Zero (W): Wie kann die grüne aktivitäts LED (ACT) (dauerhaft) ausgeschaltet werden?“ weiterlesen

Rasbperry Pi Zero W in 2 Minuten pimpen, aufpeppen, tunen (optisch) verbessern, aufblasen (ugs.), aufbohren (ugs.), aufmöbeln (ugs.), aufmotzen (ugs.), aufpolieren (ugs.), frisieren (ugs.), pimpen (ugs.)

In dem Projekt: “Raspberry Pi in a Bottle” oder ein neues Zuhause für den Pi Zero von gestern, hatte ich beschrieben, wie der Pi ein neues Gehäuse bekommen kann. Das kann man leicht pimpen, aufpeppen, tunen (optisch), verbessern, aufblasen (ugs.), aufbohren (ugs.), aufmöbeln (ugs.), aufmotzen (ugs.), aufpolieren (ugs.), frisieren (ugs.) oder pimpen (ugs.). Einfach vorsichtig mit dem Cuttermesser waagerecht leicht unter der Beschriftung einritzen und den Aufkleber entfernen. Der ist nur geklebt.

Der Aufwand: 2 Minuten.

Hier das Ergebnis, rechts sieht man die Stomleitung und den rausgeführten USB Anschluss:

Sieht doch besser aus, oder?

Projekt: „Raspberry Pi in a Bottle“ oder ein neues Zuhause für den Pi Zero mit Kernel update 4.13 (4.14) in ca. 30 Minuten

Warum immer teure Gehäuse kaufen? Es kann auch vorhandenes Material verwendet werden und eine weitere Verwendung zugeführt werden. Oder? Das hatte ich schon mal für das iPhone Stativ hier beschrieben.

Nach langer Planung und Architekturüberlegungen in der Badewanne ist nun folgende Ergebnis realisiert worden.

Ok, hier nun die Anleitung. Wir brauchen:

-Raspberry Pi Zero W
-Apothekers duchbad orange & vanille 200ml
-Cuttermesser
-Optional etwas Tesafilm

Wir nehmen das „leere“ Duschbad in der roten Apothekers Version:

Trenne den Pi vom Strom. Legen den Pi Zero neben der Verpackung und zeichnen die Größe an:


„Projekt: „Raspberry Pi in a Bottle“ oder ein neues Zuhause für den Pi Zero mit Kernel update 4.13 (4.14) in ca. 30 Minuten“ weiterlesen

9. Jubiläum (lat. annus jubilaeus: Jubeljahr: Plural: Jubiläen): Wie werden in Excel (mit Mac) Spalten verbunden, so das der Wert und nicht die Formel in der Zielspalte vorliegt?

Am 28.03.2009, also genau heute vor 9 Jahren ist dieser Blog entstanden. Wie die Zeit vergeht. Jubiläum leitet sich ursprünglich aus dem alttestamentlichen „Jubeljahr“ (auf Hebräisch „Yovel“) her.

Dies ist heute der 1053. Beitrag. Vielen Dank an alle Leser.

Als Bonus, mal kein Raspberry Pi Thema, sondern mein Freund Excel.

Manchmal will man z.B. zwei Spalten wie die Vorwahl und die Telefonnummer in einer neuen Spalte zusammen verbunden haben.

Das geht in zwei Schritten, erst die beiden Spalten mit der Funktion „verketten“ verbinden und dann den Bereich kopieren und wieder als Wert einfügen.

Hier nun ein Beispiel, wir haben eine Tabelle mit Vorwahl und Tel. Nr.:


„9. Jubiläum (lat. annus jubilaeus: Jubeljahr: Plural: Jubiläen): Wie werden in Excel (mit Mac) Spalten verbunden, so das der Wert und nicht die Formel in der Zielspalte vorliegt?“ weiterlesen

Eine eigene Nextcloud Release 13 Installation auf dem Raspberry Pi macht Dropbox überflüssig!

Eine eigene Nextcloud Release 13 Installation auf dem Raspberry Pi macht Dropbox überflüssig! Und man kann sensible private Daten auf dem eigenen Server abspeichern. Nextcloud ist unter einer freien AGPLv3 Lizenz zu erhalten. Um erste Eindrücke zu erhalten, kann es mal eben auf einem Raspberry Pi (Zero W) installiert werden.

Das geht in unter einer Stunde. Also dann mal die Konsole auf und einen Apache2 mit Nextcloud 13 installieren:


„Eine eigene Nextcloud Release 13 Installation auf dem Raspberry Pi macht Dropbox überflüssig!“ weiterlesen

Wie kann man auf dem Raspberry Pi (Linux, Debian) die größten installierten Packages anzeigen?

Wie kann man auf dem Raspberry Pi die größten installierten Packages anzeigen? Einfach auf der Konsole:

eingeben. Die größten Packages werden als letztes angezeigt. Da kann man dann wenn man will das eine oder andere löschen, aber nicht nmap ;-).

Wie wird auf einem Mac OS X dauerhaft der ausführliche Druck-Dialog bzw. Speichern-Dialog in allen Programmen angezeigt?

Wie wird auf einem Mac OS X dauerhaft der ausführliche Druckdialog bzw. ausführliche speichern Dialog in allen Programmen angezeigt?

Einmalig auf der Konsole folgenden Eintrag absetzen:

Wer den default Zustand wieder haben will:

Für den erweiterten Speichern Dialog geht es mit:

oder wieder zum Default:

Wie kann Gradle auf einem Raspberry Pi installiert und ein Beispielprojekt in 10 min mit Javadoc, Test und Reports angelegt und gebaut werden?

Manchmal braucht man Gradle. Wie kann das auf einem Raspberry Pi installiert werden. Das geht in 10 Minuten mit:

Ergebnis:

Ok, das ist nicht die aktuellste 4.6 Version aber man kann schon mal loslegen.

Dann wollen wir auch gleich mal ein Testprojekt anlegen. „Wie kann Gradle auf einem Raspberry Pi installiert und ein Beispielprojekt in 10 min mit Javadoc, Test und Reports angelegt und gebaut werden?“ weiterlesen

Flugzeug Notfall Benachrichtigung bei Entführung auf das Handy mit Pushover oder Twitter erhalten mit NodeRed

Vor einem Jahr hatte in einem Artikel die Java Schnittstelle ua. wie folgt beschrieben: „Mit dieser Javaschnittstelle können einfach Pushover Nachrichten an jedes Handy bzw. Tablet versendet werden wenn ein Flugzeug startet oder landet. Da wir in der Nähe vom Flughafen Hannover (EDDV, HAJ) leben, sehen wir gerne Flugzeuge starten und landen. Die beiden Start.- und Landebahnen liegen in Ost-West Richtung. Wenn wir aus dem Küchenfenster schauen oder wenn wir auf der Terrasse sitzen, sehen wir alle Flugzeuge die von Osten aus ankommen bzw. in die Richtung wegfliegen. Nun möchte ich gerne eine Nachricht mit Höhe, Geschwindigkeit, Flugnummer usw. auf mein Handy erhalten, wenn ein Flugzeug aus dem Osten zum landen ankommt bzw. in Richtung Osten starte. Alle anderen Flugzeuge die in die andere Richtung starten bzw. landen sollen nicht berücksichtigt werden. Auch nicht Flugzeuge die nur Hannover überfliegen.

Auch soll eine Pushover versendet werden wenn ein Luftnotfall (med. Notfall, Entführung usw. ) per Transponder gemeldet wird.“

Denn letzten Teil, dh. Benachrichtigung auf Twitter und Pushover wenn ein Flugzeug Notfall eintritt, „Flugzeug Notfall Benachrichtigung bei Entführung auf das Handy mit Pushover oder Twitter erhalten mit NodeRed“ weiterlesen