8×8 LED mit max7219 auf einen Raspberry Pi mit python sagt „Freut euch allezeit“

Hatte noch eine 8×8 LED mit Treiber liegen. Die wollte ich mal an den Raspberry Pi anklemmen und über die Kommandozeile ansteuern.

Die Hardware ist mit 5 Drähten schnell verbunden:

Verwendet habe ich den Luma.LED_Matrix: Display drivers for MAX7219, WS2812, APA102. Den Kommandozeilen Wrapper gab es noch nicht. Also dann mal los … Mal wieder etwas python3 programmieren … „8×8 LED mit max7219 auf einen Raspberry Pi mit python sagt „Freut euch allezeit““ weiterlesen

Video zum 10-millionsten Download der Corona-Warn-App: Bluetooth Scann mit dem Raspberry Pi für Wireshark

Hier mal ein 6 Minuten live Video zum 10-millionsten Download der Corona-Warn-App. Ein Bluetooth Scann mit dem Raspberry Pi für Auswertung mit Wireshark …

Das Script „Video zum 10-millionsten Download der Corona-Warn-App: Bluetooth Scann mit dem Raspberry Pi für Wireshark“ weiterlesen

Raspberry Pi Bluetooth bluez: Bluetooth protocol stack updaten

Auf meinem Pi (bplus) lief die Version 5.5. Aus gegebenen Anlass (Covid-Warn-App) wollte ich mal die neueste Version installieren.
covid-19- corona-warn-app
Also mal bluez neu compiliert und installiert. Aber nur für den der weiß was er macht (experimental).

Sonst auf das Debian-Update warten 😉

Update von 5.5 auf 5.54 von bluez.org mit folgenden Anpassungen: „Raspberry Pi Bluetooth bluez: Bluetooth protocol stack updaten“ weiterlesen

Bluetooth Scann mit btscanner von einem Raspberry Pi mit Debian buster, es muss ja nicht immer Kali sein

Wir wollen mal alle Bluetooth Geräte im Umkreis Scannen, ohne sich mit mit den Geräten zu pairen. Es werden so schon genug Infos geliefert um ein Device zu tracken. Also nur an eigenen Geräten testen. Wir verwenden dazu den btscanner. Der wird wie folgt beschrieben:

Wenn das nichts ist. Infos ohne pair! Aber nur für die Weiterbildung!

Btscanner
Btscanner

Wenn der noch nicht installiert ist:

sudo apt-get install btscanner

Dann brauchen wir eine USB-Bluetooth-Adapter im Raspberry Pi, wie auch hier schon beschrieben. Dann schauen wir, ob alles richtig konfiguriert ist.

hciconfig

Ergebnis ungefähr:

Dann noch mal …
sudo hciconfig hci0 up

damit UP RUNNING PSCAN geliefert wird. Dann können wir schon den btscanner starten:

sudo btscanner

In dem Dialog geben wir dann ein i ein um den Abfrage-Scann zu starten. Nach einiger Zeit werden die gefundenen Geräte angezeigt.
Wie hier mein Bluetooth-Lautsprecher:

Dann auf die selektierte Zeile und die ENTER-Taste, dann gibt es mehr Infos:

Wie die BT Version, der Name des Gerätes und die Adresse. Hier mal von einem Apple Handy:

und die Details…

Mit der b-Taste kann auch ein bestimmter Adress-Bereich gescannt werden. Mit der q-Taste geht es zurück. Beenden geht nur auf die harte Art, Control-c.

Zum 10-millionsten Download der Corona-Warn-App mal ein Bluetooth Scann mit dem Raspberry Pi und Wireshark

Zum 10-millionsten Download der Corona-Warn-App hatte ich mal Interesse an Bluetooth. Da die Corona-Warn-App mit Bluetooth arbeitet und der Quellcode und Doku auf github zu finden ist. Also erst mal eine Mindmap zum Thema Bluetooth:

Danke Dr.Kleinhirn.eu für die Erlaubnis zur Veröffentlichung der Mindmap

Dann fangen wir mal ganz einfach an mit ein Bluetooth-Scann mit dem Raspberry Pi und Auswertung der Daten mit Wireshark. Wir brauchen nicht viel. Einen Raspberry Pi und eine Bluetooth USB Stick und 1-2 Stunden Zeit. Ich habe z.B. diesen Bluethooth-USB-Adapter verwendet:

