Meine TOP 12 des 35c3

1. Smart Home – Smart Hack https://www.youtube.com/watch?v=urnNfS6tWAY

auch als Zusammenfassung von Heise https://www.heise.de/newsticker/meldung/35C3-Ueber-die-smarte-Gluehbirne-das-Heimnetzwerk-hacken-4259891.html

2. Venenerkennung hacken https://www.youtube.com/watch?v=FsZE6fyF26U

3. Gesundheits Apps und vivy: All Your Gesundheitsakten Are Belong To Us https://www.youtube.com/watch?v=82Hfh1AItiQ
„Meine TOP 12 des 35c3“ weiterlesen

Debian Package (*.deb) auf dem Raspberry Pi mit oder ohne Abhängigkeiten (zależności) installieren

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.

Das geht dann auch schneller als mit Abhängigkeiten „Debian Package (*.deb) auf dem Raspberry Pi mit oder ohne Abhängigkeiten (zależności) installieren“ weiterlesen

Build Pipeline mit YAML Script zum erzeugen eines *.deb Archives mit Maven und jdeb für Debian auf Raspberry Pi mit GitLab

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:

So sieht die Pipeline mit den drei Stages aus: „Build Pipeline mit YAML Script zum erzeugen eines *.deb Archives mit Maven und jdeb für Debian auf Raspberry Pi mit GitLab“ weiterlesen

Raspberry Pi: Um welche Uhrzeit wird immer der letzte Kaffee am Tag gekocht?

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.


Und weil ich Diagramme liebe, noch mal eins mit Punkten … „Raspberry Pi: Um welche Uhrzeit wird immer der letzte Kaffee am Tag gekocht?“ weiterlesen

Raspberry Pi: Der Kaffee (кофе) ist fertig

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


Jubiläum: 20 Jahre Homepage wenzlaff.de!

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 😉

Thanks Mindmap
Danke Mindmap

Wie kann auf einem Raspberry Pi angeschaut 觀看 werden, was in einem tar.gz Archive ist?

Wie kann angeschaut werden, was in einem Archive ist? Mit tar.


Z.b.

tar -tvf das-tar-archive.tar.gz

-t = listet den Inhalt eines Archivs auf
-v = verbose (ausführlich), listet verarbeitete Dateien ausführlich auf
-f = file, verwendet Archivdatei oder Geräte-ARCHIV
„Wie kann auf einem Raspberry Pi angeschaut 觀看 werden, was in einem tar.gz Archive ist?“ weiterlesen

Raspberry Pi FreeMarker Java and Maven Project goes to 去 يذهب إلى GibLab and not to GitHub

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 …

Also das FreeMarker-Maven-Java-Projekt nach GitLab hochladen.

Was etwas suche und Anpassung benötigte, war der CI-Prozess. Aber wenn man die Syntax der .gitlab-ci.yml kennt, geht es mit zwei Zeilen.
Also einen Docker-Container mal mit Java 11 und Maven, wie folgt erstellt: „Raspberry Pi FreeMarker Java and Maven Project goes to 去 يذهب إلى GibLab and not to GitHub“ weiterlesen

Raspberry Pi bricht beim signieren eines Git tags mit „gpg: signing failed: Unpassender IOCTL (I/O-Control) für das Gerät“ ab

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:

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:

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

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?

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

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

Syntaxhighlighter sagt der Daltonist ;-) Wie kann Quellcode (Java, C++, C …) in PPT oder Word in Farbe eingefügt werden?

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:

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:

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

Raspberry Pi: 0.18.7: Maintenance Release update für NodeRED vor ein paar Wochen erschienen, jetzt aber mal updaten …

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:

auf der Konsole eingeben und nach 13 Minuten, ist die neue Version installiert:

„Raspberry Pi: 0.18.7: Maintenance Release update für NodeRED vor ein paar Wochen erschienen, jetzt aber mal updaten …“ weiterlesen

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

Läuft eine Vaadin 8 Anwendung auch auf einem Raspberry PI Zero W?

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

erzeugte Vaadin 8 Jar mit Tomcat Server auf den Pi per Drag and Drop kopiert (43 MB) und auf der Kommandozeile ein

Nach ein paar Sekunden

es startet schon mal. „Läuft eine Vaadin 8 Anwendung auch auf einem Raspberry PI Zero W?“ weiterlesen

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?

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:

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

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

Filtern von doppelten Nachrichten in NodeRED auf einem Raspberry Pi

Wie können doppelte Nachrichten gefiltert werden? Manchmal will man das eine Nachricht nur einmal versendet wird, auch wenn sie innerhalb einer bestimmten Zeit nochmal mit dem gleichen Wert versendet wird. Das geht mit dem deduplicate Node. Wenn der mit npm i node-red-contrib-deduplicate installiert wurde, kann er wie folgt eingesetzt werden:

Rechts im Debug Fenstern kann man auch am Zeitstempel sehen, das die Test-Nachricht nur einmal ausgegeben wird, auch wenn man innerhalb von 5 Sekunden mehrmals klickt. Die Zeit kann in den Eigenschaften angepasst werden: „Filtern von doppelten Nachrichten in NodeRED auf einem Raspberry Pi“ weiterlesen

Raspberry Pi: 0.18.5: Maintenance Release update für NodeRED mit Flow zum Abfragen des Sonnen.- bzw. Mond.- auf und untergang

NodeRED: „A visual tool for wiring the Internet of Things.“ Eben ist eine neue NodeRED Version 0.18.5 veröffentlicht worden. Was ist neu? Siehe hier. Sei Mutig! Update auf die neue Version.

Also zum updaten ein:

auf der Konsole eingeben und nach ein paar Minuten (20-30 min), ist die neue Version installiert:

„Raspberry Pi: 0.18.5: Maintenance Release update für NodeRED mit Flow zum Abfragen des Sonnen.- bzw. Mond.- auf und untergang“ weiterlesen

Wie können 433 Mhz Signale von PKWs (Reifen, Zentralveriegelung) per MQTT auf einen Raspberry Pi auswertet werden?

In diesem Blogbeitrag hatte ich schon mal beschrieben, wie man mit einem Softwarenradio Temperatursensoren und Luftruck von Autoreifen (TPMS) uä. auf 433,92 Mhz empfangen kann. So kann man alle Autos über die Reifensensoren oder aber auch über die Schließanlangen tracken, da immer eine eindeutige ID versendet wird.

Datenschutz läßt grüßen.

Die Empfangsanlage steht mit Sicht auf die Straße, da für 433 Mhz nur die maximal zulässige äquivalente Strahlungsleistung von 10 mW ERP für die Funkanwendungen mit geringer Reichweite (SRD) verwendet werden darf.

Hier der Aufbau, mit Leistungsmessung und Accu. „Wie können 433 Mhz Signale von PKWs (Reifen, Zentralveriegelung) per MQTT auf einen Raspberry Pi auswertet werden?“ weiterlesen