Um ein deb Package mit dem Raspberry Pi zu erstellen müssen ein paar Vorraussetzungen erfüllt werden.
1. Bash Variablen setzen „Wie kann mit dem Raspberry Pi ein deb-Package (Debian) erstellt werden?“ weiterlesen
Wenzlaff.de – Rund um die Programmierung
mit Java, Raspberry Pi, SDR, Linux, Arduino, Sicherheit, Blender, KI, Statistik, Krypto und Blockchain
Alles rund um Linux
Um ein deb Package mit dem Raspberry Pi zu erstellen müssen ein paar Vorraussetzungen erfüllt werden.
1. Bash Variablen setzen „Wie kann mit dem Raspberry Pi ein deb-Package (Debian) erstellt werden?“ weiterlesen
Wie können auf einem Raspberry Pi die 3 größten Dateien in einem Verzeichnis rekursiv ausgeben werden? Z.B. aus dem aktuellem Verzeichnis mit
1 |
du -a . | sort -n -r | head -n 3 |
Das kann man sich aber schwer merken. Deshalb legen wir uns ein bash Alias an mit:
1 |
alias dudrei='du -a . | sort -n -r | head -n 3' |
Das wird aber nach einem restart vergessen. Deshalb tragen wir diese Zeile in der ~/.bash_aliases Datei ein. Wenn es sie noch nicht gibt, legen wir sie an mit diesem Inhalt:
1 2 |
# Gib eine Liste der 3 größten Dateien aus alias dudrei='du -a . | sort -n -r | head -n 3' |
Schon können wir auch nach einem Restart dudrei eingeben und erhalten die 3 größten Dateien im Verzeichnis, z.B. „Wie können auf einem Raspberry Pi die 3 größten Dateien in einem Verzeichnis rekursiv ausgeben werden? Oder wie können alias angelegt werden?“ weiterlesen
Hier mal ein iframe der Transponderdaten aus Hannover. Diese Daten werden von einem Raspberry Pi an das opensyk-network gesendet. Einfach mal ein Flugzeug anklicken, um die Flugbahn zu sehen:
Mit git config kann man sich leicht den tree eines Git-Repositorys in ASCII-Form
1 2 3 4 5 |
,d88b.d88b, 88888888888 `Y8888888Y' `Y888Y' `Y' |
anzeigen lassen.
Das geht z.B. mit log und ein paar Parameter: „Grafische ASCII-Anzeige 顯示 eines Git-Trees“ weiterlesen
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
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
Wer auf seinem Linux Rechner bei z.B. eingabe man dir eine englische Anleitung erhält, und das gerne auch in deutsch haben möchte, kann einfach die Manpages auf deutsch nachinstallieren. Das geht in einer Minute mit:
„Raspberry Pi Linux: Manpages auf deutsch in einer Minute installieren“ weiterlesen
Wenn man Kali Linux in einer VirtualBox VM installieren will, geht das mit dem OVA Image sehr einfach und ist in 10 Minuten erledigt, wenn das Image schon auf der Festplatte geladen ist und VirtualBox installiert ist (siehe dazu einen vorhergehenden Blogeintrag auf dieser Seite).
Das OVA Format enthält alle benötigten Einstellungen. Eine OVA Datei ist der gezipte OVF Verzeichnis Inhalt mit Beschreibungs Dateien (.ovf), Manifest (.mf) Dateien und Virtual Maschinen State Dateien (*.vhd, *.vmdk).
Wenn die VirtualBox installiert ist, kann das Kali Image hier im OVF Format geladen werden. Dazu auf den zweiten Reiter „Kali Linux VirtualBox Images“ gehen und die Datei laden:
Wie kann Oracle VM VirtualBox Manager installiert werden? Damit wir dann ein Ubuntu Linux VM oder Debian erstellen können.
Von der http://www.oracle.com Seite die passende Version laden, in diesem Fall für Mac OS X (Windows geht auch).
Dann auch gleich noch das Oracle VM VirtualBox Extension Pack weiter unten auf der Seite für alle Plattformen laden. „Wie kann der Oracle VM VirtualBox Manager auf Mac OS X (oder Windows) installiert werden?“ weiterlesen
Wer das Kali Linux installiert (Linux kali 4.15.0-kali2-amd64 #1 SMP Debian 4.15.11-1kali1 (2018-03-21) x86_64 GNU/Linux oder auch jede andere Version 😉 ) hat,
findet den Hinweis: „These images have a default password of “toor” and may have pre-generated SSH host keys.“.
Das heißt, das alle Image mit dem gleichen Passwort und dem gleichen SSH Host Key installiert werden.
Das muss man dann gleich als erstes ändern. Das Passwort für Root ist schnell mit passwd auf der Konsole geändert:
Auch die SSH Host Keys sind schnell erneuert, einfach auf der Konsole, die alten in ein backup Verzeichnis verschieben: „Wie können in Kali Linux die SSH Host Keys und das Passwort von Root erneuert werden?“ weiterlesen
Raspberry Pi Tankstellenvergleich wurde bisher stündlich erfasst und per NodeRED versandt, so wie hier mal beschrieben! So wurden 19907 Einträge erzeugt. Da wird nun von mir gespart!
Hier der Flow:
Der wurde jetzt umgestellt, so das nur auf Anforderung noch eine Abfrage erscheint. Hier die aktuellen Werte:
„Raspberry Pi Tankstellenvergleich nicht mehr stündlich, 19907 Einträge sind genug!“ 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
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
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
1 2 3 4 5 6 7 8 |
traceroute wenzlaff.de traceroute to wenzlaff.de (81.169.145.80), 30 hops max, 60 byte packets 1 home (x.x.x.x) 1.647 ms 1.675 ms 2.276 ms 2 x.x.x.x (x.x.x.x) 10.776 ms 10.113 ms 9.227 ms 3 f-ed3-i.F.DE.NET.DTAG.DE (62.154.14.138) 16.637 ms 16.677 ms 16.472 ms 4 xe-3-0-1.atuin.as6724.net (62.157.249.198) 16.257 ms 16.188 ms 16.091 ms 5 vl481.fiddlersriddle.as6724.net (81.169.144.121) 16.120 ms 16.333 ms 17.368 ms 6 w80.rzone.de (81.169.145.80) 17.462 ms 18.176 ms 18.442 ms |
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:
1 2 3 4 5 6 7 8 9 10 11 |
wenzlaff.info@pi-zero:/home/pi $ mtr -h usage: mtr [--help] [--version] [-4|-6] [-F FILENAME] [--report] [--report-wide] [--displaymode MODE] [--xml] [--gtk] [--curses] [--raw] [--csv] [--json] [--split] [--no-dns] [--show-ips] [-o FIELDS] [-y IPINFO] [--aslookup] [-i INTERVAL] [-c COUNT] [-s PACKETSIZE] [-B BITPATTERN] [-Q TOS] [--mpls] [-a ADDRESS] [-f FIRST-TTL] [-m MAX-TTL] [-U MAX_UNKNOWN] [--udp] [--tcp] [--sctp] [-P PORT] [-L LOCALPORT] [-Z TIMEOUT] [-G GRACEPERIOD] [-M MARK] HOSTNAME See the man page for details. |
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
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:
1 2 3 4 5 6 7 8 9 10 11 |
--- wenzlaff.de ping statistics --- 268 packets transmitted, 268 received, 0,00% packet loss, time 5137,5ms RTT[ms]: min = 14, median = 18, p(95) = 27, max = 30 --- wenzlaff.info ping statistics --- 268 packets transmitted, 268 received, 0,00% packet loss, time 5264,1ms RTT[ms]: min = 15, median = 18, p(95) = 28, max = 31 --- kleinhirn.eu ping statistics --- 268 packets transmitted, 268 received, 0,00% packet loss, time 5279,7ms RTT[ms]: min = 15, median = 18, p(95) = 28, max = 31 |
Alle Befehle gibt es mit
„Besser als ping ist noping auf dem Raspberry Pi“ weiterlesen