nmon 16g für CPU, Speicher, Netzwerk, Disk, Top … es muss ja nicht immer top (htop) sein

Auch für den Raspberry Pi gibt es ein Systemtool nmon analog zu top.

Es ist schnell installiert mit

oder wie weiter unten beschrieben in aktuellster Version selbst compiliert.

Das starten des Kommandozeilen Tools geht dann mit Aufruf von nmon:

“nmon 16g für CPU, Speicher, Netzwerk, Disk, Top … es muss ja nicht immer top (htop) sein” weiterlesen

Rasbperry Pi Zero W in 2 Minuten pimpen, aufpeppen, tunen (optisch) verbessern, aufblasen (ugs.), aufbohren (ugs.), aufmöbeln (ugs.), aufmotzen (ugs.), aufpolieren (ugs.), frisieren (ugs.), pimpen (ugs.)

In dem Projekt: “Raspberry Pi in a Bottle” oder ein neues Zuhause für den Pi Zero von gestern, hatte ich beschrieben, wie der Pi ein neues Gehäuse bekommen kann. Das kann man leicht pimpen, aufpeppen, tunen (optisch), verbessern, aufblasen (ugs.), aufbohren (ugs.), aufmöbeln (ugs.), aufmotzen (ugs.), aufpolieren (ugs.), frisieren (ugs.) oder pimpen (ugs.). Einfach vorsichtig mit dem Cuttermesser waagerecht leicht unter der Beschriftung einritzen und den Aufkleber entfernen. Der ist nur geklebt.

Der Aufwand: 2 Minuten.

Hier das Ergebnis, rechts sieht man die Stomleitung und den rausgeführten USB Anschluss:

Sieht doch besser aus, oder?

Projekt: “Raspberry Pi in a Bottle” oder ein neues Zuhause für den Pi Zero mit Kernel update 4.13 (4.14) in ca. 30 Minuten

Warum immer teure Gehäuse kaufen? Es kann auch vorhandenes Material verwendet werden und eine weitere Verwendung zugeführt werden. Oder? Das hatte ich schon mal für das iPhone Stativ hier beschrieben.

Nach langer Planung und Architekturüberlegungen in der Badewanne ist nun folgende Ergebnis realisiert worden.

Ok, hier nun die Anleitung. Wir brauchen:

-Raspberry Pi Zero W
-Apothekers duchbad orange & vanille 200ml
-Cuttermesser
-Optional etwas Tesafilm

Wir nehmen das “leere” Duschbad in der roten Apothekers Version:

Trenne den Pi vom Strom. Legen den Pi Zero neben der Verpackung und zeichnen die Größe an:


“Projekt: “Raspberry Pi in a Bottle” oder ein neues Zuhause für den Pi Zero mit Kernel update 4.13 (4.14) in ca. 30 Minuten” 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

TWPlotter: Java Wasserfall Diagramme Generierung von rtl_power erzeugten CSV-Dateien

Mit rtl_power kann man via SDR alle Frequenzen scannen. Die Scann CSV-Ergebniss-Dateien können dann mit gopow in schöne Wasserfall Diagramme umgewandelt werden. Hier mal den Ablauf als BPMN 2.0

Hier ein Beispiel:

Das gopow Programm wollte ich mal in Java 8 schreiben, um auch selbst die Farben usw. beeinflussen zu können. Und auch um mal neue Funktionen von Java 8 zu benutzen. Auch kann das gopow auf dem Raspberry Pi nicht mit sehr großen Dateien umgehen. Die Scann Dateien können aber auch einige 100 MB groß sein. “TWPlotter: Java Wasserfall Diagramme Generierung von rtl_power erzeugten CSV-Dateien” 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

GPIO Schnittstelle: Mit WiringPi in 15 Minuten auf die GPIO Ports des Raspberry Pi zugreifen – Teil 3

Mit der wiringpi kann man leicht auf die GPIO Ports des Raspberry Pi zugreifen. Mit den Pins kann man dann leicht Hardware steuern. Auf dem Blog gibt es eine gute ausführliche Anleitung. Das will ich nicht wiederholen, sondern hier geht es darum wie man mit C++ auf die GPIO zugreifen kann. Obwohl man auch in 15 Minuten nach Installation der wiringpi Api die GPIO über Bash Scripte oder Python ansprechen kann.

Hier nun die nötigen Vorarbeiten um C++ mit wiringpi machen zu können. Es sind dort auch einige C Beispiele im Repo. Dazu aber später mehr.

Entweder man installiert das Package mit

oder wie hier nun beschrieben über Git die neueste Version und compiliert es selber mit dem Ausführen des build Scriptes. Das ist hier beschrieben da wir das als API für die C++ Programmierung brauchen.
“GPIO Schnittstelle: Mit WiringPi in 15 Minuten auf die GPIO Ports des Raspberry Pi zugreifen – Teil 3” weiterlesen

In 15 Minuten zum eigenen C++ Programm zum ausgeben der Systemtemperatur des Raspberry Pi Zero W – Teil 2

In der ersten Lektion haben wir in 15 Minuten gesehen wie wir checken können ob C++ auf dem Raspberry Pi installiert ist und haben unser 1. eigenes C++ Programm auf dem Pi mit der Kommandozeile erstellt, compiliert und ausgeführt.

Nun wollen wir auf dem Pi, in 15 Minuten die erste Klasse erstellen, da wir ja Objektorientiert programmieren wollen. Dazu erstellen wir mit dem vi ein einfache Klasse zum ausgeben der Temperatur des Pi.

Wir nennen die Klasse Temperatur. Damit wir nicht alles in einer Datei haben, erstellen wir für jedes Objekt eine eigene Datei. Also zuerst die Deklaration in der Temperatur.h:
“In 15 Minuten zum eigenen C++ Programm zum ausgeben der Systemtemperatur des Raspberry Pi Zero W – Teil 2” weiterlesen

rtl_433 für den Raspberry Pi selbst compilieren um Temperatursensoren und Luftruck von Autoreifen (TPMS) uä. auf 433,92 Mhz zu empfangen

Wer eine Wetterstation hat, die auf 433,92 Mhz sendet kann die Daten empfangen. Oder wer keine hat, kann die von den Nachbarn mitbenutzen. Dazu reicht ein kleiner Raspberry Pi Zero W. Auf dem ein rtl_433 Programm läuft.

Voraussetzung:

rtl-sdr muss installiert sein, das hatte ich hier im Block aber schon mal beschrieben. Mit dem Empfänger kann man nicht nur Flugzeug-Transponder empfangen, sondern auch Kühlschränke, Wetterstationen und Autoreifen (Luftdruck, The tire pressure monitoring system (TPMS))…

Also wir müssen uns den Quellcode aus Git holen und das Programm selbst compilieren: “rtl_433 für den Raspberry Pi selbst compilieren um Temperatursensoren und Luftruck von Autoreifen (TPMS) uä. auf 433,92 Mhz zu empfangen” weiterlesen

Sicherheit: gpg (GnuPG) Key Verwaltung mit pass auf dem Raspberry Pi oder sonst wo oder cooler kostenloser Passwort Manager für Raspberry Pi

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

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

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. 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 können Realtime ACARS Nachrichten in Eclipse Oxygen Konsolen View ausgeben werden?

Evl. möchte man ACARS Daten die von einem Raspberry Pi (W Zero) geliefert werden, wie hier berichtet, auch in einer Eclipse View auf einen anderen Rechern mit Mac OS X, Linux oder Windows anzeigen. Dann hat man alles immer im Auge 😉

Wie können also Realtime ACARS Daten, die von einem Raspberry Pi geliefert werden, in der Eclipse (Oxygen) Konsolen View ausgegeben werden?

Dafür habe ich einen kleinen ACARSConsoleViewer geschrieben der die Daten in Echtzeit auf der Konsole ausgibt. Die Zeiten werden so wie vom Server angezeigt, sie sind im UTC Format, also in Deutschland mit Sommerzeit 2 Stunden zurück. Der Viewer lauscht an Port 5555 und wartet auf eintreffende ACARS Meldungen via verbindungslosem UDP.

“Wie können Realtime ACARS Nachrichten in Eclipse Oxygen Konsolen View ausgeben werden?” weiterlesen

Wie wird ein acarsserv Server mit SQLite3 Datenbank zum speichern von ACARS Meldungen auf dem Raspberry Pi Zero W installiert?

Wer wie hier beschrieben ACARS Meldungen empfangen will, kann sie mit dem acarsserv Server auch in eine DB speichern. Dazu muss der acarsserv wie folgt compiliert und gestartet werden. Das holen des Quellcodes aus Git habe ich in diesen Blogeintrag beschrieben, und ist Vorraussetzung für das erstellen des Servers.

“Wie wird ein acarsserv Server mit SQLite3 Datenbank zum speichern von ACARS Meldungen auf dem Raspberry Pi Zero W installiert?” 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 Zero W Headless WLAN via SSH mit Raspbian Stretch Lite Version 2017-08-16

Bei der Raspbian Stretch Lite Version 2017-08-16 konnte bei mir kein WLAN starten.

Lösung:

Es muss eine leere ssh Datei und eine wpa_supplicant.conf mit folgenden Inhalt in das /boot Verzeichnis der SD-Karte kopiert werden, dann läuft auch die Anmeldung mit User pi und Passwort raspberry. Die beiden ersten Zeilen sind nun von Jessie auf Stretch hinzugekommen.

Weitere Details siehe hier und für den SSH hier zu finden.

Wie läuft Groovy auf dem Raspberry Pi, Mac OS X und Eclipse Oxygene? Super!

Als Java Entwickler verwendet man als Scriptsprache gern Groovy da sie auf der Java Virtual Machine ausgeführt wird. Groovy läuft auf fast allen Betriebssystemen und ist auch wie Java objektorientiert. Man kann die Klassen und Scripte auch leicht von Java aus aufrufen und umgekehrt.

Groovy - Mega - Stark
Groovy – Mega – Stark

Deshalb installieren wir mal Groovy mit sdkman.io und schreiben ein Groovy Script mit drei Zeilen welches einen Server startet und die Systemumgebung im Browser ausgibt:

Hier die TestServer.groovy Datei:

“Wie läuft Groovy auf dem Raspberry Pi, Mac OS X und Eclipse Oxygene? Super!” weiterlesen

Jenkins Pipeline optimieren mit parallele Ausführung auf dem Raspberry Pi

In diesem Blog Beitrag hatte ich gezeigt, wie man auf einem Raspberry Pi einen aktuellen Jenkins installieren kann.

Nun möchte ich mal zeigen, wie Aufgabe parallelisiert werden können.

Parallelisieren von Jenkins Stages

Ein Jenkins Jobs der folgendes macht, soll mal als Beispiel dienen, um parallele Pipeline zu demonstrieren.

Ein einfacher Job der

  • Flugdaten aus Hannover abfragt
  • mein Kaffee verbrauch ermittelt
  • Temperatur und Luftfeuchte in HAJ abfragt
  • Umweltdaten des Lufthygienisches Überwachungssystem Niedersachsen abfragt
  • meine drei Server per Ping 10 mal checkt
  • und das Ergebnis aller Abfragen per E-Mail versendet

Dazu das kleine Groovy Script, das die öffentlichen Daten abfragt, in den Job eintragen: “Jenkins Pipeline optimieren mit parallele Ausführung auf dem Raspberry Pi” weiterlesen

Wie können mit Jenkins 2.72 Pipelines rurociągi auf einen Raspberry Pi Zero W angelegt werden?

Frei nach Tim Bendzko (Jenkins):

“Ich bin doch eine Maschine!
Ich bin eine Maschine aus Bits und Bytes
Und ich will leben, bis zum letzten Zug
Ich bin eine Maschine mit all meinen Fehlern
Meiner Wut und der Euphorie
Bin eine Maschine,
ich leb’ von Volt und Spannung”
– (c) Thomas Wenzlaff

Wenn man Jenkins schnell installieren will, und die Version keine Rolle spielt, dann geht es mit

wie hier schon mal beschrieben.

Wer aber eine neue Version 2.7 mit Pipelines testen will, muss wie folgt vorgehen. “Wie können mit Jenkins 2.72 Pipelines rurociągi auf einen Raspberry Pi Zero W angelegt werden?” weiterlesen