Weil heute Sonntag ist: Java CO2 MQTT Client

Weil heute Sonntag ist. „Freut euch immer„! Nun ein kleiner Java CO2 MQTT Client um auch auf allen Betriebssystemen mit Java die CO2 Daten zu empfangen. Nicht nur für den Raspberry Pi auch Mac und Windows (ungetestet;-)).

Das selbstausführende JAR laden (siehe unten) und starten mit:

java -jar TWCo2Monitor-0.0.1-SNAPSHOT-jar-with-dependencies.jar [PI-Rechner Name/Adresse]

Hier mal eine Ausgabe auf einem Raspberry Pi W Zero:

Der MQTT Client besteht nur aus ein paar Zeilen Java Code: „Weil heute Sonntag ist: Java CO2 MQTT Client“ weiterlesen

CO2-Messsystem mit Raspberry Pi und MQTT und NodeRed

Wir wollen nun mal ein CO2-Messsystem mit dem MH-Z19B aufbauen und die CO2-Konzentrationen mit einem Raspberry Pi einlesen und per MQTT an eine NodeRed-Installation senden. Parallel dazu werden die Daten noch in einer CSV-Datei geschrieben für Langzeitauswertungen. Wenn der Grenzwert von 1000 ppm erreicht ist, wird noch eine Pushover Nachricht an ein Handy gesendet, so das rechtzeitig gelüftet werden kann.

Hier die Architektur-Übersicht:

Installation „CO2-Messsystem mit Raspberry Pi und MQTT und NodeRed“ weiterlesen

„Crew Dragon“ erfolgreich von der ISS auf der Erde zurück – ISS Tracker to CSV – Vers. 3 – „Freut euch immer“

ISS Tracker to CSV für den Raspberry Pi – Vers. 3. Hier nun noch eine Möglichkeit die ISS Postion zu ermitteln und in CSV-Format zu übersetzen. In diesem Flow, ist das CSV-Ergebniss etwas anders. Jeder Satz besteht aus drei Zeilen siehe:

Hier noch die Einstellung für den Datei-Node „„Crew Dragon“ erfolgreich von der ISS auf der Erde zurück – ISS Tracker to CSV – Vers. 3 – „Freut euch immer““ weiterlesen

„Crew Dragon“ dockt eben von der ISS erfolgreich von der ISS ab

Teslas SpaceX-Astronauten sind nun von der ISS auf dem Rückweg zur Erde und werden heute Abend in Florida landen. Wer sich das live anschauen will, kann das über den live Stream der NASA um 20:48 Uhr tun.

Heimreise aus 400 Kilometern Höhe.

Mein Raspberry Pi trackt ja die Position der ISS wie hier berichtet.

Mit dem NodeRed-Flow wird ja ein Webservice für die Position verwendet und direkt abgefragt. Es gibt aber auch noch einen eigenen NodeRed Flow. Dieser Node, ist nicht defaultmäßig vorhanden und muss erst in NodeRed installiert werden (suche nach node-red-contrib-iss-location). Eine Code Analyse hat gezeigt, das der Node die gleiche OpenNoitify API abfragt. Die Parameter heißen bei der Rückgabe des Flows nur etwas anders: lon, lan, name (der name ist der Timestamp)

Hier nun der Code des Flow mit dem eigenen ISS Node (siehe Foto oben), der genau das gleiche tut wie der erste. Er schreibt die Positions-Daten der ISS in eine Datei im CSV-Format.

Und hier der ganze NodeRed-Flow zum importieren „„Crew Dragon“ dockt eben von der ISS erfolgreich von der ISS ab“ weiterlesen

Tracken der ISS mit dem Raspberry Pi und NodeRed über Open-Webservices

Mit einen einfachen NodeRed Flow wollen wir mal die ISS tracken.

Es gibt einen öffentlichen Open-Notify Web-Service der die Position der ISS liefert. Und auch wieviel Leute da im moment sind (zwei sind eben gegangen 2.7.2020).

Also mal eben einen kleinen NodeRed-Flow zusammen geklickt, der den Webservice alle 10 Sekunden abfragt und das Ergebniss in eine CSV-Datei auf dem Raspberry Pi speichern.

Der Webservice liefert das JSON Format, z.B.

und wird in das CSV Dateiformat umgewandelt: timestamp, longitude, latitude

Dann die Daten mal für eine Erdumrundung (= 93 Minuten) laufen gelassen und mit einer Visualisierung mit OpenStreetMap unterlegt:

Hier 4 Umrundungen:

Und hier mit Überflug am Horizont von Langenhagen:

Und hier der NodeRed-Flow „Tracken der ISS mit dem Raspberry Pi und NodeRed über Open-Webservices“ weiterlesen

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 … „Bluetooth Scann mit btscanner von einem Raspberry Pi mit Debian buster, es muss ja nicht immer Kali sein“ weiterlesen

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