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

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

Schöner C/C++ Code mit clang-format in 10 Minuten

Wie kann C/C++/Java … Quellcode auf dem Raspberry Pi headless formatiert und hübscher gemacht werden. Mit dem clang-format Programm das auch in Visual Studio, Emacs, Vim ua. Programme integriert werden kann. Das ist auch in Projekten sehr wichtig, um gleiche formatierungen für alle Projektmitglieder zu nutzen. Auch klappt es dann besser mit dem compare!

Das ist schnell installiert mit:

Ok, dann noch hier die ganze Anleitung: „Schöner C/C++ Code mit clang-format in 10 Minuten“ weiterlesen

Wie kann auf einem Raspberry Pi GraphViz 2.38.0 installiert und mit DOT zum erzeugen schöner Diagramme genutzt werden?

Warum den Raspberry Pi nicht für die Erstellung von schönen Grafiken mit GraphViz verwenden? Graphviz kann auf dem rPi schnell installiert werden mit:

sudo apt-get update && upgrade
sudo apt-get install graphviz

Nach der Installation die Version checken mit

dot -version

es werden auch einige weitere interessante Infos ausgegeben:

Mit Graphviz können aus DOT Dateien schönen Diagramme erzeugt werden. Mit DOT konzentriert man sich auf den Inhalt und Graphviz macht das Layout. DOT hat eine einfache (C ähnliche) Syntax. Hier erst einmal eine Mindmap zu DOT:
dot

Z.B. die Datei: „Wie kann auf einem Raspberry Pi GraphViz 2.38.0 installiert und mit DOT zum erzeugen schöner Diagramme genutzt werden?“ weiterlesen

Raspberry Pi: XML formatieren mit xmllint unter Linux

Manchmal hat man auf dem Raspberry Pi XML Dokumente die man ansehen will, die aber nicht schön formatiert sind.

Z.B. dieses XML Dokument hat alles in einer Zeile, und ist das Ergebnis einer Haltestellenabfrage in Hannover über diese API:

Wie können wir das nun schön formatieren? Dazu gibt es das Kommandozeilen-Tool xmllint. Damit kann eine XML Datei leicht formatiert werden. Dazu das xmllint installieren mit

Dann ein Aufruf von „Raspberry Pi: XML formatieren mit xmllint unter Linux“ weiterlesen

Heatmap mit Raspberry Pi Zero W und gopow erzeugen

Wie kann mit dem Raspberry Pi eine Heatmap erzeugt werden?

Hier mal ein Beispiel, um die unterschiedlichen Frequenzen zusehen in das Bild klicken und vergrößern:

Legende:

Und noch ein Beispiel:

Legende:

Airband (rtl_power -f 118M:137M:8k -g 50 -i 10 -e 1h airband-7.csv):

Und ein letztes Beispiel mit einem Scann nach den Flugzeugtranspondern auf 1090 Mhz (rtl_power -f 1089M:1091M:1k -g 50 -i 10 -e 1h airband-1090-2.csv) wo man gut die Transponder der Flugzeuge (rot) sehen kann:

Als Datenbasis nehmen wir die mit rtl_power erzeugte Datei.

Zuerst laden wir uns das go Programm als binary rtl-gopow herunter und entpacken es: „Heatmap mit Raspberry Pi Zero W und gopow erzeugen“ weiterlesen

SDR: Fix rtl_power: symbol lookup error: rtl_power: undefined symbol: rtlsdr_set_bias_tee für Raspberry Pi

Das Rtl_power ist ein unix-hacker’s Tool für die Annäherung an den Wasserfall mit folgenden Features, ldt. Kyle Keen:

  • Unlimited frequency range. You can do the whole 1.7GHz of a dongle
  • Unlimited time. At least until you run out of disk for logging
  • Unlimited FFT bins.
  • Quantitative rendering. Exact power levels are logged.
  • Runs on anything. A slower computer will use less samples to keep up.

Wer folgenden Abbruch

rtl_power: symbol lookup error: rtl_power: undefined symbol: rtlsdr_set_bias_tee

auf dem Raspberry Pi bei rtl-power bekommt, der kann die librtlsdr0 entfernen mit

dann läufts.

„SDR: Fix rtl_power: symbol lookup error: rtl_power: undefined symbol: rtlsdr_set_bias_tee für Raspberry Pi“ weiterlesen

Wie kann ein XSD-Schema aus Java POJOs mit „Java Architecture for XML Binding“ generiert werden?

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

Wie können mit Eclipse Oxygen.1A aus XSD-Dateien mit JAXB Java Klassen generiert werden?

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

Automatische Überprüfung auf Sicherheitslücken im Java Code auf Basis der Internationalen National Vulnerability Database (NVD)

Sicherheit in Java-Projekten. Datenlecks in Java-Code entdecken. Reports mit bekannten Sicherheitslecks können leicht erstellt werden. Hier mal ein Beispiel Report im HTML Format:

Grundlage bildet die National Vulnerability Database (NVD) Datenbank für Sicherheitslücken, die vom National Institute of Standards and Technology (NIST) gepflegt wird. Wie können solche Reports erstellt werden?

Einfach in der Maven pom.xml das folgende Plugin DependencyCheck ergänzen: „Automatische Überprüfung auf Sicherheitslücken im Java Code auf Basis der Internationalen National Vulnerability Database (NVD)“ weiterlesen

Quicktest: JDeps (Java Dependency Analysis Tool)

Mit Java 8 wird im bin Verzeichnis auch das JDeps Tool ausgeliefert. Dieses Tool ermöglicht eine statische Kodeanalyse von der Kommandozeile. Es kann die statischen Abhängigkeiten von Klassen und Jars aufzeigen und auch eine Abhängigkeitsgraphen generieren. So ist man dann für Java 9 vorbereitet.

Das wollen wir einmal ausprobieren. Dazu hole ich mir für mein Testprojekt erst einmal alle Jars und untersuche dann das JUnit 4.12.

Also in der pom.xml folgendes Plugin ergänze und ein „mvn package“ ausführen: „Quicktest: JDeps (Java Dependency Analysis Tool)“ weiterlesen

Gurken-Test mit Cucumber

Mit Cucumber können Testfälle schön in Worte beschrieben werden. Hier mal ein schneller quick Einstieg.

Eine Testfall Beschreibung kann in Worten mit der Gherkin Syntax geschehen, z.B diese kalender.feature:

In Eclipse sind die JUnit-Test auch schön lesbar, z.B.:

Für Eclipse gibt es ein Natural 0.7.6 Plug-In für die *.feature Dateien. Das kann leicht über den Eclipse Marketplace installiert werden:

Einfach alles installieren:

Die Testfall implementierung kann z.B. so aussehen. Dieser Testfall gibt nur einen Kalender auf der Konsole aus, deshalb gibt es nur das Generieren:

Eine Testklasse zum starten des Testfalls:

Folgende Abhängigkeiten werden in der pom.xml benötigt:

Das ganze Testprojekt kann auf Github geladen werden.

Eine weitergehende Anleitung auf deutsch gibt es hier.

Mit dem Raspberry Pi den Java Class File Disassembler (javap) aufrufen

Manchmal will man sehen, was alles so in einer compilierten Java Datei steckt. Nicht immer hat man den Quelltext. Auch für die Fehlersuche ist ein Disassembler mal ganz gut.

In jedem JDK ist auch ein Disassembler javap dabei. Denn wollen wir nun einmal auf eine unbekannte Java Class Datei loslassen, um zu sehen, was es so zu sehen gibt.

Zuerst loggen wir uns auf die Kommandozeile eines Raspberry Pi ein, auf dem ein Java JDK installiert ist. Ob Java installiert ist kann mit

getestet werden. Wenn dort eine Versionsangabe geliefert wird, ist alles ok.

Dann legen wir erst mal ein Testverzeichnis an und wechsel in das Verzeichnis:

Dann holen wir uns in das Verzeichnis eine unbekannte Flugzeug.class Datei (der Quellcode ist hier zu finden):

Diese Datei wollen wir nun disassemblieren, mit

Schon bekommen wir alle gewünschten Informationen:

Nun schauen wir uns mal alle Möglichkeiten an: „Mit dem Raspberry Pi den Java Class File Disassembler (javap) aufrufen“ weiterlesen

Wie können in WordPress BPMN 2.0 Dateien angezeigt werden?

Dazu gibt es ein kleines WordPress Plugin mit Namen bpmn.io.
Die Anleitung zu dem bpmn.io Plugin ist hier zu finden.

Hier ein Beispiel meiner aktuellen Urlaubsplanung als BPMN 2.0. Man kann mit der Maus in das Bild klicken und über das Mausrad größer und kleiner scrollen.

[bpmn url=“http://blog.wenzlaff.de/wp-content/uploads/2016/08/transpazifik-kreuzfahr-2016.bpmn“ height=“250px“]

Habe ich was vergessen?

Wie können SDKarten auf einem Mac OS X mit f3x (als Alternative zu h2testw) überprüft werden?

Manche SDKarten die im Raspberry Pi laufen, hinterlassen den Eindruck, das sie defekt sind. Das kann man aber auch mit einem Mac überprüfen. Nachdem die SDKarte in den Kartenleser gesteckt wird, kann für den ersten Test, erst einmal die Karte gelöscht werden.

Dazu das Festplattendienstprogramm aufrufen. Dann links, unter den Punkt APPLE SD Card Reder die darunter liegende SDKarte selektieren und oben in der Menüleiste auf Löschen klicken.

feestplattendienstprogram

Dann als Format „MS-Dos-Dateisystem (FAT) “ wählen und auf den Button „Sicherheitsoptionen“ klicken.

optionen festplattendienstprogrammHier können jetzt die Anzahl der Löschversuche eingestellt werden. Hier für einen ausführlichen Test, den Schieber ganz nach links schieben. Das heißt es wird 7 Mal gelöscht.

sicherheitAuf OK, klicken und dann auf „Löschen„. Das kann dann für eine 16 GB SDKarte schon mal 3 Stunden dauern.

Während des löschen, kann auch parallel dazu die Aktivitätsanzeige gestartet werden. Wenn keine anderen aufwendigen Schreib/Lese Aktivitäten laufen, kann die Geschwindigkeit der Karte abgelesen werden:

aktivitätHier bei mir zw. 9-11,4 MB/s das ist für eine Class 10 Karte ok.

Wen das alles ohne Fehler läuft, ist der erste Test der Karte schon mal ok. Hier mal das Ergebniss:

Ergb. Erg. 2

Dann gibt es noch ein kostenloses externes Programm mit GUI für den Mac, welches alle Sektoren der Karte beschreibt und wieder einließt. Das f3x Programm:

f3x

Da kann einfach die SDKarte ausgewählt werden und auf „Start Test“ geklick werden. Der Download des Programmes geht hier.

Wenn alles OK ist, gibt das Programm diesen Dialog aus:

Bildschirmfoto 2016-07-26 um 17.06.29

Ich bevorzuge aber das Kommandozeilen Programm f3 da bekommt man dann eine schöne Logdatei bei dem Aufruf:

./log-f3wr 16-GB-SDKarte-.log /Volumes/SDKARTE/

Fritzbox Telefonbuch (Phonebook) mit Java bearbeiten via JDom und SAXBuilder

Wer eine Fritzbox hat, kann dort auch Telefonbücher anlegen, so das beim Anruf eine E-Mail versendet wird. Bei mir wird bei Anruf auch eine Pushover Nachricht auf das Handy gesendet und der Name und die Nummer mit openHAB via Karotz angesagt, so das ich schon hören kann, wer anruft.

fritz
Das läuft über das openHab Fritzbox 064 Binding ganz gut. Von dem Bindig wird aber bisher nur das erste Telefonbuch aus der Fritzbox ausgelesen. Wer ein anderes benutzt muss die Daten exportieren und in dem ersten Telefonbuch wiederherstellen, da es keine löschen Funktion in der Fritzbox gibt.

Bei mir war noch das Problem, das viele Telefonnummern (über 600) Blanks, Bindestriche und Klammern enthielt. Z.B. (0)511-123 456 und die wird bisher in dem Binding nicht erkannt. Deshalb habe ich einen kleinen Konverter geschrieben, der alle Blanks, (,),- löscht und auch alle Nr. die kein +49 haben und mit 0 beginnen mit dem gültigen prefix +49 ohne 0 ergänzt. Weitere Regeln können leicht angepasst werden.

In diesem Java Programm, kann man auch sehen, wie mit einem SAXBuilder ein JDom Dokument erzeugt gelesen und verändert werden kann. Hier das Programm: „Fritzbox Telefonbuch (Phonebook) mit Java bearbeiten via JDom und SAXBuilder“ weiterlesen