Nicht viel los in der ACARS Welt in Hannover zum Jahresende.
Hier mal ein kurzer Auszug: „Pi Zero W empfängt ACARS in HAJ“ weiterlesen

mit Java, Raspberry Pi, SDR, Linux, Arduino, Sicherheit, Blender, KI, Statistik, Krypto und Blockchain
Nicht viel los in der ACARS Welt in Hannover zum Jahresende.
Hier mal ein kurzer Auszug: „Pi Zero W empfängt ACARS in HAJ“ weiterlesen
Habe mal so geschaut, was der am wenigsten gesehene (geklickte) Block-Beitrag des Jahres 2017 war. Es ist der Beitrag mit nur einer Mindmap zum Thema „Einfaches Design„. Ok, der Beitrag ist vom 19. Oktober 2012, und ich weiß warum das keinen interessiert. Testen …
Was hälts Du von KISS? Gern als Kommentar …
Wer einen Passwort Manager braucht, kann pass verwenden. Den gibt es kostenlos für alle Betriebssysteme. Die Passwörter werden alle mit gpg Verschlüsselt und liegen in ~/.password-store so das sie leicht verwaltet werden können. Die Passwörter können mit unix shell Kommandos so leicht verwaltet werden. Auch eine bash Auto-Vervollständigung gibt es. Auch eine Git Integration ist möglich.
Wenn noch kein gpg Key auf dem Raspberry Pi angelegt wurde oder auch sonst noch keiner vorhanden ist, diesen einmal mit
|
1 |
gpg --gen-key |
erzeugen. Es muss nur der Name und die E-Mail Adresse angegeben werden, nach einem O muss man ein paar Minuten warten, bis der Key erzeugt wurde: „Sicherheit: gpg (GnuPG) Key Verwaltung mit pass auf dem Raspberry Pi oder sonst wo oder cooler kostenloser Passwort Manager für Raspberry Pi“ weiterlesen
Nun ist mein erstes QI-Ladegerät aus China angekommen. Dann kann ja jetzt drahtlos geladen werden! Den Qi-Standard gibt es ja schon länger. Und für 2,39 Euro inkl. Versand und CE Zeichen kann man nicht meckern.
Funktion ldt. Hersteller ua:
for iPhone: for iPhone 8, for iphone 8 plus, iphone x
for Samsung: for Note 8 Note 7 Note 5, for S6, for S6edge, for S6 edge Plus, for S7
for Nokia: for Lumia 822 830 920 928 929930 1020 1520
for HTC: for Droid DNA, for Butterfly, forInceredible 4G LTE, for 8XT 8X
for LG: for D1L, for LTE2, for G Pro
for Google: for Nexus 4 5 6, for Nexus 7 HD
Spezifikation:
1, the input voltage: DC4.3V ~ 5.5V / 1.5 ~2A, beyond this range voltage alarm and stop charging
2, the output voltage: 5V ± 0.1V,
3, the charging current: 500mAh-1000mAh
4, charging power: 5W Max
5, the conversion efficiency: more than 73%
6, the transmission distance: 10mm,recommended transceiver pitch 2mm ~ 4mm
7, standby power consumption: Average power consumption is less than 50mW
8, size:69*10mm (Diameter*Height)
9, color: Black/ White with black base/ Red with black base/ Blue with black base/ Orange with black base
Package Including:
1* Qi Wireless Charger Pad
1* USB Charging Cable
Ok, mal eben nachmessen, im Leerlauf:
Ok, das ist nichts, und kann immer am Netz bleiben. Und unter Last mit Handy: „QI-Standard (induktive Energieübertragung) – Low Power – für Handys usw.“ weiterlesen
Mit der java.nio Lib können leicht Links auf Dateien erstellt werden. Es muss ja nicht immer ein Soft-Link sein.
Hier mal ein JUnit Beispiel für Java, zur Erzeugung eines Hard-Link, der schnell mit Files.createLink erzeugt werden kann: „Es muss ja nicht immer ein Soft Link sein: Hard Link“ weiterlesen
Einfache Diagramme können mit NodeRED leicht erstellt werden. Ob nun mit Linien, Balken oder Kreisdiagramm. Unten mal ein Verlaufsdiagramm der empfangenen Flugzeuge in Hannover (HAJ).
Dafür gibt es das Chart-Node, das in den Flow gezogen werden muss: „Schöne UI-Diagramme mit NodeRED auf dem Raspberry Pi“ weiterlesen
In JUnit 5 gibt es im Package org.junit.jupiter.api die Klasse Assumptions (Annahme).
Die Assumptions Klasse ist eine Sammlung von Util-Methoden. Im Gegensatz zu den Assertions (Behauptungen) wird die Assumptions im Fehlerfall nicht mit einem failure (graues Kreuz) sondern mit einem Error (rot) markiert.
Deshalb ist es manchmal gewünscht, wenn z.B. eine Bestimmte Umgebung nicht vorhanden ist, das dann der Test nicht als Error (rot) sondern mit einen grauen Kreuz (Failures) markiert wird. Dann sollte man also die org.junit.jupiter.api.Assertions verwenden wie diese Testklasse zeigt:
Hier der Quellcode „JUnit 5: Class Assumptions vs. Assertions – org.junit.jupiter.api – Behauptungen – Annahme – założenia – допущения -假設 – الافتراضات“ weiterlesen
Was waren im letzten Jahr 2017 so die am meisten besuchte Beiträge auf diesem Blog?
Download als top10-blog.wenzlaff.de.pdf. Weitere Mindmaps hier.
Wer per Sprache mit einen Echo Dot auch den Raspberry Pi auf dem Node-RED läuft steuern will, kann dazu die „Node-RED Alexa Home Skill Bridge“ verwenden. Hier mal ein Beispiel wie per Alexa Echo Dot Sprach-Befehl die Feinstaubwerte für Hannover abgefragt und per Pushover an Handys versendet wird.
Dazu muss der Node „node-red-contrib-alexa-home-skill“ mit npm installiert werden:
Für den Echo das folgende Skill installieren. „Echo Dot triggert Node-RED auf dem Raspberry Pi per „Node-RED Alexa Home Skill Bridge““ weiterlesen
Wie kann man aus einem Pojo ein XSD Schema für zukünftige Validierungen generieren?
Das geht ganz einfach mit JAXB und Eclipse Oxygen.1A.
Wir erstellen dazu erst einmal zwei Klassen, Mindmap und Autor mit ein paar Eigenschaften. Optional annotieren wir die Mindmap Klasse mit @XmlRootElement und die Autor Klasse mit @XmlType. „Wie kann ein XSD-Schema aus Java POJOs mit „Java Architecture for XML Binding“ generiert werden?“ weiterlesen
Wer die rrdtools aus dem Debian Repo. installiert erhält die Version 1.4.7. Wer eine neuere haben will kann sie wie folgt compilieren:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
sudo apt-get update sudo apt-get upgrade # in .profile diese beiden Variablen eintragen BUILD_DIR=/tmp/rrdbuild INSTALL_DIR=/opt/rrdtool-1.7.0 mkdir -p $BUILD_DIR cd $BUILD_DIR sudo apt-get install libpango1.0-dev libxml2-dev wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.7.0.tar.gz gunzip -c rrdtool-1.7.0.tar.gz | tar xf - cd rrdtool-1.7.0 ./configure --prefix=$INSTALL_DIR && make && make install |
Wie kann eine Json Datei in ein Java Objekt eingelesen werden? Es kommt doch hin und wieder mal vor, das man eine Json Datei hat, die man einlesen will. Man könnte es generisch einlesen. Oder man erzeugt sich die nötigen Java BEs bzw. Pojos und liest die Datei dann ein. Hier mal ein Beispiel mit gson zum einlesen in die zuvor erzeugten Java Klassen.
Es muss in der pom.xml diese Abhängigkeit ergänzt werden:
|
1 2 3 4 5 6 |
<dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.7</version> <scope>compile</scope> </dependency> |
Z.B. diese aircraft.json Datei. Die Felder werden hier beschrieben. Die Datei wird vom Dump1090 Server alle paar Sekunden aktualisert.
|
1 2 3 4 5 6 7 8 9 10 11 12 |
{ "now" : 1477853643.7, "messages" : 45918404, "aircraft" : [ {"hex":"471f87","altitude":38025,"vert_rate":-64,"track":287,"speed":393,"mlat":[],"tisb":[],"messages":5,"seen":0.1,"rssi":-35.3}, {"hex":"48520c","squawk":"6441","altitude":38000,"mlat":[],"tisb":[],"messages":26,"seen":7.2,"rssi":-35.0}, {"hex":"3c644a","squawk":"3537","flight":"DLH2TR ","lat":52.605377,"lon":10.574875,"nucp":7,"seen_pos":13.9,"altitude":38025,"vert_rate":0,"track":191,"speed":488,"category":"A0","mlat":[],"tisb":[],"messages":306,"seen":3.8,"rssi":-32.4}, {"hex":"4ca27a","mlat":[],"tisb":[],"messages":1654,"seen":121.9,"rssi":-35.3}, {"hex":"896184","mlat":[],"tisb":[],"messages":4657,"seen":295.6,"rssi":-35.7}, {"hex":"4ca2fe","altitude":37000,"mlat":[],"tisb":[],"messages":7085,"seen":3.6,"rssi":-35.6} ] } |
Wir schauen uns einfach die Struktur an, und erzeugen Java Klasse mit genau den Feldnamen, das ist wichtig da die Felder dann automatisch per reflection eingelesen werden. „Wie können Json Dateien in Java Objekte eingelesen werden mit google gson?“ weiterlesen
Eben ist der Flug CFG605 in Hannover gelandet. Es ist eine Condor A321 aus Antalya (AYT) mit 36 Minuten Verpätung. Intressant ist das Höhenprofile:
Oder hier mit Karte:

Die Höhe liegt bei 732 m auf der Höhe der A7. „Anflug auf Hannover (EDDV, HAJ) mit Höhendiagramm eines A321 (CFG605) aus der تركيا“ weiterlesen
Wer keine Lust hat die Uhren umzustellen, kann ja mit JAXB Java Klassendateien generieren.
In der IDE für Java Developer für Eclipse, ist der JAXB Generator nicht installiert. Der müsste in der EE IDE vorhanden sein. Wer die nicht extra zusätzlich installieren will, kann auch über das Menü Windows – Help – Install New Software und dem Stichwort jaxb suchen und dort diese Installieren:
Dann nach einem Restart, ein neues JAXB-Projekt anlegen mit: „Wie können mit Eclipse Oxygen.1A aus XSD-Dateien mit JAXB Java Klassen generiert werden?“ weiterlesen
Oder alle Jahre wieder! Alle Jahre wieder. Aber wie lange noch? Wer einen Raspberry Pi laufen hat, kann die Zeitzone und Zeit leicht verändern bzw. stellen. Meistens läuft ein NTP, der alles autom. richtig macht. Was aber wenn die Sommerzeit bzw. Winterzeit nicht richtig berücksichtigt wurde?
Wie kann die Zeit einfach überprüft werden?
In der Konsole
|
1 |
date |