Erst mal das Rasbian-Linux-System updaten und ein paar Programme installieren, wenn sie nicht schon vorhanden sind: „Zum 10-millionsten Download der Corona-Warn-App mal ein Bluetooth Scann mit dem Raspberry Pi und Wireshark“ weiterlesen

Wie kann die aktuelle Git Version auf einem Raspberry Pi installiert werden?

Git kann einfach in ein paar Minuten auf einem Raspberry Pi installiert werden mit:

Das reicht für die meisten. Dann hat man aber nicht die aktuellste Version, die derzeit 2.26.2 ist. Wer aber z.B. experimentelle Befehle wie switch ausprobieren will, kann sich in 2 Stunden selbst auf einen Raspberry Pi Zero eine Version zusammen bauen.

Hier kann man die aktuellste Version sehen https://github.com/git/git/releases:

Wie kann die aktuelles Git Version auf einem Raspberry Pi installiert werden? Hier die Schritte: „Wie kann die aktuelle Git Version auf einem Raspberry Pi installiert werden?“ weiterlesen

Installieren des kostenlosen Static-Website-Generator von GitHub: Jekyll auf einem Raspberry Pi Zero

Jekyll baut statische HTML-Webseiten anhand von einfachen Textdateien, die eingelesen werden. Dabei handelt es sich um Layout-Dateien und Inhaltsdateien. Jekyll generiert aufgrund der Layout-Vorlagen die statischen HTML-Webseiten. Das funktioniert sogar live während der Entwicklung, da Jekyll einen eigenen Server mitbringt.

Jekyll ist auf einem Raspberry Pi schnell installiert. Jekyll läuft unter Ruby und bietet eine Menge importer.

Dann musste ich noch in der Datei Gemfile.lock die Version i18n (1.8.2) setzen und in der Gemfile den Eintrag gem „jekyll“ machen.

Dann habe ich auch noch den Importer installiert: „Installieren des kostenlosen Static-Website-Generator von GitHub: Jekyll auf einem Raspberry Pi Zero“ weiterlesen

Raspberry Pi: NO_PUBKEY 3F01618A51312F3F

Da vor ein paar Tagen der öffentliche Schlüssel für das gitlab.com Repo geändert wurde, kommt es beim apt-get update evl. zu diesem Fehler:

W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https://packages.gitlab.com/gitlab/raspberry-pi2/debian jessie InRelease: Die folgenden Signaturen konnten nicht überprüft werden, weil ihr öffentlicher Schlüssel nicht verfügbar ist: NO_PUBKEY 3F01618A51312F3F
W: Fehlschlag beim Holen von https://packages.gitlab.com/gitlab/raspberry-pi2/debian/dists/jessie/InRelease Die folgenden Signaturen konnten nicht überprüft werden, weil ihr öffentlicher Schlüssel nicht verfügbar ist: NO_PUBKEY 3F01618A51312F3F
W: Einige Indexdateien konnten nicht heruntergeladen werden. Sie wurden ignoriert oder alte an ihrer Stelle benutzt.

(c) 2020 K. Wenzlaff – mit freundlicher Genehmigung

Was kann bei dieser Fehlermeldung gemacht werden? „Raspberry Pi: NO_PUBKEY 3F01618A51312F3F“ weiterlesen

Gibt es mehr Zugriffe auf wenzlaff.de durch covid-19 bzw. SARS-CoV-2?

Gibt es mehr Zugriffe auf wenzlaff.de durch covid-19? Das hat mich mal interessiert. Also mal die Logs dieser Domain ausgewertet. Normal gibt es so ca. 60000 Zugriffe (hits) pro Tag. Mal abgesehen von den paar Tagen im Januar, wo es ca. 100000 gab:

Ein Anstieg ist tatsächlich zu beobachten. Siehe roten Kasten. Aber nicht so groß wie ich erwartet habe. Mal sehen was noch kommt. Bleibt Gesund! Haltet Abstand! Und nutzt den Raspberry Pi und fast hätte ich es vergessen „Freut Euch immer“.

Corona Dashboard mit NodeRed erstellen

