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

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

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

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

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 ;-).

Aktuellste Node.js v9.5.0 Version mit npm v5.6.0 auf den Raspberry Pi mit Debian Sketch in 10 Minuten installieren

Für NodeRED und auch so braucht man manchmal die aktuellste Version der JavaScript-Laufzeitumgebung Node.js und npm. Da die Raspberry Pi unterschiedliche Packages brauchen, ist es wichtig, das man sich von hier die richtige Version lädt.

Zuerst schauen wir mal, was wir für einen Pi wir überhaupt habe mit:

„Aktuellste Node.js v9.5.0 Version mit npm v5.6.0 auf den Raspberry Pi mit Debian Sketch in 10 Minuten installieren“ 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

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

MESZ, MEZ, UT, UTC, GMT – Raspberry Pi: Wie kann die Sommerzeit bzw. Winterzeit überprüft und die Zeitzone gestellt werden?

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

„MESZ, MEZ, UT, UTC, GMT – Raspberry Pi: Wie kann die Sommerzeit bzw. Winterzeit überprüft und die Zeitzone gestellt werden?“ weiterlesen

Wie wird ein Multi-Channel ACARS Decoder auf einem Raspberry Pi Zero W mit Software Defined Radio (SDR) installiert?

Flugzeuge senden nicht nur transponder Daten im Bereich von 1090 MHz via ADS-B die mit Dump1090 empfangen werden können.

Auch ACARS Daten auf ca. 130 MHz (3 Meter Band). Auch diese können mit eine Software Radio und eine kleinen Raspberry Pi Zero W empfangen werden. Diese ACARS Meldungen enthalten diverse Infos, wie aus dieser Mindmap hervorgeht:

Vorraussetzung ist ein frisch installiertes Debian Raspbian Stretch Lite Version 2017-08-16 und das ein rtl_test -t ohne Fehler auf der Konsole durchläuft. Das heißt, ein RTL-SDR Software Radio ist erfolgreich installiert. „Wie wird ein Multi-Channel ACARS Decoder auf einem Raspberry Pi Zero W mit Software Defined Radio (SDR) installiert?“ weiterlesen

Raspberry PI: OpenHab2 mit: „Failed to fetch http://dl.bintray.com/openhab/apt-repo2/dists/stable/main/binary-armhf/Packages 405 Not Allowed“

Beim sudo apt-get update kommt nun dieser Fehler:

W: Failed to fetch http://dl.bintray.com/openhab/apt-repo2/dists/stable/main/binary-armhf/Packages 405 Not Allowed
E: Some index files failed to download. They have been ignored, or old ones used instead. „Raspberry PI: OpenHab2 mit: „Failed to fetch http://dl.bintray.com/openhab/apt-repo2/dists/stable/main/binary-armhf/Packages 405 Not Allowed““ weiterlesen

Datei mit Sonderzeichen in Dateinamen läßt sich nicht per FTP löschen

Manchmal lädt man mehrere Dateien hoch, und es ist einem nicht immer bewußt, das auch im 21. Jahrhundert Umlaute zu Problemen führen können.

Wer z.B. eine Datei mit Namen „Testdatei für Umlauttest.txt“ mit einem FTP Client wie z.B. File Zilla auf einen Server hochlädt, der keine Serverunterstüzung für Nicht-ASCII-Zeichen hat, erhält nach dem upload den folgenden Dateiname:

Da der upload klappt und man keine Fehlermeldung erhält, merkt man es nicht immer.

Dann passen später die Links auf diese Datei uä. nicht, oder man verwendet den „richtigen“ Dateinamen.

Ein weiteres Problem. Man kann diese Datei mit dem FTP Client nicht mehr löschen. Wenn man es versucht, kommt die Fehlermeldung: „Datei mit Sonderzeichen in Dateinamen läßt sich nicht per FTP löschen“ weiterlesen

Suche alle Dateien rekursive mit Umlaute im Dateiname auf Win, Mac, Linux und Raspberry Pi und liefere die Anzahl

Manchmal will man oder muss man alle Dateien, die einen Umlaut im Dateinamen haben ermitteln. Mir ging es so, als in der Dropbox Dateien mit Umlauten bei einem Programm bei der Synchronisation Probleme machte.

Dann sollte das auch noch auf Mac OS X, Windows, Linux und auf einen Raspberry Pi mit Debian laufen. Also mal ein kleines Java Programm geschrieben, das alle Dateien mit Umlaute (äöüÖÄÜ) im Dateinamen und auch die Anzahl ausgibt.

