Will man *.deb Archive bzw. Programme auf dem Raspberry Pi installieren gibt es mind. zwei Möglichkeiten:
1. Installation ohne Abhängigkeiten
dpkg löst die Abhängigkeiten der zu installierenden Pakete nicht automatisch auf. Installiert man daher ein Paket, das von anderen abhängt, so kommt es zu Fehlermeldungen. Hier ein Beispiel mit dem twkaffee-0.0.1.deb, das für Testzwecke hier geladen werden kann.
Build Pipeline mit YAML Script zum erzeugen eines *.deb Archives mit Maven für Debian auf Raspberry Pi.
Oder wie kann man ein *.deb Archive mit Maven Plugin erzeugen?
Oder wie verpackt man ein JAR in ein deb Archive, um es einfach auf einem Raspberr Pi zu installieren?
Oder wer braucht ein Template für das erzeugen von Maven Artefacten mit einer automatischen Pipeline in GitLab?
Oder wie validiere ich die Build-Scripte der Build-Pipeline?
Auf diese ua. Frage gibt dieser Blog-Artikel Auskunft.
Wir wollen eine Build-Pipeline mit mehreren Javaversionen, test und build bzw. deploy erstellen. Hier der Flow der Pipeline:
Vor ein paar Tagen hatte ich die Auswertung zum Kaffeeverbrauch gepostet. Die Daten werden ja online von einem meiner Raspberry Pi erfasst. Gestern der Beitrag zu der Frage: Wann der 1. Kaffee des Tages gekocht wird.
Heute habe ich mal gefragt, um welche Uhrzeit wird bei uns eigentlich der letzte Kaffee am Abend gekocht? Man soll ja vor dem zu Bett gehen nicht noch viel Kaffee trinken.
Die Antwort im Durchschnitt um 15:14 Uhr. Der gemessene Zeitraum ist fast 2 Jahre mit über 500 Messwerte. Hier dazu die Grafik mit der Uhrzeit als Y Wert. X ist die Anzahl der Messungen (Tage). Die rote Linie der Mittelwert.
Gestern hatte ich die Auswertung zum Kaffeeverbrauch gepostet. Die Daten werden ja von einem meiner Raspberry Pi erfasst.
Heute habe ich mal gefragt, um welche Uhrzeit wird bei uns eigentlich der 1. Kaffee gekocht? Die Antwort im Durchschnitt um 6:54 Uhr. Der gemessene Zeitraum ist fast 2 Jahre mit über 500 Messwerte. Hier dazu die Grafik mit der Uhrzeit als Y Wert. X ist die Anzahl der Messungen (Tage)
Habe ja schon einige Artikel über die Erfassung des Kaffee قهوة verbrauches mit dem Raspberry Pi geschrieben. Jetzt aber mal eine kleine Auswertung nach 612 Tage oder fast 2 Jahren. Erfasst wurden 2467 Tassen an 555 Tagen. Das macht einen Durchschnitt von etwas mehr als 4 Tassen Kaffee pro Tag die gekocht wurden, Tendenz steigend, aber nicht nur von mir getrunken wurde. Hier die ganzen Messwerte.
Details zum Aufbau mit Pushover benachrichtigung siehe in diesen Artikel.
Hier dazu etwas Javacode:
// Erster Eintrag
// 2017-04-05 17:20:41 UTC 1 1
// Letzter Eintrag
// 2018-12-09 11:43:37 UTC 2423 7
long anzahlTage = ChronoUnit.DAYS.between(kaffeeItems.get(0).getErstelltAmLokal(),
kaffeeItems.get(kaffeeItems.size() - 1).getErstelltAmLokal());
System.out.println("--------------------");
// gehe über den Tag solange der nächste gleich ist
int tage = 0;
int summe = 0;
for (int i = 0; i < kaffeeItems.size() - 1; i++) {
if (kaffeeItems.get(i).getErstelltAmLokal().getDayOfMonth() != kaffeeItems.get(i + 1).getErstelltAmLokal()
.getDayOfMonth()) {
System.out.println(kaffeeItems.get(i));
tage++;
summe += kaffeeItems.get(i).getAnzahlKaffeeAsInt();
}
}
System.out.println("--------------------");
System.out.println("Summe: " + summe + " Durchschnitt: " + summe / tage + " Tassen Kaffee pro Tag");
System.out.println("Anzahl Tage: " + tage);
System.out.println("Anzahl der Tage die gemessen wurden: " + anzahlTage);
Heute vor 20 Jahren, am 1.12.1998 ging die Domain wenzlaff.de zum ersten mal ans Netz. Wie die Zeit vergeht.
Es war eine statische Webseite mit Freeware und Sprüche Datenbank mit Newsletter und einigen C++ und Java Programmen zum kostenlosen Download aus meiner Hand. Hier ein etwas unvollständiges Bildschirmfoto, mehr habe ich leider nicht mehr gefunden:
Aber auch schon lange vor dieser Zeit, hatte ich eine Homepage, die aber dann auf den Servern der UNI-Bremen kostenlos gehostet wurde. Da hatte ich als Informatiker einen Zugang mit Akustikkoppler mit 300 Baud und Lochkarten hatten wir da auch noch. Das war wenigstens etwas zum anfassen, batches mit Lochkarten schreiben, cool!
Und es gab keine Werbung im Internet.
Die schöne alte Zeit. Und in der Zwischenzeit gab es immer mal neue Technologie. Vom statischen html zum xhtml und JavaScript über einen eigenen Java html Generator mit Templates bis heute zu den Content-Management-System mit eigener Datenbank.
Bis heute konnte ich auch auf dieser Webseite immer auf Werbung verzichten. Juhu …
Wie soll es weiter gehen? Gibt es noch Themen nach über 1000 Beiträgen? Ideen habe ich noch genug, was fehlt ist die Zeit!
In diesem Sinne, vielen Dank an alle Leser und für das viele Feedback (die über 1000 Kommentare mit Kommentarfunktion habe ich ja abgeschaltet…DSGVO läßt grüßen) das auch nach wie vor erwünscht ist, aber eben über E-Mail 😉
Bisher hatte ich alle öffentlichen Repositorys in GibHub liegen. GitHub ist nun aber an Microsoft verkauft worden. Wenn das kein Grund ist, das nächste Repo mal in GitLab anzulegen. GitLab hat auch den Vorteil, das private Repos kostenlos sind und …
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
Shell
1
du-a.|sort-n-r|head-n3
Das kann man sich aber schwer merken. Deshalb legen wir uns ein bash Alias an mit:
Shell
1
aliasdudrei='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:
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:
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 😉
Manchmal möchte man per Script (sh, bash) eine Datenbank mit User anlegen.
Das geht mit diesem Script:
Shell
1
sudo mysql-uroot-pPASSWORT<<EOFCREATE 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.
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.
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:
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.
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!
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.
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!
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:
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?
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:
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 foruser pi at/home/pi
Thiscan take20-30minutes 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.0Npm5.6.0
Clean npm cache✔
Install Node-RED core✔0.18.7
Move globalnodes tolocal-
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 ordirectory
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
orusing the icon under Menu/Programming/Node-RED
Thenpoint your browser tolocalhost:1880orhttp://{your_pi_ip-address}:1880
Started Mon25Jun21:19:56CEST2018-Finished Mon25Jun21:32:32CEST2018