Auf meinem Raspberry Pi läuft NodeRed. Damit kann man schnell eine Coron-Dashboard für Deutschland (oder jedes andere Land) erstellen. Es wird jede Stunde aus den Daten des CSSE via REST-API https://covid19.mathdro.id/api/confirmed gespeist.

Dafür einmalig die GUI Elemente installieren über: npm install node-red-dashboard oder

Dann diese Nodes zusammenklicken:

oder von hier importieren: „Corona Dashboard mit NodeRed erstellen“ weiterlesen

Covid-19 NodeRED Ticker an Pushover und Twitter – update


Da sich die REST-API geändert hat (Danke Timo), (Deutschland ist nun auf Platz 4 oder jetzt auf 3) hier das Update:

Hier nun die Version, die nach dem Namen und nicht mehr nach einem fixen Index der Reihenfolge sucht.

Hier der ganze Code: „Covid-19 NodeRED Ticker an Pushover und Twitter – update“ weiterlesen

Covid-19 Live-Ticker für Deutschland mit Raspberry Pi und Node-RED via Twitter

Wer die Covid-19 Daten per Twitter als Online-Ticker für Deutschland haben will, kann mit dem Raspberry Pi und Node-RED den folgender Flow verwenden. Es werden jede Stunde die aktuellen Werte abgefragt, und bei Änderung per Twitter versendet. Hier der nötige Flow:

So sieht der Twitter Eintrag aus, er kann auch für alle Länder angepasst werden:

Hier der nötige Quellcode: „Covid-19 Live-Ticker für Deutschland mit Raspberry Pi und Node-RED via Twitter“ weiterlesen

Wie können live Covid-19 Daten per Node-RED an Twitter und Pushover gesendet werden?


Wie können die Covid-19 Daten der Johns Hopkins CSSE über die JSON-Api https://covid19.mathdro.id/api in einem Node-RED Flow integriert werden, so das automatisch eine Pushover Nachricht an das Handy versendet wird. Auch ein autom. Tweet an Twitter ist schnell gemacht. Auf einem Raspberry Pi läuft dafür Node-RED.

Hier der Node-RED Flow, der dafür nötig ist:

Und hier die Debug-Nachrich die ausgegeben wird:
„Wie können live Covid-19 Daten per Node-RED an Twitter und Pushover gesendet werden?“ weiterlesen

Wie kann die Anzahl verfügbarer CPU-Prozessoren (Kerne) der Java virtuelle Maschine (VM) per Java abgefragt werden?

Wie kann die Anzahl verfügbarer CPU-Prozessoren (Kerne) der Java virtuelle Maschine (VM) per Java abgefragt werden? Das geht mit einem Java-Einzeiler:

int availableProcessors = Runtime.getRuntime().availableProcessors();

Die unterschiedlichen Raspberry Pi Modelle haben einen Kern: „Wie kann die Anzahl verfügbarer CPU-Prozessoren (Kerne) der Java virtuelle Maschine (VM) per Java abgefragt werden?“ weiterlesen

Internet Adressen bzw. Links in Excel-Dateien in 5 Minuten überprüfen mit dem de.wenzlaff.linkchecker

Manchmal hat man in einer Excel-Tabelle eine oder mehrere Spalten mit Internet-Adressen (URLs) deren Gültigkeit man überprüfen will, da viele Adressen sich doch schnell ändern. Dh. ist die Adresse noch erreichbar oder ist eine ungültige Adresse (Broken Links) eingegeben. Man könnte nun einen VB-Macro schreiben der das tut, oder aber das de.wenzlaff.linkchecker Programm starten, das eine Spalte in einer Excel-Datei automatisch validiert und alle nicht erreichbaren bzw. falschen Adressen ausgibt. So kann mit einen Aufruf die ganze Datei überprüft werden.

Das wollen wir mal an einem Beispiel auf einem Raspberry Pi ausführen. Das würde analog natürlich auch auf Windows oder einem Mac laufen.

Wir haben diese Excel Testdatei. Die 3. Spalte, also Spalte C enthält Internet-Adressen die alle überprüft werden sollen. Alle anderen Spalten sind nicht relevant. Die Excel-Datei wir auch nicht verändert.

Voraussetzung ist, das auf dem Rechner Java installiert ist. Also ein java -version muss eine gültige Version >= 8 liefern und wer den aktuellen SNAPHOT holt, braucht mind. Java 11: „Internet Adressen bzw. Links in Excel-Dateien in 5 Minuten überprüfen mit dem de.wenzlaff.linkchecker“ weiterlesen

Neues „abgeschirmtes“ Brillen-Gehäuse mit Magnetverschluss für eine Raspberry Pi Zero W für lau

Der Raspberry Pi Zero W wohnte ja seit über einem Jahr in einem Duschbad und dient als GIT-Server auf USB-Stick ua.

Ein Nachteil war, das das Gehäuse nicht lichtdicht ist und das Flackern der LED sichtbar war. Also muss er da nun ausziehen: „Neues „abgeschirmtes“ Brillen-Gehäuse mit Magnetverschluss für eine Raspberry Pi Zero W für lau“ weiterlesen

Dork mit sqliv auf dem Raspberry Pi unter Debian

Eine Google-Dork-Abfrage (oder Bing, …) beziehungsweise abgekürzt ein Dork ist eine spezielle Suchabfrage, die fortgeschrittene Parameter von Suchmaschinen wie Google, Bing usw. nutzt, um Informationen aus einer Webseite herauszufiltern, die anders nicht so leicht verfügbar wären. Dazu gehören auch Informationen, die nicht für die Öffentlichkeit gedacht sind und die nur unzureichend geschützt wurden.

Google-Dorking ist ein passiver Angriff, mit dem sich Nutzernamen, Passwörter, E-Mail-Adressen, geheime Dokumente, private Finanzdaten und Sicherheitslücken auf Webseiten herausfinden lassen.


Mit dem sqliv ist es leicht solche Abfragen zu automatisieren.

Wie kann das Python-Script auf Debian (wozu Kali 😉 installiert werden: „Dork mit sqliv auf dem Raspberry Pi unter Debian“ weiterlesen

Für SQL Injection, Penetration Testing und mehr den sqlmap auf dem Raspberry Pi in 5 Minuten installieren

Für SQL Injection, Penetration Testing und mehr kann der sqlmap auf dem Raspberry Pi in 5 Minuten installiert werden. Es muss ja nicht immer Kali-Linux sein. Auch auf einem Debian geht es einfach mit:

sudo apt-get install sqlmap

und schon kann es los gehen:

splmap -h

„Für SQL Injection, Penetration Testing und mehr den sqlmap auf dem Raspberry Pi in 5 Minuten installieren“ weiterlesen

Zigbee CC2531 mit neuer Firmware vom Raspberry Pi aus flashen ohne CC Debugger

Um das CC2531 auch ohne CC Debugger neu zu flashen, gehen wir wie folgt vor.

Wiring Pi installieren

Wir benötigen auf dem Raspberry Pi die wiringpi zum ansteuern der GPIO-Ports

sudo apt-get install wiringpi

Nach der Installation testen wir mit gpio -v es muss diese Ausgabe kommen:

Wenn eine Fehlermeldung kommt, wie bei mir, da zwei der Raspberry Pis nicht unterstüzt wurden, erst fixen.

CC2531 an Pi

Die vier Drähte anlöten und mit dem Pi wie folgt anschließen:

Flasher installieren

„Zigbee CC2531 mit neuer Firmware vom Raspberry Pi aus flashen ohne CC Debugger“ weiterlesen

NodeRed Flow Pollenflug-Gefahrenindex des DWD per Pushover vom Rasberry Pi versenden

Im Rahmen seines gesetzlichen Auftrags stellt der DWD seine Wetter- und Klimainformationen entgeltfrei auf dem Open Data-Server https://opendata.dwd.de bereit. Fuer den Zugang ist keine Registrierung notwendig. Es gelten die Nutzungsbedingungen unter: https://www.dwd.de/copyright. Also alle frei zugänglichen Geodaten und Geodatendienste dürfen entsprechend der „Verordnung zur Festlegung der Nutzungsbestimmungen für die Bereitstellung von Geodaten des Bundes (GeoNutzV) unter Beigabe eines Quellenvermerks ohne Einschränkungen weiterverwendet werden.

Die Infos werden in einer JSON Datei bereitgestellt. Der Aufbau wird hier beschrieben. Dann erstellen wir mal einen NodeRed Flow der den Pollenflug-Gefahrenindex täglich per Pushover an das Handy versenden kann. In dem Beispiel wird nur der Wert für Niedersachsen und Birke und Hasel verwendet. Auch wird nur eine Meldung versendet wenn der Wert sich ändert. In den nächste Monaten wird wohl auch nicht viel an Pollen fliegen, wie die Statistik zeigt. Was die Werte bedeuten, geht aus dieser Tabelle hervor.

So sieht der NodeRed Flow aus:

Hier noch ein Auszug der JSON-Daten: „NodeRed Flow Pollenflug-Gefahrenindex des DWD per Pushover vom Rasberry Pi versenden“ weiterlesen

Filtern eines JSON Objekt per REST Request von einem Raspberry Pi in einen Wert per NodeRed transformieren

Wenn man REST Services abfragt, bekommt man oft viele Werte. Wie kann man nur einen davon leicht per NodeRed filtern?

Diesen Flow erstellen:

Hier mal ein Beispiel eines JSON-Objekt mit mehreren Werten. Wir wollen da die Temperatur Filtern. „Filtern eines JSON Objekt per REST Request von einem Raspberry Pi in einen Wert per NodeRed transformieren“ weiterlesen

Swagger-UI in 5 Minuten auf einen Raspberry Pi einem Quarkus Projekt hinzufügen!

Für die Entwicklung von REST APIs ist die Swagger-UI sehr hilfreich.

Ok, dann wollen wir mal in einem Quarkus Projekt eine Swagger-UI hinzufügen. Das geht mit einem Befehl, da Quarkus einen guten Plugin Mechanismus hat:

./mvnw quarkus:add-extension -Dextensions=“openapi“

Nach 27 Sekunden kommt das Build Success:

So, das wars schon. Nun noch die Anwendung starten mit „Swagger-UI in 5 Minuten auf einen Raspberry Pi einem Quarkus Projekt hinzufügen!“ weiterlesen

In unter 5 Minuten auf einem Raspberry Pi Zero eine Java Quarkus REST Anwendung mit JUnit-Test neu erstellen und starten!

Wenn Java 8 und ein aktuelles Maven auf dem Raspberry Pi installiert ist, kann man in unter 5 Minuten eine komplette REST-Anwendung mit statischer Webseite erstellen und starten. Die dann sogar Hot Reloading fähig ist. Das geht in drei Schritten und das sogar auf einem Raspberry Pi Zero:

Freut euch immer

1. Ein neues leeres Verzeichnis erstellen und dahin wechseln:

2. Mit folgenden Maven Kommando ein Maven Projekt in ca. 30 Sekunden erstellen

3. Das Projekt compilieren und starten in ca. 40 Sekunden mit:

Wenn der Server gestartet ist kann im Browser das Servlet aufgerufen werden mit:

http://[PI-ADRESSE]:8080/info

Ergebnis: hello

4. Nun wollen wir in einem anderen Kommondozeilen-Fenster in das Verzeichnis „In unter 5 Minuten auf einem Raspberry Pi Zero eine Java Quarkus REST Anwendung mit JUnit-Test neu erstellen und starten!“ weiterlesen

Wie kann die aktuellste Maven Version 3.6.2 auf dem Raspberry Pi installiert werden?

Mit einen sudo apt-update oder sudo apt update && sudo apt install maven bekommt man unter stretch nicht die neueste Version sondern nur 3.3.9-4. Aber man kann sie auch von der Binär-Version installieren.

1. Die aktuelle Version von der Maven-Seite holen.

wget http://mirrors.ae-online.de/apache/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar.gz

2. Das Archive entpacken nach /opt

cd /opt && sudo tar -xzvf /home/pi/apache-maven-3.6.2-bin.tar.gz

3. Der Shell für alle User die neue Version mitteilen

sudoedit /etc/profile.d/maven.sh

mit diesem Inhalt

export M2_HOME=/opt/apache-maven-3.6.2
export „PATH=$PATH:$M2_HOME/bin“

Speichern und

4. Die Shell neu starten, damit das Profil-Script ausgeführt wird und die Version checken:

mvn -version

Ok, es wird die neue Version ausgegeben: