Betriebssystem abhängige Tests :-( – EnabledOnOs oder DisabledOnOs für JUnit 5

Seit JUnit 5.1 gibt es das OS Enum. Mit der können leicht Tests in Abhängigkeit des OS durchgeführt werden. Es werden die folgenden Betriebssysteme unterstüzt:

Also nur die Methode z.B. mit der @EnabledOnOs(OS.MAC) Annotation versehen, und der Test läuft nur auf dem Mac 🙂 oder nicht dann mit @DisabledOnOs(OS.MAC):

Obwohl Tests primär Betriebssystem unabhängig sein sollte. Aber es gibt doch immer mal Fälle, wo es nicht geht.

Covid Inzidenz abfragen beim „Robert Koch Institute (RKI)“ und per Pushover auf das Handy versenden

Coronavirus: Zahl der täglichen Neuinfektionen geht weiter zurück (153). Wie lautet die Inzidenz für meine Stadt? Hier ein kleiner Flow, der täglich auf das Handy per Pushover (siehe Bild oben) die aktuelle Inzidenz Zahl vom RKI versendet. Dann braucht man nicht immer auf das Dashboard des RKI zu schauen…. „Covid Inzidenz abfragen beim „Robert Koch Institute (RKI)“ und per Pushover auf das Handy versenden“ weiterlesen

QR-Code von der Kommandozeile erzeugen

Wer mal eben in ein paar Sekunden einen QR-Code von der Kommandozeile erzeugen will, braucht nur diese URL mit curl aufrufen:

curl http://qrenco.de/[HIER DER TEXT FÜR DEN QR-CODE INHALT]

Z.B.: curl http://qrenco.de/kleinhirn.eu

BTC -15,94% wenn das kein Grund für einen BTC to Euro Dashboard mit NodeRed ist


Wer Kurse auch im NodeRed-Dashboard anzeigen bzw. umrechnen will, kann diesen Beispiel Flow als Template verwenden.

Die Funktion ist schnell erklärt. Es wird nach der Eingabe des Bitcoin Wert (Achtung, kein Komma, nur den Dezimalpunkt verwenden) der Kurs bei Kraken abgefragt und der aktuelle BTC in Euro umgerechnet. Der Beispiel Button, im Flow, erzeugt z.B. den Wert für 1000 Euro. Kann ja leicht angepasst werden oder auch direkt vom Konto eingspielt werden, wie hier schon mal gezeigt. … „BTC -15,94% wenn das kein Grund für einen BTC to Euro Dashboard mit NodeRed ist“ weiterlesen

Firewall in 10 Minuten einrichen mit UFW (Uncomplicated firewall) nicht nur auf dem Raspberry Pi

Eine Firewall ist auf dem Raspberry Pi schnell mit dem UFW eingerichtet und kann die Sicherheit verbessern.

Die Firewall UFW muss nur installiert werden mit:

Nun schalten wir zuerst den ipv6 auf no in der Datei /etc/default/ufw, da er bei mir nicht verwendet wird. „Firewall in 10 Minuten einrichen mit UFW (Uncomplicated firewall) nicht nur auf dem Raspberry Pi“ weiterlesen

ArchUnit gestern in Version 0.18.0 veröffentlicht oder wie validiere ich die Architektur am Beispiel einer Blockchain

Gestern wurde ArchUnit in Version 0.18.0 veröffentlicht.

ArchUnit

Wenn das keine Grund ist mal zu zeigen, wie man eine Package-Abhängigkeit überprüfen kann.
Also wir wollen einen Test schreiben, der durchläuft wenn nur aus dem Package blockchain auf das Package be zugegriffen wird. Wie hier im UML Diagramm gezeigt:… „ArchUnit gestern in Version 0.18.0 veröffentlicht oder wie validiere ich die Architektur am Beispiel einer Blockchain“ weiterlesen

Blockchain in Java – Bitcoin heute Neues Allzeithoch – Nasdaq: Börsengang von Coinbase

Wollte heute mal noch vor dem Börsengang von Coinbase ein Blockchain in Java coden. Mit nur zwei Klassen sind die Grundlagen implementiert. D.h. ein Block verweist jeweils auf den nächsten Block. Jeder Block hat einen Hash über die Daten und kann so von jedem validiert werden. Ein Block kann alles enthalten, hier mal ein String Objekt, es muss ja nicht immer Bitcoin sein. Hier die Architektur:

Ein JUnit 5 Testklasse erzeugt eine gültige Blockchain mit 5 Blöcken und wird anschließend validiert. Bei Bitcoin werden alle 10 Minuten neue Blöcke erzeugt. Die haben dann jeweils (ursprünglich) eine Größe von ca. max 1 MB an Daten.

Dann im zweiten Testfall wird ein Block verändert und in die Blockhain eingefügt. Das Ergebnis der validierung muss dann einen Error ausgeben.

Ein Block sieht so aus: „Blockchain in Java – Bitcoin heute Neues Allzeithoch – Nasdaq: Börsengang von Coinbase“ weiterlesen

Neue NodeRed Version 1.3.1 veröffentlicht auch für Docker auf dem Raspberry Pi (v6, v7)

Es gibt nun auch seit ein paar Stunden einen neuen Docker Kontainer für den Raspberry Pi.

Was es neu gibt, kann hier nachgeschlagen werden.

Hier die Haupt Features
-npm packaged subflows (da bin ich ja gespannt, wie mein erster Flow in gepackt wird, später mehr)
-Function node use of npm modules
-Referencing msg properties in Change/Switch nodes
-Node-RED Plugins framework
Editor Features
-Export preview (siehe hier … „Neue NodeRed Version 1.3.1 veröffentlicht auch für Docker auf dem Raspberry Pi (v6, v7)“ weiterlesen

Wie kann Text in PDF von der Kommandozeile erzeugt werden?

Manchmal will man mal eben etwas Text in ein PDF umwandeln. Das geht auch ganz schnell und einfach von der Kommandozeile. Es muss zuvor nur ghostscript und enscript auf dem Raspberry Pi installiert werden mit:

sudo apt-get install ghostscript enscript

Dann kann es schon losgehen. Wir haben z.B. eine Test-Datei mit Name test-txt-to-pdf.txt und diesem Inhalt:

Wir geben dann auf der Kommandozeil ein:

enscript test-txt-to-pdf.txt -o – | ps2pdf – ergebnis.pdf

Und schon erhalten wir eine ergebnis.pdf mit diesem Inhalt: … „Wie kann Text in PDF von der Kommandozeile erzeugt werden?“ weiterlesen

Überwachung und Erkennung mit Raspberry Pi Kamera oder wie zähle ich die Besucher oder PKWs

In der Pandemie könnte mit diesem Counter am Eingang eines Ladens die Besucher gezählt werden. Auch ein Foto wird jeweils gemacht (Achtung, Datenschutz beachten 😉 ) und die Besucher schön in einem Diagram nach Uhrzeit ausgegeben. Alles wird über einen eigenen Server ausgegeben.

Auf die Straße gerichtet, wird der PKW mit Foto und Geschwindigkeit erfasst. Cool. Und man kann sehen, wieviel Autos so auf der Straße fahren. Alles ohne KI und mit einem Raspberry Pi.

Hier mal das Ergebnis, welches nur die Daten von einem Raum anzeigt. So kann man gut sehen wer wann und wie oft den Raum besucht. Aus Datenschutzgründen ist das Foto nicht „unscharf“ gemacht worden, (sondern die Kamera ist defekt wie weitere Tests zeigten und geht zurück…) und auf den Kopf gestellt, damit man mich da nicht erkennt 😉

Man kann auch in der unteren Zeile sehen, wie schnell ich gegangen bin:

Hier als Diagramm, wie oft der Raum jeweils in einer Stunde/Tag betreten wurde:… „Überwachung und Erkennung mit Raspberry Pi Kamera oder wie zähle ich die Besucher oder PKWs“ weiterlesen

Aktionen in NodeRed mit Bitcoin (BTC) Zahlungen auslösen oder Kontostandsanzeige

Wer kennt nicht das Problem. Man wartet auf den eingang einer Zahlung und schaut mehrfach ob sie schon da ist.

Oder wie lautet mein Kontostand?

Oder auch in diesem Fall, gib mir eine Nachricht, oder schalte den Button grün, wenn eine „Buy me a Coffee“ Spende eingegangen ist.

Oder mache das Licht an, wenn eine BTC Zahlung eingegangen ist.

Oder für Hochzeit, den QR-Code neben der Kamera aufhängen und bei einzahlung ein Foto auslösen 😉

Oder, oder oder …

All das macht dieser kleine Flow. Mal was anderes als „Ausgangssperre“ und 7-Tage-Inzidenz von 134 oder XBT von 59368.

Und warum soll das Dashboard nicht den Kontostand anzeigen?

Die Funktion ist einfach, in dem Funktions-Node die BTC Adresse eingeben. Die wird dann über die Web-API von https://mempool.space/ abgefragt. Ohne Anmeldung und Paswort möglich. Und schon kann man alles schalte was man will in Abhängigkeit des Kontostand! Cool. Bin ja gespannt, wann der obere Button für den Kaffee eine Aktion auslöst.

Das kanns Du leicht über die Buy my a coffee: bitcoin:bc1qj4grttyhk2h5wqask3nku70e3qtycssz5kvw5l tun. … „Aktionen in NodeRed mit Bitcoin (BTC) Zahlungen auslösen oder Kontostandsanzeige“ weiterlesen

Empfohlene Transaktionsgebühr für Bitcoin Transaktionen im NodeRed Dashboard anzeigen, es muss ja nicht immer Replace-by-Fee (RBF) oder CO2-Ampel sein

Bitcoin Transaktionen kosten im Moment im Durchschnitt ca. 18 Dollar. Man kann ja die Gebühr selbst festlegen und damit die Geschwindigkeit der Überweisung steuern. Wählt man zuwenig, wird sie evl. auch nach Tagen nicht ausgeführt. Evl. reicht aber auch eine kleinere Gebühr, wenn die Transaktion nicht in den nächsten Block der Blockchain kommen muss und man evl. Zeit für ein paar Tage hat. Dann reichen evl. schon wie unten zu sehen 4 Satoshi per Byte.

Bei BTC hängen ja die Gebühren nicht an dem Betrag, sondern an der Länge der Transaktion, die je nach Adressentyp unterschiedlich ist.

Man kann hier schauen, was so im Moment berechnet wird. Dort steht:

Das ist aber umständlich. Um die aktuelle Kosten anzuzeigen, habe ich einen kleinen NodeRed-Flow im Dashboard entwickelt, das einen Web-Service von mempool.space abfragt und anzeigt. So sieht man auf einen Blick, welcher Betrag ca. für welche Zeit nötig ist.

So braucht man nur einmal auf den „Update“ Button klicken und erhält die Möglichen werte um nicht zuviel zu bezahlen. Manche Wallets ermöglichen ja auch nachträglich die Kosten zu erhöhen wenn die Transaktion nicht durchkommt. Das nervt zwar, spart aber und nennt sich Replace-by-Fee (RBF). Hier das Dashboard:… „Empfohlene Transaktionsgebühr für Bitcoin Transaktionen im NodeRed Dashboard anzeigen, es muss ja nicht immer Replace-by-Fee (RBF) oder CO2-Ampel sein“ weiterlesen

Ergebnisse der Umfrage oder finde Dubletten auf dem Raspberry Pi mit fdupes

Vielen Dank für das Feedback zu meiner kleinen Umfrage. Für mich ist es sehr interessant, das über 85 % der Teilnehmer mehr zum Thema Raspberry Pi haben wollten. Auf Platz 2 folgt NodeRed / Hausautomatisation mit 60 %. Platz 3 Planespotting mit 24 %. Was mich aber erstaunt, ist die Altersstruktur der Leser, das ich mal mit „für Ältere“ zusammenfassen möchte:

Dann mal gleich was zum Pi, läuft aber auch auf dem Mac. Wie finde ich doppelte Dateien auf dem Rechner? Wenn es große Videos oder Bilder sind, wird auch viel Speicher verbraucht. Einfach das Tool fdupes installieren mit:

sudo apt install fdupes

Nun kann es auf Verzeichnisse angewendet werden. Z.B. im Verzeichnis wir mal das test-dubletten-suchen durchsucht was wie folgt aussieht:

Aufruf:

fdupes test-dubletten-suchen/ -r -1 -S

Ergebnis: … „Ergebnisse der Umfrage oder finde Dubletten auf dem Raspberry Pi mit fdupes“ weiterlesen

Erschreckendes Zwischenergebnis zur Altersstruktur

Das finde ich schon ein erschreckendes Zwischenergebnis der noch laufenden Umfrage, das ich so nicht erwartet haben:

Keine Leser unter 20 Jahren! Entweder machen die nicht bei Umfragen mit, oder es interessiert junge Leute nicht.

Noch läuft die Umfrage ein paar Tage, und ich würde mich sehr freuen, wenn die Leser die noch nicht mitgemacht haben, sich eine Minute Zeit nehmen würden (hier gehts zur Umfrage).

Vielen Dank

Feedback nach 1487 Beiträgen gewünscht

Heute mal eine kleine Bitte. Bin im Moment am überlegen ob ich den Blog so weiterführen kann/will.

Würde mich deshalb über die Beantwortung von drei Fragen innerhalb der nächsten 7 Tage freuen. Sie können anonym in ca. 1 Minute beantwortet werden und helfen mir sehr.

Hier gehts zu den drei Fragen.

Vielen Dank schon mal und viele Grüße aus Langenhagen.

Bleibt Gesund!

VNC in 4 Schritte mit dem Raspberry Pi


Heue mal schnell eine VNC-Server auf dem Raspberry Pi installiert, um aus der Ferne den Desktop zu steuern. Per VNC-Client bekommt man einen virtuellen Desktop des Raspberry Pi auf den eigenen Rechner dargestellt. Über diesen Remote-Desktop kann man den Raspberry Pi dann fernwarten oder fernsteuern. Es muss ja nicht immer die Kommandozeile sein. VNC eignet sich vor allem dann, wenn man anstelle über SSH auf der Konsole lieber mit einem grafischen Desktop arbeitet. Seit dem Jahr 1998 ist VNC als Open Source veröffentlicht.
„VNC in 4 Schritte mit dem Raspberry Pi“ weiterlesen

In Pandemie wurde für den Raspberry Pi Imager eine neue Version 1.6 veröffentlicht mit hidden Dialog

Was für mich neu war, der „hidden Dialog„, der mit Ctrl-Shift-X oder auf dem Mac Command + Shift + X erscheint, wo die Wifi, SSH, Hostname, Lokale ua. für diese oder alle zukünftigen Verwendungen eingestellt werden können: … „In Pandemie wurde für den Raspberry Pi Imager eine neue Version 1.6 veröffentlicht mit hidden Dialog“ weiterlesen

Digitaler Impfnachweis der EU-Kommission setzt auf QR-Codes und nicht auf die „neue“ Gesundheitskarte, deshalb hier die QR-Codes im NodeRed-Flow anzeigen


In diesem Beitrag hatte ich den neuen Node, der aus Text leicht einen QR-Code erzeugt beschrieben. Wie können aber nun QR-Codes direkt in einem NodeRed-Flow und nicht nur im Dashboard angezeigt werden?

Hier ein produktiver Prototyp dazu, man sieht unten rechts den Barcode im Flow. Cool. Geht auch mit Impfnachweisen 😉 … „Digitaler Impfnachweis der EU-Kommission setzt auf QR-Codes und nicht auf die „neue“ Gesundheitskarte, deshalb hier die QR-Codes im NodeRed-Flow anzeigen“ weiterlesen

Sciurus vulgaris Besuch in der 3. Etage oder RFID Tags einlesen mit dem RC-522

Im Netz gibt es viele Anleitungen zum Anschluss eines RFID-Readers an den Raspberry Pi. Hatte auch noch einen seit Jahren liegen. Mal eben die 7 Leitungen angeklemmt und getestet. Ja es läuft, es geht aber leider nur der RFID-Tag der dabei lag, die andern 20 die ich noch liegen hatte konnten leider nicht gelesen werden 😉 Sind wohl keine Mifare Tags. Und man muss schon bis auf ein paar cm rangehen, damit er gelesen wird. … „Sciurus vulgaris Besuch in der 3. Etage oder RFID Tags einlesen mit dem RC-522“ weiterlesen

Crypto Währungsadressen wie z.B. Bitcoin in NodeRed Dashboard validieren

Wie können Kryptowährungsadressen überprüft werden? Also wie können z.B. Bitcoin Adresse überprüft werden? Die Bitcoin Adressen habe wie so viele Adressen eine interne Checksumme, die mit sha256 gebildet wird. Das heißt, es wird zweimal einSHA-256 Hash auf die Adresse gemacht und die ersten 4 Bytes als Checksumme verwendet und an die Adresse angehangen.

Um es ganz einfach zu machen, habe ich einen NodeRed Node node-red-contrib-cryptography-address-check erstellt. Und dazu einen Flow, wo die Adresse nur eingegeben werden muss, und es dann automatisch auf Gültig oder Ungültig überprüft wird.

Dieser Node, muss also nur über die „Pallette hinzufügen“ Funktion geladen werden:

So sieht meine public „Buy me a coffee“ Adresse aus, die ist gültig:

Sobald man da auch nur ein Zeichen verändert, … „Crypto Währungsadressen wie z.B. Bitcoin in NodeRed Dashboard validieren“ weiterlesen

Fast vergessen, heute ist Pi-Day – „Pi or not to Pi!“

Heute wird ja Pi-Day gefeiert. Dazu habe ich mal eben eine Java Klasse geschrieben:

Und nun die Frage. Was ist das Ergebnis wenn ich diese Klasse ausführe? Hier die Lösung, … „Fast vergessen, heute ist Pi-Day – „Pi or not to Pi!““ weiterlesen