Das Programm läuft unter Java, da es ab Version 1.7 eine neue Klasse SimpleFileVisitor gibt, von der man leicht erben kann habe ich die mal verwendet. Man kann aber auch selbst das Interface FileVisitor implementieren.

Einfach die Datei laden und das Zip-Archive entpacken. „Suche alle Dateien rekursive mit Umlaute im Dateiname auf Win, Mac, Linux und Raspberry Pi und liefere die Anzahl“ weiterlesen

Raspberry Pi Zero W: Wie kann ein Archive gelanden und der Inhalt angezeigt und dann entpackt werden?

Wie kann ein Archive aus dem Internet gelanden und der Inhalt angezeigt und dann entpackt werden?

Auf der Kommandozeile kann mit apt-get ein Archive geladen werden. Wir laden uns mal z.B. git:

Nach ein paar Sekunden habe wir im lokalen Verzeichnis das Archive git_1%3a2.1.4-2.1+deb8u2_armhf.deb oder neuer. „Raspberry Pi Zero W: Wie kann ein Archive gelanden und der Inhalt angezeigt und dann entpackt werden?“ weiterlesen

Raspberry Pi Zero W ohne Passwort mit Public RSA Key über SSH vom Mac aus zugreifen

Wenn man vom Mac aus auf einen entfernten Raspberry Pi (Zero W) zugreifen will, kann man das auch ohne jedesmal ein Passwort eingeben zu müssen. Dafür kann das Public RSA Key Verfahren verwendet werden.

Dazu muss auf dem Pi ein .ssh Verzeichnis mit einer authorized_keys Datei angelegt werden:

Dann in der /etc/ssh/sshd_config des Pi die folgenden Einträge setzen:

Dann den SSH Service restarten und in der Konsole bleiben.

Dann einmalig auf dem Mac einen RSA Key mit der Größe von 2048 anlegen.

Dazu bin ich in das .ssh Verzeichnis gewechselt und habe einen Key nur für die Pis ohne Passwort wie folgt angelegt:

Bei der Nachfrage nach einem Passwort, einfach nur Enter eingeben.
Da ich mehrere Keys in Verwendung habe, habe ich den Key in einer neuen Datei gespeichert, z.B. pi_id_rsa
Es werden nun zwei Dateien generiert, die pi_id_rsa mit dem privaten Key und die pi_id_rsa.pub mit dem public key.

Da mein default Key im Mac ein anderer ist, habe ich in der ~/.ssh/config Datei des Macs, wie hier schon mal beschrieben, um den folgenden Eintrag IdentityFile mit dem Namen für den privaten Key für die Verwendung des eben generierten Key und nicht des default Keys eingetragen:

Weitere Optionen zur ~/.ssh/config gibt es in der umfangreichen Referenz.

Jetzt noch den Key vom Mac auf den Pi kopieren damit er in der ~/ssh/authorized_keys Datei eingetragen wird, dazu in das ~/.ssh Verzeichnis wechseln und:

Jetzt von einer anderen Konsole testen ob alles läuft.

Wenn das Anmelden mit:

ohne Passwort nachfrage klappt ist alles ok. Sonst in der anderen Konsole fixen, sonst sperrt man sich selbst aus.

Habe ich was vergessen?

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

MP3 und WAV Dateien mit einem Raspberry Pi über Bluetooth (Drahtlos) abspielen

Für meinen Raspberry Pi brauche ich nun eine Sprachausgabe da Karotz gestorben ist. Ich habe noch einen < 5 Euro Bluetooth Speaker aus der China-Bucht liegen. So ein Teil:

Denn wollte ich nun drahtlos anbinden.

Dazu verwende ich für den Raspberry Pi den folgenden Bluethooth USB-Adapter, denn ich schon mal mit Fhem angebunden hatte.

Das ist schnell gemacht! „MP3 und WAV Dateien mit einem Raspberry Pi über Bluetooth (Drahtlos) abspielen“ weiterlesen

Raspberry Pi Flugstatistik mit collectd, rrd und dump1090-tool

Wer schöne Grafiken zum Thema Flug-Transponder-Empfang erstellen will, kann das sehr einfach machen. Es werden dann im Browser, z.B. solche Diagramme angezeigt:

rrd flug statistik mit collectd
Es gibt ein gutes Install-Script (Thanks Ted Sluis) mit dem geht die Installation auf einem Raspberry Pi Debian Jessie sehr einfach. Auch ein Install-Video ist auf der Seite zu finden.

Einfach diese Befehle absetzen: „Raspberry Pi Flugstatistik mit collectd, rrd und dump1090-tool“ weiterlesen

Update des Raspberry Pi mit PiAware von 2.1 auf 3.5.3 und Bing Map einstellen

Bin nun wieder von meiner Weltreise zurück. In der zwischenzeit gab es einige Updates.

Es gibt eine neue Version von PiAware mit der Nummer 3.5.3 Deshalb diese Version laden und gleich das ganze System updaten:

Dann auch gleich dump1090-mutability_1.15~dev neu erstellen und installieren: „Update des Raspberry Pi mit PiAware von 2.1 auf 3.5.3 und Bing Map einstellen“ weiterlesen

Auf der Suche, warum der Cubieboard mit Debian Jessie nach ein paar Tagen abstürzt. Teil 3: Workaround tägliches rebooten

Habe nun mal ein anders Netzteil verwendet, aber auch nach 3 Tagen ist der Cubi wieder abgestürzt. An der Stromversogung kann es also wohl nicht liegen!

Dann habe ich mir mal den Speicherverbrauch angeschaut, da ich die Vermutung hab, das der Apache2 oder die Mysql den Speicher vollaufen lassen und es zu einem Speicherüberlauf mit Absturz kommt.

Ich habe nun mal Testweise einen CRON Job angelegt, der einmal am Tag ein Reboot durchführt, in der Hoffnung das er dann länger als 3 Tage läuft. Das behebt zwar nicht die Ursache, aber wenn es läuft ist das mal ein Workaround (siehe Bild mit der Telefonzelle) … 😉

Der Cron-Job kann wie folgt angelegt werden und zwar mit root Zugang:

und in der letzten Zeile folgenden Eintrag ergänzen. „Auf der Suche, warum der Cubieboard mit Debian Jessie nach ein paar Tagen abstürzt. Teil 3: Workaround tägliches rebooten“ weiterlesen

Wie wird der openHAB Designer 1.8.3 für einen Mac optimal installiert mit Freigaben für einen Raspberry Pi?

Damit man die OpenHAB Konfigurationsdateien einfach bearbeiten kann, gibt es den openHAB Designer (aktuelle Version 1.8.3). Der kann von dieser Seite für den Mac, Linux oder Windows kostenlos geladen werden. Diese Datei dann installieren.

Tip: Erscheint bei der Installation bei Mac OS X eine Fehlermeldung: „… das Archive bzw. das Programm ist defekt und soll in den Papierkorb verschoben werden…“

fehlermeldung

liegt es daran, das das Archive nicht signiert ist. Dann wählen Sie „Apple“ > „Systemeinstellungen“

systemeinstellung

und klicken Sie auf „Sicherheit“ und danach auf „Allgemein“ für die App zulassen.

dialog

Dann noch einmal versuchen, und es müsste laufen. Die Einstellung kann dann wieder zurück gesetzt werden, wenn der Designer einmal erfolgreich gestartet wurde.

Den openHAB Designer nun starten, es erscheint eine schöne auf Eclipse basierende GUI.

Da der openHAB Server auf einem Raspberry Pi läuft, muss das OpenHAB Konfigurationsverzeichnis /etc/openhab/configurations noch Freigegeben werden um vom Mac aus darauch zuzugreifen. Zu dem openHAB Designer erst mal eine Mindmap

openhab designer mindmap „Wie wird der openHAB Designer 1.8.3 für einen Mac optimal installiert mit Freigaben für einen Raspberry Pi?“ weiterlesen

Raspberry Pi: Fix bash_completion Error nach ssh login

Nach dem ssh Login, kommt bei mir diese oder ähnliche Fehlermeldungen auf der Konsole:

Wie können die Fehler gefixt werden?
fix
Einfach das bash_completion Package neu installieren mit:

Schnell und einfach!

Wegen schönen Wetters wird die Antenne mal draußen montiert. Wie ist der Empfang mit dem Raspberry Pi in HAJ (EDDV)?

juhu-flugzeuge

Normalerweise habe ich die Antenne drinnen. Da es heute aber so schön ist, wird sie mal draußen angebracht

aussen-antenne

und schon ist der Empfang fast doppelt so groß und fast 300 Km weit:

super-empfang mit aussenantenne

oder hier

empfang mit aussenantenne

Hier auf Twitter kann jeder in Echtzeit mit 5 Minuten Verzögerung die Anzahl ablesen, da ein Raspberry Pi über node-red die Ergebnisse postet: