Der Lärm geht so um 4 Uhr morgens los, wie man gut erkennen kann:
Meine Empfangsausrichtung der „Zimmerantenne“:
„Was empfängt der Raspberry Pi denn so in HAJ?“ weiterlesen

Wenzlaff.de – Rund um die Programmierung
mit Java, Raspberry Pi, SDR, Linux, Arduino, Sicherheit, Blender, KI, Statistik, Krypto und Blockchain
Alles was mit Hardware zu tun hat.
Der Lärm geht so um 4 Uhr morgens los, wie man gut erkennen kann:
Meine Empfangsausrichtung der „Zimmerantenne“:
„Was empfängt der Raspberry Pi denn so in HAJ?“ weiterlesen
Seit Java 7 gibt es den WatchService zum überwachen von Verzeichnissen auf System-Ebene. Der WatchService übernimmt direkt die Eventaufrufe des Betriebssystems und ist damit vergleichbar mit einem Low-Level-Event.
Damit kann man in ein paar Zeilen Code, zum Beispiel benachrichtigt werden, wenn eine neue Datei im Verzeichnis hinzugefügt wird.
Das wir mit der Konstanten StandardWatchEventKinds.ENTRY_CREATE angegeben. Es gib aber auch noch welche fürs löschen oder verändern. Die Konstanten können dann auch verknüpft werden.
Für die Verwendung muss das Package java.nio.file.* importiert werden. Hier der Beispiel Code, der das „input“ Verzeichnis des Users überwacht, der auch auf einem Raspberry Pi läuft 😉
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
String rootVerzeichnis = System.getProperty("user.dir"); Path inputPath = Paths.get(rootVerzeichnis, "input"); WatchService watchService = FileSystems.getDefault().newWatchService(); inputPath.register(watchService, StandardWatchEventKinds.ENTRY_CREATE); WatchKey key; while ((key = watchService.take()) != null) { for (WatchEvent<?> event : key.pollEvents()) { String neueDatei = event.context().toString(); // neueDatei enthält den Dateinamen der zugfügten Datei } key.reset(); } |
Manchmal möchte man per Script (sh, bash) eine Datenbank mit User anlegen.

Das geht mit diesem Script:
|
1 |
sudo mysql -u root -pPASSWORT << EOF
CREATE DATABASE DATENBANK-NAME;
CREATE USER 'USER-NAME'@'DOMAIN-NAME';
GRANT ALL PRIVILEGES ON DATENBANK-NAME.* TO 'USER-NAME'@'DOMAIN-NAME' IDENTIFIED BY 'USER-NAME';
EOF
|
Zu ersetzen ist der DATENBANK-NAME, USER-NAME, DOMAIN-NAME und das PASSWORT. Das Passwort ohne blank nach dem -p angeben. Dann klappt alles automatisch.
Wollte einen Git Tag signieren auf einem Raspberry Pi W Zero. Nach der Key Erzeugung (gpg –gen-key) schlug das signieren des git tags mit -s:
|
1 |
git tag -s v1.0.1 -m 'Erster signierter Tag' |
mit folgender Fehlermeldung fehl:
gpg: signing failed: Unpassender IOCTL (I/O-Control) für das Gerät
gpg: signing failed ioctl
Ein erster Test mit:
|
1 |
echo "test" | gpg --clearsign |
schlug auch fehlt. Eine Kontrolle der Config (.gitconfig) mit: „Raspberry Pi bricht beim signieren eines Git tags mit „gpg: signing failed: Unpassender IOCTL (I/O-Control) für das Gerät“ ab“ weiterlesen
In diesem Beitrag hatte ich beschrieben wie mp3 Dateien von 1-1000 erzeugt und kostenlos geladen werden können. Und hier hatte ich gezeigt, wie man offline mp3 und wav Dateien auf dem Raspberry Pi selbst erzeugen kann.
Hier nun alle mp3 Dateien mit dezimaler Ausgabe von 0,0 bis 100,0.
Hier wieder eine Testdatei zum anhören:
Download 15 MB als mp3-0-100-komma.zip.
In dem Beitrag vor ein paar Tagen, hatte ich gezeigt wie mit einem Online-Service mp3 Dateien erzeugt werden können. Dazu schrieb Fred (Vielen Danke für die Idee): „Warum nicht einfach auf dem Raspberrypi die mp3 oder wav Voice-Dateien selber erstellen?
Beispiel
|
1 |
pico2wave --lang=de-DE --wave=in.wav "Warum nicht einfach auf dem Raspberrypi die mp3 oder wav Voice-Dateien selber erstellen? Viele Grüße sagt die Eule. Hi hi hi ..." |
Das geht sehr einfach und ohne Online-Service der limitiert oder kostenpflichtig ist. Und die Qualität ist auch ganz gut. Hier eine Beispielausgabe im wav Format:
Das kann dann mit lame in mp3 umgewandelt werden, hier die Beispiel Datei: „Warum nicht einfach auf dem Raspberry Pi mp3 und wav Voice-Dateien mit pico2wave und lame selber erstellen? Oder 1000 wav und mp3 kostenlos downloaden?“ weiterlesen
Für ein Homeautomatisations Projekt mit Raspberry Pi, brauchte ich mp3 Dateien für die Ansage. Damit alles lokal läuft, und ich nicht die mp3 Dateien per Web jedesmal erzeugen bzw. laden muss, habe ich mal eben 1000 mp3 Dateien erzeugt. Jede mit dem jeweiligen Inhalt bzw. Ansage in deutsch in Mono mit 44khz in 16bit mit der Zahl aus dem Dateinamen. Jede Datei ist nur so um die 25 Kb groß.
Also alle Zahlen von 0 – 1000. Das Ergebnis ist hier nun kostenlos zum Downloaden in einer gezippten Datei mp3-1-1000.zip (14,8 MB).
Hier eine Hörprobe der 777.mp3 Datei:
Mit diesen Dateien, kann nun leicht eine Ansage von Systemdaten bzw. Temperaturen oder Flugdaten erfolgen.
Wie habe ich die nun alle erzeugt?
Mit der folgenden JUnit Methode:
|
1 2 3 4 5 6 7 8 9 10 11 |
@Test void textToMp3Text1000() { try { for (int i = 0; i < 1001; i++) { Konvert.textToMp3(API_KEY, i + ".mp3", "" + i); } } catch (Exception e) { System.err.println("Error: " + e.getMessage()); } } |
Hier die Konvert.java Klasse: „Kostenlose mp3 Dateien mit Inhalt 0 bis 1000 für die Ansage in deutsch mit voicerss.com und id3v2.“ weiterlesen
Vor vier Tagen ist die neue 0.19.2 Version von Node-Red für den Raspberry Pi veröffentlicht worden. Was es so neues gibt, kann man hier sehen. Die Liste ist lang!
Also mal eben ein „Node-RED für Raspberry Pi in neuer Version 0.19.2 veröffentlicht – δημοσιεύθηκε – опубликованный – 公表 – نشرت !“ weiterlesen
Wer keinen Raspberry Pi hat, kann sich das Image auch in der VM von VirtualBox installieren. So kann man auch alles ohne Pi austesten. Es gibt von der Raspberry Pi Foundation ein eigenes Image für PC und Mac dafür. Das Image basiert auf Debian Stretch Kernel Version: 4.9 Release Datum: 27.06.2018. Wie wird das nun installiert?
Zuerst das Image von der Download Seite laden. Das Laden der 2,4 GB dauer etwas.
Dann „Debian Raspberry Pi Desktop in VirtualBox VM installieren“ weiterlesen
So, der Fake News Generator wird nun abgeschaltet. Er lief nun lange genug auf einem Raspberry Pi mit NodeRED. Seit Februar 2018, wie hier beschrieben.
Es gibt genug Fake News, da brauchen wir nun keine automatisch generierten mehr mit NodeRED!
Hier die abschließende Auswertung der 2607 Fake News: „No Fake News more! 2607 Fake News from Raspberry Pi a enough!“ weiterlesen
Durch das Staubsaugen ist mein Raspbery Pi Dump1090 down gegangen. Aber nach 6 Stunden habe ich es gemerkt. Da kann man auch an den gelben Bereich unten links sehen:

Dann mal gleich auf den aktuellen Stand bringen und fixen:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
wget http://flightaware.com/adsb/piaware/files/packages/pool/piaware/p/piaware-support/piaware-repository_3.5.3_all.deb sudo dpkg -i piaware-repository_3.5.3_all.deb sudo apt-get update sudo apt-get upgrade sudo apt-get install piaware piaware -v # Ergebnis 3.5.3 # Dann auch gleich dump1090-mutability_1.15~dev neu erstellen und installieren, # da es da auch im Mai einen Fix gab (https://github.com/mutability/dump1090/issues/232), den ich noch nicht hatte cd /home/pi/dump1090-mutability/dump1090 # eine neue Version holen in dem Verzeichnis git pull sudo dpkg-buildpackage -b cd .. sudo dpkg -i dump1090-mutability_1.15~dev_armhf.deb sudo /etc/init.d/dump1090-mutability restart |
Ok, es läuft wieder
Zwischen Januar und Juni mit 2,76 Millionen Passagieren 7,8 Prozent mehr Menschen als im gleichen Zeitraum ein Jahr zuvor ldt. DPA. Wie sieht es im Moment in EDDV (HAJ) mit meinem Empfang aus?
Hier mal ein Jahr zurück:
Und hier der Polar Plot von Heute: „Transponder DUMP1090 empfang mit Raspberry PI: Flughafen Hannover zieht positive Bilanz положительный баланс“ weiterlesen
Manchmal braucht man für eine Präsentation oder ein Dokument farbige Beispiele von Quellcode oder auch für Dokus. Wie können die nun erstellt werden? Dafür gibt es ein cooles Programm highlight von Andre Simon. Highlight konvertiert Sourcecode in XHTML, HTML, RTF, TeX, LaTeX, SVG, BBCode und Terminal Escape-Sequenzen mit farbiger Syntaxhervorhebung. Sprachdefinitionen und Farbstile sind konfigurierbar. Es werden eine ganze Menge Sprachen unterstützt. Im Moment 215!
Auf dem Raspberry Pi ist das Programm schnell installiert mit:
|
1 2 3 4 5 6 7 8 |
sudo apt-get install highlight # Version ausgeben mit highlight --version # Ergebnis: highlight version 3.18 # Anleitung man highlight |
So, nun ein Beispiel, wir nehmen mal eine CPP Klasse aus meinen C++ Lehrgang, Temperatur.cpp, und geben die farbig auf der Konsole aus mit:
|
1 |
highlight -O ansi Temperatur.cpp |
Nun können wir auch die Ausgabe in eine Datei im RTF Format umleiten mit: „Syntaxhighlighter sagt der Daltonist 😉 Wie kann Quellcode (Java, C++, C …) in PPT oder Word in Farbe eingefügt werden?“ weiterlesen
NodeRED: „A visual tool for wiring the Internet of Things.“ Eine neue NodeRED Version 0.18.7 ist veröffentlicht worden. Was ist neu? Siehe hier. Sei Mutig! Update auf die neue Version.
Also zum updaten ein:
|
1 2 |
cd .node-red update-nodejs-and-nodered |
auf der Konsole eingeben und nach 13 Minuten, ist die neue Version installiert:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
Running Node-RED update for user pi at /home/pi This can take 20-30 minutes on the slower Pi versions - please wait. Stop Node-RED ✔ Remove old version of Node-RED ✔ Remove old version of Node.js - Update Node.js LTS ✔ Node v9.5.0 Npm 5.6.0 Clean npm cache ✔ Install Node-RED core ✔ 0.18.7 Move global nodes to local - Install extra Pi nodes - Npm rebuild existing nodes ✔ Add menu shortcut ✔ Update systemd script ✔ grep: /home/pi/.config/lxpanel/LXDE-pi/panels/panel: No such file or directory Update update script ✔ Any errors will be logged to /var/log/nodered-install.log All done. You can now start Node-RED with the command node-red-start or using the icon under Menu / Programming / Node-RED Then point your browser to localhost:1880 or http://{your_pi_ip-address}:1880 Started Mon 25 Jun 21:19:56 CEST 2018 - Finished Mon 25 Jun 21:32:32 CEST 2018 |
Wer Systeminfos ausgeben will, kann für viele Systeme neofetch verwenden. Auf dem Raspberry Pi ist es in einer Minute installiert mit:
sudo apt-get install neofetch
dann kann es mit neofetch gestartet werden:

Weitere Infos „Systeminfos mit Kommandline ausgeben mit neofetch – nicht nur auf dem Raspberry Pi“ weiterlesen
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
Was ist denn da bei Flightradar24 los? Mein Raspberry Pi Feed meldet:
Auch gestern diese E-Mail bekommen, und dachte es ist ein Fake, da auf der Homepage von Flightradar 24 nichts stand. „Raspberry Pi DUMP1090: Flightradar24 gehackt und Daten von 230.000 Nutzern abgezogen“ weiterlesen
Warum eigentlich nicht. Ist doch Java. Also mal ein Quicktest.
Java 1.8 und eine MySql DB (genauer Server version: 10.1.23-MariaDB-9+deb9u1 Raspbian 9.0, MariaDB ist schneller als MySQL) sind auf dem Pi schon installiert.
Das ist auch Voraussetzung.
Dann das mit
|
1 |
mvn package |
erzeugte Vaadin 8 Jar mit Tomcat Server auf den Pi per Drag and Drop kopiert (43 MB) und auf der Kommandozeile ein
|
1 |
java -jar TW-0.0.1-SNAPSHOT.jar & |
Nach ein paar Sekunden
es startet schon mal. „Läuft eine Vaadin 8 Anwendung auch auf einem Raspberry PI Zero W?“ weiterlesen
Hier hatte ich geschrieben, wie man Signale von Autos, Temp.-Sensoren usw. empfangen kann. Diese Daten können auch leicht an einen Mqtt-Host gesendet werden.
Mosquitto muss installiert sein, das geht aber schnell:
|
1 2 3 4 5 6 7 8 9 |
sudo apt-get update sudo apt-get upgrade sudo apt-get install mosquitto mosquitto-clients python-mosquitto libmodule-pluggable-perl mosquitto-clients # Check mosquitto -v # Ergebnis 1528405571: mosquitto version 1.4.10 (build date Fri, 22 Dec 2017 08:19:25 +0000) starting 1528405571: Using default config. 1528405571: Opening ipv4 listen socket on port 1883. |
Marco Verleu hat ein kurzes Bash Script geschrieben, welche auf Github zu finden ist. Man braucht nur den Host und den Topic anpassen, zu testzwecken kann man den Host auch lassen. Dann einfach das Script mit ./rtl2mqtt.sh starten. Schon werden die empfangenen Nachrichten unter den Topic versendet. „Wie können mit SDR (auf 433 Mhz) auf dem Raspberry Pi Signale von Autos, Tempsensoren ua. empfangen und an ein MQTT-Host gesendet werden?“ weiterlesen