Raspberry Pi Transponder Datenauswertung mit Fluglärm: Ab welcher Höhe und wie lange sind Flugzeuge aus EDDV (HAJ) bei mir in Langenhagen hörbar?

Es gibt vom Flughafen Hannover (HAJ, EDDV) seit Jahren eine sehr gute Seite um den Fluglärm anzuschauen. Es gibt acht Messstationen die den Lärm in db(A) anzeigen. Auch mit guter History die man bis zu 25 Mal schneller abspielen kann. Die aktuellen Werte sind 20 Minuten zeitversetzt. Die Grünen Punkte sind die Messstationen:

Das jeweilige Diagramm wird oben links angezeigt, wenn man ein Flugzeug mit der Maus selektiert hat.

Hier noch ein paar Einstellungen: „Raspberry Pi Transponder Datenauswertung mit Fluglärm: Ab welcher Höhe und wie lange sind Flugzeuge aus EDDV (HAJ) bei mir in Langenhagen hörbar?“ weiterlesen

Java 8 Quickie: Laufzeitberechnung mit java.time.Duratio und java.time.Clock

Will man mit Java 8 Zeiten berechnen, geht das z.B. so:

Wie kann mit Java die Anzahl der Flugzeuge in der jeweiligen Höhe weltweit in real time ermittelt und mit OpenStreetMap via uMap visualisiert werden?

Wie vor zwei Jahren hier schon mal beschrieben hat sich nicht viel geändert.

Aber es gibt eine neue Version (1.3.0) der Rest API, die wir verwenden wollen. Dazu die Maven pom.xml updaten:

Hier der aktuelle Lauf:

Es sind also 6559 Flugzeuge weltweit in der Luft! Hier die paar Zeilen Java Code die dafür nötig sind: „Wie kann mit Java die Anzahl der Flugzeuge in der jeweiligen Höhe weltweit in real time ermittelt und mit OpenStreetMap via uMap visualisiert werden?“ weiterlesen

Java: Rätsel des Tages

Was ist das Ergebnis? „Java: Rätsel des Tages“ weiterlesen

Wie wird ein Java Programm im JAR in einem Docker Kontainer mit Maven aufgerufen? Und wie werden die Docker Tools in Eclipse installiert?

Mit dem io.fabric8 Plugin kann ein Maven Projekt mit Java in Docker laufen. Dazu z.B. das Plugin wie folgt in der pom.xml eintragen.

Damit ein mvn install läuft muss erst die Docker.App gestartet werden:

In Eclipse läuft es dann:

Dann kann „Wie wird ein Java Programm im JAR in einem Docker Kontainer mit Maven aufgerufen? Und wie werden die Docker Tools in Eclipse installiert?“ weiterlesen

Java: Rätsel des Tages

Was ist das Ergebnis?

Ergebnis: „Java: Rätsel des Tages“ weiterlesen

Für den Urlaub: Free WLAN Wifi-Scanner mit LED anzeige mit Wemo (ESP8266)

Wer noch für den Urlaub einen freien Wifi-Finder braucht, kann einen Wemo (ESP8266) verwenden, es muss ja nicht immer ein Raspberry Pi sein. Einfach dieses kleinen c Programm mit der Arduino IDO in den Wemo flashen, und mit 5 Volt an einem USB Port mit Strom versorgen.

Der Sketch verwendet nur 266424 Bytes (25%) des Programmspeicherplatzes. Das Maximum sind 1044464 Bytes. Globale Variablen verwenden 27124 Bytes (33%) des dynamischen Speichers, 54796 Bytes für lokale Variablen verbleiben. Das Maximum sind 81920 Bytes.

Hier noch ein kleines 26 Sekunden Video um zu sehen wie der Scanner mit dem obigen Programm läuft:

Auf der Seriellen Konsolen werden übrigens die Daten auch ausgegeben, z.B.

In diesem Sinne …

Linux Quickie: Nohup oder wie können Programme im Hintergrund laufen?

Java ua. Programme könen auf Linux bzw. dem Raspberry Pi über die Komandozeile mit dem Programm screen im Hintergrund gestartet werden. Dieses ist aber nicht immer installiert. Deshalb kann man als alternative ein Programm mit nohub als Prozess starten.

Z.B.wird ein Programm in einem Jar wie folgt im Hintergrund gestartet:

java -jar twpdftagger-0.0.2.jar &

Es braucht also nur das & angefügt zu werden. Nun ist man aber oft per ssh eingeloggt und will das das Programm auch nach einem exit der Konsole noch weiterläuft. Hier kommt nun nohup zum Einsatz:

nohup java -jar twpdftagger-0.0.2.jar &

Die Ausgaben des aufgerufenen Programms werden automatisch in die Datei nohup.out geleitet, die im Verzeichnis angelegt wird, von dem aus der Befehl ausgeführt wurde. Weitere Infos zu nohup gibt es mit „Linux Quickie: Nohup oder wie können Programme im Hintergrund laufen?“ weiterlesen

Aktuellste Version mono auf dem Raspberry Pi installieren für C# Programme (Visual C#)

Installiert man mono mit sudo apt install mono-complete ist mono zwar in 30 Minuten installiert, aber nicht in der aktuellsten Version, sondern in Version 4.6.2.

Aktuell ist aber 5.18.1 wie auf der mono Seite zu sehen. Die Installation ist aber auch schnell gemacht, Key, Certificate und Repo laden: „Aktuellste Version mono auf dem Raspberry Pi installieren für C# Programme (Visual C#)“ weiterlesen

Eben veröffentlicht Eclipse IDE 2019‑03 – Better Than Ever – The Eclipse IDE delivers what you need to rapidly innovate – 68.1 million lines of code

Was ist neu?

-Polyglot language support

-First class support for Java, JavaScript, C/C++, PHP, Rust, and others Latest Java™ versions

-Support for building Java™ 11 and Java EE™ 8 based applications

-Improved performance

-Startup time has received a boost this release

-Language Server support

-Solid infrastructure to support integration of language servers

-Proven extensibility

-A huge variety of platform plug-ins

Free and open source

-Free and open source released under the terms of the Eclipse Public License 2.0

Download hier oder eine schöne Zusammenfassung mit Videos.

JUnit Quickie: Wie können die Testmethoden einer Klasse automatisch in zufälliger Reihenfolge (Pseudozufall) ausgeführt werden?

Wie können die Testmethoden einer Klasse automatisch in zufälliger Reihenfolge ausgeführt werden? Ab JUnit 5.4 geht das mit der Annotation @TestMethodOrder. Es wird nur die @TestMethodOrder(MethodOrderer.Random.class) Annotation an der jeweiligen Test-Klasse benötigt. Die Zufallsfunktion wird mit Hilfe der System.nanoTime() Funktion erzeugt. Also ein Pseudozufall. Aber für Test reicht es.

Wir verwenden diese Testklasse: „JUnit Quickie: Wie können die Testmethoden einer Klasse automatisch in zufälliger Reihenfolge (Pseudozufall) ausgeführt werden?“ weiterlesen

Stromverbrauch des CC2531 Sniffer Protocol Analyzer Wireless Module USB (ZigBee) am Raspberry Pi

Wieviel Strom verbraucht der CC2531 am Raspberry Pi? Ich hatte ja vor ein paar Tagen schon 2 Beiträge dazu geschrieben. Die grüne LED ist sehr hell und dennoch …

0.00 Ampere im Leerlauf ist nicht viel. Dann mal ein anderes Messgerät … „Stromverbrauch des CC2531 Sniffer Protocol Analyzer Wireless Module USB (ZigBee) am Raspberry Pi“ weiterlesen

Alexa Echo Sprachausgabe via Raspberry Pi und openHAB 2

Wie kann man eine Sprachausgabe über Alexa Echo machen wenn die Tür aufgeht? Bei mir kommt z.B. eine Ansage von Alexa „Die Haustür ist geöffnet worden“ oder „Die Haustür wurde geschlossen„. Das läuft bei mir analog auch für die Fenster, alles mit Kontakten von Homematic und einem CUL im USB des Pi.

Wenn openHAB 2 läuft, braucht man nur eine Rules Datei: /etc/openhab2/rules/Alexa.rules mit folgenden Regeln kopieren: „Alexa Echo Sprachausgabe via Raspberry Pi und openHAB 2“ weiterlesen

Meine TOP 12 des 35c3

1. Smart Home – Smart Hack https://www.youtube.com/watch?v=urnNfS6tWAY

auch als Zusammenfassung von Heise https://www.heise.de/newsticker/meldung/35C3-Ueber-die-smarte-Gluehbirne-das-Heimnetzwerk-hacken-4259891.html

2. Venenerkennung hacken https://www.youtube.com/watch?v=FsZE6fyF26U

3. Gesundheits Apps und vivy: All Your Gesundheitsakten Are Belong To Us https://www.youtube.com/watch?v=82Hfh1AItiQ
„Meine TOP 12 des 35c3“ weiterlesen

Raspberry Pi: Um welche Uhrzeit wird immer der 1. Kaffee am Tag gekocht?

Gestern hatte ich die Auswertung zum Kaffeeverbrauch gepostet. Die Daten werden ja von einem meiner Raspberry Pi erfasst.

Heute habe ich mal gefragt, um welche Uhrzeit wird bei uns eigentlich der 1. Kaffee gekocht? Die Antwort im Durchschnitt um 6:54 Uhr. Der gemessene Zeitraum ist fast 2 Jahre mit über 500 Messwerte. Hier dazu die Grafik mit der Uhrzeit als Y Wert. X ist die Anzahl der Messungen (Tage)

„Raspberry Pi: Um welche Uhrzeit wird immer der 1. Kaffee am Tag gekocht?“ weiterlesen

Raspberry Pi: Der Kaffee (кофе) ist fertig

Habe ja schon einige Artikel über die Erfassung des Kaffee قهوة  verbrauches mit dem Raspberry Pi geschrieben. Jetzt aber mal eine kleine Auswertung  nach 612 Tage oder fast 2 Jahren. Erfasst wurden 2467 Tassen an 555 Tagen. Das macht einen Durchschnitt von etwas mehr als 4 Tassen Kaffee pro Tag die gekocht wurden, Tendenz steigend, aber nicht nur von mir getrunken wurde. Hier die ganzen Messwerte.

Details zum Aufbau mit Pushover benachrichtigung siehe in diesen Artikel.


Java 8 Quickie: Zeitzonen Umwandlung mit ZonedDateTime: UTC nach Europas Zeitzone

Zeitzonen

Manchmal hat man Zeitangaben z.B. aus IOT Geräten in der Form eines Strings „2018-12-10 12:14:15 UTC“. Nun müssen die Zeitangaben die in UTC verwendet werden in die lokale Zeitzone für Europa/Berlin umgewandelt werden. Das ist in der Regel eine Stunde plus. Wie geht das aber mit der Java 8 API?

„Java 8 Quickie: Zeitzonen Umwandlung mit ZonedDateTime: UTC nach Europas Zeitzone“ weiterlesen

Java 8 Quickie: Alle Zeitzonen mit getAvailableZoneIds mit Java ermitteln

Zeitzonen?

Wie können alle Zeitzonen mit Java ermittelt werden? Das geht mit der Methode getAvailableZoneIds der Klasse ZoneId. Die Methode ist thread save und der Set kann zukünftig noch erweitert werden. Bei mir ist er heute 600 Einträge (IDs) groß, wie dieser JUnit Test zeigt:

@Test
public void testGetAlleZeitzonen(){
List zeitZonen = new ArrayList<>(ZoneId.getAvailableZoneIds()); zeitZonen.stream().sorted().forEach(zone -> System.out.println(zone)); assertEquals(600, zeitZonen.size());
}

Das sind die Zeitzonen IDs:

„Java 8 Quickie: Alle Zeitzonen mit getAvailableZoneIds mit Java ermitteln“ weiterlesen

Java Quickie: Iterieren mit forEach über eine Collection (von Mindmaps) mit Lambda expressions und Filter

Wenn man mit Lambda über eine Collection iteriert, kann man auch gleich einen Filter verwenden. Was das mit der 20 zu tun hat, kommt am 1.12.2018 hier auf dem Blog 😉

Jetzt aber hier erst mal ein Beispiel zum Filter:

Und die nötige Mindmap BE Klasse: „Java Quickie: Iterieren mit forEach über eine Collection (von Mindmaps) mit Lambda expressions und Filter“ weiterlesen

Wie kann eine Vaadin Spring Boot Anwendung in 15 Minuten auf JUnit 5 umgestellt werden?

Wie kann eine Vaadin Spring Boot mit Hibernate Anwendung auf JUnit 5 für Eclipse Oxygene 3A umgestellt werden?

1. Deaktivieren wir die JUnit (4.12) Libs in der pom.xml:

2. Fügen wir die nötigen JUnit 5 Libs in der pom.xml hinzu:

3. Wir fügen JUnit 5 dem Buildpfad hinzu:

Es sieht dann so aus:
„Wie kann eine Vaadin Spring Boot Anwendung in 15 Minuten auf JUnit 5 umgestellt werden?“ weiterlesen

Wie können UML 2.0 Klassen-Diagramme mit Spring STS (Spring Tool Suite 3.9.4) erstellt werden?

Auch in der aktuellen STS Version, der Spring IDE kann das kostenlose UML Plugin installiert werden.

Es ist super fürs Reverse Engineering, um schnell einen Überblick zu erhalten.

Das Eclipse-Plugin ObjectAid installieren über die Install URL

http://www.objectaid.com/update/current

Dann einfach ein neues Objectaid Diagramm erstellen:

Auf dem Dialog ein paar Einstellungen oder die default belassen: „Wie können UML 2.0 Klassen-Diagramme mit Spring STS (Spring Tool Suite 3.9.4) erstellt werden?“ weiterlesen

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

Manchmal braucht man eine „One to One“ 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. arbeiten ein Arzt in der Regel in einem Krankenhaus. Wenn sie nicht gerade als Belegärzte tätig sind. Also „One to One„:

Hier nun eine Kopiervorlage um diese wiederkehrende Verbindung anzulegen: „One to One mit Java Persistence API (JPA 2.0) und Spring Boot ohne XML“ 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