Ein Web-Token ist mit Java schnell erzeugt…. „JSON Web Token mit Java (JWT) erzeugen ist nicht schwer mit JJWT“ weiterlesen
Online-Testdatengenerator für Json, XML, SQL, Excel, REST…
Manchmal braucht man anonymisierte Testdaten. Ob nun im Json, CSV, XML, Excel, SQL oder sonstigen Format.
Anonymisierte Daten sind Informationen, die sich nicht auf eine bestimmte oder bestimmbare natürliche Person bzw. Gruppe beziehen lassen (Erwägungsgrund 26, DSGVO). Anonymisierung bedeutet also, das eine Person nicht mehr identifizierbar ist. Die Grundsätze des Datenschutzes gelten für diese Art der Daten nicht, d.h. anonyme Daten dürfen jederzeit weitergegeben werden.
Es gibt da viele Generatoren, heute stelle ich mal einen Online-Generator vor. Den mockaroo.com. Wir wollen Json Daten für eine Krankenhausanwendung erstellen. Sie soll ca. so aussehen: … „Online-Testdatengenerator für Json, XML, SQL, Excel, REST…“ weiterlesen
Kommandozeilen Prozessor jq für JSON
Der Kommandozeilen Prozessor jq für JSON ist auf dem Raspberry Pi schnell mit
1 |
sudo apt install jq |
installiert. Es wird dann, wie man mit
1 |
jq --version |
feststellen kann, die Version jq-1.5-1-a5b5cbe installiert. Das ist zwar nicht die aktuelle vom 1.Nov. 2018 1.6 aber immerhin aus 2015. Es reicht auch erstmal. Man kann auch alle Befehle in einem Online Editor unter jqplay.org austesten.
Eine Anleitung … „Kommandozeilen Prozessor jq für JSON“ weiterlesen
Impfzertifikat validierung mit dem Raspberry Pi und Python und das zu „Don’t Shut Me Down“
Seit dem 10. Juni 2021 werden Impf-Zertifikate (sogenannte Impfbescheinigungen) in Deutschland in Impfzentren ausgegeben. Den QR-Code kann man auch mit einem Raspberry Pi validieren (von lateinisch validus „kräftig, wirksam, fest“) und den Inhalt des QR-Codes im Klartext ausgeben. Am Beispiel eines Raspberry Pi Zero W sind folgende 6 Schritte nötig.
1. Wir brauchen das Impfzertifikat, also den QR-Code als PNG oder JPG-Bild in einer Datei z.B. max-mustermann.png.
Wie z.B.:
Aber nur den QR-Code, nicht die ganze Seite des Impfzertifikats. … „Impfzertifikat validierung mit dem Raspberry Pi und Python und das zu „Don’t Shut Me Down““ weiterlesen
Java Ethereum Wallet mit Web3j erstellen
Web3j ist ein sehr modularer und typsichere Library für Java und Android. Viele Module und Funktionen für das einfache arbeiten mit Smart-Contracts und Wallets auf der Ethereum-Blockchain (ETH), stehen bereit.
Hier nun ein kleines Beispiel, wie mit nur einer Java-Klasse und ein paar Zeilen Code ein eigenes File-Wallet im Json-Format erstellt werden kann. In einem weiteren Beitrag zeige ich dann, wie dieses File-Wallet in MetaMask importiert werden kann.
Folgende Abhängigkeiten sind in der pom.xml einzutragen, Web3j und die „alte“ (alt aber Apache) Json-Lib von Google, obwohl Web3j auch die Jackson Json Lib als transitive Abhängigkeit mitbringt. Es muss ja nicht immer Jackson sein 😉 „Java Ethereum Wallet mit Web3j erstellen“ weiterlesen
Java Reflexion Sortierung für org.json.JSONObject Hack, statt Fußball EM … Goal!
Werden mit org.json.JSONObject Json Dateien erstellt, werden die ldt. Spezifikation nicht sortiert. Das ist für die Auswertung mitunter schwer zu lesen.
Schauen wir in die Klasse: „Java Reflexion Sortierung für org.json.JSONObject Hack, statt Fußball EM … Goal!“ weiterlesen
Filtern eines JSON Objekt per REST Request von einem Raspberry Pi in einen Wert per NodeRed transformieren
Wenn man REST Services abfragt, bekommt man oft viele Werte. Wie kann man nur einen davon leicht per NodeRed filtern?
Hier mal ein Beispiel eines JSON-Objekt mit mehreren Werten. Wir wollen da die Temperatur Filtern. „Filtern eines JSON Objekt per REST Request von einem Raspberry Pi in einen Wert per NodeRed transformieren“ weiterlesen
Wie kann JSON in Java „schnell“ erzeugt werden?
Da heute ein arbeitsfreier Tag ist, schon mal eine kleine Vorbereitung („ARBEIT“) für den Einsatz im Projekt ab Montag. Da wollen wir JSON Objekte verwenden. Für die JSON Erzeugung mit Java gibt es viele Möglichkeiten und Libs. Hier mal ein kleines Beispiel mit der 68 kB großen json.org Lib.
Zuerst in der pom.xml die Lib eintragen:
1 2 3 4 5 |
<dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> <version>20190722</version> </dependency> |
und dann einen kleine JUnit 5 Test.
1 2 3 4 5 6 7 8 9 10 11 12 |
@Test void kleinerJsonTest() { JSONObject json = new JSONObject(); json.put("name", "Wenzlaff"); json.put("vorname", "Thomas"); json.put("pin", 123456); // {"pin":123456,"vorname":"Thomas","name":"Wenzlaff"} assertEquals("{\"pin\":123456,\"vorname\":\"Thomas\",\"name\":\"Wenzlaff\"}" + "", json.toString()); } |
Also einfach ein JSONObject Objekt erstellen und mit put die Key und Value Werte eingeben. Für die put Methode gibt es viele Möglichkeiten: „Wie kann JSON in Java „schnell“ erzeugt werden?“ weiterlesen
Shell Scripte überprüfen mit ShellCheck auch auf dem Raspberry Pi (Zero W) in 5 Minuten möglich und auch JUnit via xslt
Mit shellcheck kann man gut Shell Scripte überprüfen.Das kann man einfach online, über diese GUI www.shellcheck.net ausprobieren oder aber auch installieren.
Für den Raspberry Pi gibt es schon ein installations Packet, deshalb ist die Installation mit
1 2 3 |
sudo apt install shellcheck # Testen welche Version installiert wurde# # version: 0.4.4 |
schnell erledigt.
Das ist nun nicht gerade die aktuelle Version 0.5.0 aber immerhin. Ein selbst compilieren kommt für den Pi nicht infrage, da ShellCheck in Haskell programmiert ist und da für den compile mind. 2GB RAM benötigt werden, der Pi hat aber je nach Version max. 1GB.
Nun kann leicht eine Script Datei überprüft werden, mit Aufruf
shellcheck SCRIPT.sh. Hier mal zwei Beispiele:
„Shell Scripte überprüfen mit ShellCheck auch auf dem Raspberry Pi (Zero W) in 5 Minuten möglich und auch JUnit via xslt“ weiterlesen
Wie können Json Dateien in Java Objekte eingelesen werden mit google gson?
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
Raspberry Pi: Dump1090 erzeugt auch JSON-Dateien die extern verwendet werden können
Dump1090 erzeugt auch JSON-Dateien, die periodisch aktualisiert werden und die auch extern verwendet werden können.
Dies sind ua. die folgenden Dateien:
- aircraft.json
- stats.json
- receiver.json
- history_0.json, history_1.json, …, history_119.json
Die genaue Dokumentation ist hier zu finden.
Über den Browser kann man auf diese Dateien z.B. so zugreifen, wenn ein externer Server verwendet wird:
http://(Raspberry Pi Adfresse)/dump1090/data/aircraft.json
im Dateisystem sind sie unter
/run/dump1090-mutability
zu finden.
Die aircraft.json liefert dann z.B. die folgenden Infos: „Raspberry Pi: Dump1090 erzeugt auch JSON-Dateien die extern verwendet werden können“ weiterlesen
MQTT.fx 1.2.0 erschienen
Während meiner Weltreise ist auch eine neue Version von MQTT.fx 1.2.0 erschienen.
Was ist neu, hier ein Auszug aus den Release Notes:
-Payload can now be decoded and exported in JSON format
-Topic of received messages can now be copied (and pasted) „MQTT.fx 1.2.0 erschienen“ weiterlesen
Java to Json Beispiel mit Gson
Java Objekte können leicht nach Json serialisiert und deserialisiert werden mit Gson.
Es braucht nur eine Abhängigkeit in der pom.xml ergänzt zu werden.
Das Beispiel: „Java to Json Beispiel mit Gson“ weiterlesen
Eclipse Neon jetzt mit eingebauten Json Editor. Cool!
Eclipse Neon hat nun einen eingebauten Json Editor, es braucht nun kein anderes Json Plugin installiert werden.
Wie können JSON Daten von Hannover (HAJ) zur Landung der AFO von Obama [bəˈɹɑːk hʊˈseɪn oʊˈbɑːmə] mit geojson.io erstellt werden?
Mit geojson.io können leicht GEO-Daten im verschiedenen Formaten erzeugt werden z.B. im JSON, CSV, KLM, WKT Format.
Habe mal, weil der 44. Präsident, Obama in Hannover Langenhagen landet, mal den Flughafen mit zwei von drei Landebahnen markiert. Auch eine 9 km Verlängerung und eine Vermessung zu meinen Wohnort habe ich eingezeichnet:
Hier mit dem rechten Fenster der JSON Generierung:
Und eine von vier Karten, die unten links ausgewählt werden können:
Wie kann die Anzahl der gerade empfangenen Flugzeuge mit DUMP1090 auf einem Raspberry Pi an ThingSpeak.com mit jq gesendet werden?
Wie kann die Anzahl der gerade empfangenen Flugzeuge mit DUMP1090 auf einem Raspberry Pi an ThingSpeak.com mit jq gesendet werden?
Wir verwenden ein kleines bash Script, welches über jq die aircraft.json Datei auswertet. Diese Daten werden dann automatisch alle 5 Minuten per crontab an ThingSpeak gesendet.
Der jq ist ein Kommandline JSON Tool, das den Input der JSon aircraft.json Datei verwendet und das gefilterte Ergebnis wieder ausgibt. In diesem Fall die Anzahl der Flugzeuge. „Wie kann die Anzahl der gerade empfangenen Flugzeuge mit DUMP1090 auf einem Raspberry Pi an ThingSpeak.com mit jq gesendet werden?“ weiterlesen
JSON Editor Plugin für Eclipse (Mars.2 Release (4.5.2))
Um JSON Files zu bearbeiten, gibt es das JSON-PlugIn. Damit können JSON-Dateien bearbeitet werden und auch die Syntaxhervorhebung ist schön.
„JSON Editor Plugin für Eclipse (Mars.2 Release (4.5.2))“ weiterlesen
Wie können die Daten von einer Withings Waage und Pulse mit einem Fhem-Server auf einem Raspberry Pi ausgelesen werden?
Dafür gibt es ein fertiges Modul in Fhem. Es müssen nur die zwei Zeilen mit den device, userid und publickey aus der Web-Oberfläche von Withings (alt)
define withings withings [device]
define withings> withings [userid] [publickey]
in der fhem.cfg ergänzt werden und ein restart des Fhem-Servers durchgeführt werden.
Dann kamm es bei mir zu folgender Fehlermeldung:
Can't locate JSON.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl . ./FHEM) at ./FHEM/32_withings.pm line 9, <> line 3.
BEGIN failed--compilation aborted at ./FHEM/32_withings.pm line 9, <> line 3.
An der Fehlermeldung kann man erkennen das JSON für Perl auf den Rasperry Pi nicht installiert war.
In der Modulbeschreibung steht auch das „JSON, LWP::Simple and Digest::MD5 have to be installed on the FHEM host“. Also noch ein paar Module neu installieren mit
sudo apt-get install libjson-perl libdigest-md5-file-perl liblwp-protocol-https-perl liblwp-protocol-http-socketunix-perl
auf der Konsole. Nach einem Restart, super es wird mein Gewicht angezeigt 🙁
Wie bekomme ich diese Gewichts-Daten nun in ein schönes Diagramm? Hat schon jemand eine passende gplot Datei? Dann bitte hier posten.