Wie installiert man ein Java OpenJDK 17 auf einen Raspberry Pi Zero W?
Habe die Headlees 32-Bit Version installiert: … „Open JDK 17 auf einem Raspberry Pi Zero W installieren auf Bullseye Debian“ weiterlesen
Wenzlaff.de – Rund um die Programmierung
mit Java, Raspberry Pi, SDR, Linux, Arduino, Sicherheit, Krypto und Blockchain
Rund um den Raspberry Pi Zero W
Wie installiert man ein Java OpenJDK 17 auf einen Raspberry Pi Zero W?
Habe die Headlees 32-Bit Version installiert: … „Open JDK 17 auf einem Raspberry Pi Zero W installieren auf Bullseye Debian“ weiterlesen
Docker ist schnell installiert, einfach nach der Aktuallisierung des Systems folgenden Befehl eingeben: „Docker auf dem Raspberry Pi Zero in 15 Minuten“ weiterlesen
Die neue git Version 2.37 ist vor ein paar Wochen veröffentlicht worden.
Also mal eben auf dem Raspberry Pi selbst compilieren (auf dem Pi Zero W dauert es ca. 70 Minuten) mit diesen Schritten …
Nachhaltiges Gehäuse für den Raspberry Pi Zero, einfach vorsichtig an der Seite aufschneiden (Gehäuse vorher leeren 😉 und den Pi einführen. Dann mit Tesa etwas fixieren. Fertig …
So steht er geschützt im Regal … „Nachhaltiges Gehäuse für den Raspberry Pi Zero“ weiterlesen
Heute nur mal den Raspberry Pi Zero updaten und upgraden.
1 2 |
sudo apt update sudo apt upgrade |
Wenn alles aktuell ist, sieht es so aus: „Raspberry Pi Zero update und upgrade“ weiterlesen
Beim Anmelden mit SSH auf den Raspberry Pi wird jedes mal diese Meldung ausgegeben.
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Das Nervt! Die habe ich gelöscht und durch eine für mich sinnvolle Bezeichnung welches Gerät es ist angepasst. So kann ich beim anmelden leichter sehen, mit welchem Gerät ich mich verbunden haben. Dazu einfach mit
1 |
sudo nano /etc/motd |
die Datei wie gewünscht bearbeiten.
Ich habe da z.B. nur eingetragen: Raspberry Pi Zero Nr. 18 😉
Wenn man Wikipedia glauben will dann ist „Curve25519 … eine elliptische Kurve, die für asymmetrische Kryptosysteme genutzt wird. Sie wird üblicherweise für digitale Signaturen und Schlüsselaustauschprotokolle genutzt und gilt als besonders schnell. Sie ist von der IETF als RFC 7748 standardisiert.“
Aber sie wird auch für Onion-Services verwendet. Deshalb mal heute zur Entspannung für 10 Minuten einen public und privaten Key auf einem Raspberry Pi (Zero) generieren. Inkl. Hostnamen. Das geht so:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
// nötige Abhängigkeite installieren, wenn nicht schon vorhanden sudo apt install gcc libsodium-dev make autoconf // das Repo clonen git clone https://github.com/IT-Berater/mkp224o.git // die mkp224o App compilieren, bauen und installieren cd mkp224o/ ./autogen.sh ./configure make // Keys die mit fast oder filter starten und Hostname generieren im TW-Keys Verzeichnis, das dauert ca. 1 Minute ./mkp224o filter fast -t 1 -v -n 1 -d ./TW-Keys // Check cd TW-Keys ls |
Hier mal der lauf auf meinem Pi: „Zum heutigen National Donut Day mit Curve25519 free private/public Key generieren für Hidden Onion-Services“ weiterlesen
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
Zufallszahlen kann man leicht online über random.org ermitteln. Es können da Münzen geworfen werden:
Es können verschiedene Währungen und Anzahl ausgewählt werden. Leider geht nicht Bitcoin. Aber die sind auch gut…
Auch Passwörter, Lotterie, Zeit, Zeichen, Wörter und andere Zufallszahlen können dort generiert werden.
Aber wie kann man Zufallszahlen generieren, die auch noch den hohen kryptografischen Anforderungen entsprechen? Mit Hardware (cryptographically secure pseudo-random number generator (CSPRNG)). Muss man da teure Crypto-Generatoren kaufen? Nein, ein kleiner Raspberry Pi reicht auch schon.
Der Raspberry Pi (Zero ua.) enthält, mit dem Chip BCM2708 / BCM2835 auch einen Hardware Random Number Generator (RNG). Welchen Chip der Pi hat, wird ausgegeben mit: cat /proc/cpuinfo.
Im Idealfall wird die Erstellung von Zufallszahlen durch eine nicht deterministische Entropiequelle gespeist. Das kann zum Beispiel ein hardwarebasierter Zufallsgenerator sein (PI) oder auch ein hybrider Generator. Für kryptologische Anwendungen sollten nicht-deterministische Generatoren verwendet werden, denn nur bei diesen kann garantiert werden, dass sie nicht reproduzierbar oder vorhersagbar sind.
Zugriff darauf erhält man über die Schnittstelle: /dev/hwrng ( und die blockende /dev/random und die nicht blockende /dev/urandom).
Wir aktivieren nun mal die rng-tools für den Zugriff auf den RNG. … „Kryptographisch sicherer Zufallszahlengenerator mit dem Raspberry Pi und Hardware Random Number Generator (RNG)“ weiterlesen
Es muss nicht immer Kali sein. Auch FFP2-Masken schützen keine Rechner, da muss man schon aktiv nach Sicherheitslücken suchen und stopfen. Auch ein Raspberry Pi mit Debian geht für das Scannen von Netzwerken mit nmap. Heute wollen wir das Ergebnis des Sicherheits-Scanns mal in eine lesbare HTML-Form mit xsltproc transformieren. Das geht in ein paar Minuten.
Der Aufbau soll sein:
Dann mal los, es sind nur 5 Schritte nötig:
1. Installieren von nmap und xsltproc „nmap scan von xml to html mit xsltproc auf Raspberry Pi mit Debian (Kali)“ weiterlesen
Auf Linux und dem Raspberry Pi verwendet man meist uptime.
Mit uptime können die Zeiten ausgegeben werden, wie lange das System ununterbrochen läuft. Bei Linux meist Monate oder Jahre, bei Windows … Tage … „Mal was anderes als Coronavirus-Mutante B.1.1.7: uptime vs. tuptime“ weiterlesen
Vorgestern ist nun das git 2.30.0 Release veröffentlicht worden.
Dann mal gleich ein größenvergleich der neuen Optionen an einem meiner Github Repos:… „Neues git 2.30.0 Release – Compile auf Raspberry Pi W Zerro in 1 Stunde – auf dem 4 in 10 Min“ weiterlesen
Manchmal möchte man aus einem PDF den Text extrahieren oder Infos aus dem PDF gewinnen. Das geht mit den poppler Utils auf dem Raspberry Pi.
Wir laden uns die poppler.pdf als Beispiel in ein Verzeichnis.
Dann rufen wir die pdftotext Anwendung auf:
pdftotext poppler.pdf
und wir erhalten eine neue Datei poppler.txt mit dem Text aus der PDF: „PDFtoText (Pdf2Text), PDF to Fonts, PDF to Info“ weiterlesen
Auf dem Rasberry Pi 4 ist ja default Java 11 installiert. Nun wollen wir mal schnell ein kleines Java Projekt mit Maven erstellen. Da ist schnell gemacht mit Archetype vom Maven.
Danke Dr.Kleinhirn.eu für die Bereitstellung der Mindmap
Also nur noch Maven 3.6.0 installieren mit: sudo apt-get install maven
Dann checken ob alles richtig installiert ist mit: mvn -version
Dann in einem leeren Verzeichnis „Mal was anderes als COVID-19 Impfstoff BNT162b2: Maven install auf einem Raspberry Pi 4 B mit Beispielprojekt in 10 Minuten mit Archetype“ weiterlesen
Um mit Apple-Rechner (Mac OS X, Big Sur oder Monterey) per Freigaben mit dem Finder auf dem Raspberry Pi 4 B zugreifen zu können, kann Netatalk verwendet werden. Auf dem aktuellen Raspberry Pi wird Netatalk 3.1.12 installiert. So würde eine Freigabe z.B. aussehen:
Was ist nötig? 10 Minuten Zeit und … „Apple Freigabe (Zugriff) für den Finder in Big Sur, Monterey oder Ventura einrichten für Raspberry Pi 4 B (oder auch 3 BPlus, Zero, S920) mit Netatalk installieren“ weiterlesen
Da ist sie, die Korrektur. Bitcoin ist vorgestern deutlich eingebrochen, der Kurs ist, nachdem er kurz vor dem Allzeithoch ein charttechnisches Doppeltop in dem Bereich 19.400 bis 19.500 geformt hat, im Tief unter die Marke von 17.000 Dollar gerutscht und hat damit vom letzten Hoch fast 2.500 Dollar oder mehr als 12 Prozent einbüßen müssen. Deshalb heute mal wieder Monero schürfen bei 470 ppm CO2. Und das mit 2 Threads auf einem Raspi Zero W mit 0,67 Hasches pro Sekunde. Mega.
Mal was anderes als JUnit … „Bitcoin -12% dann mal wieder Monero (+1,37 %) schürfen bei 470 ppm CO2“ weiterlesen
Kryptowährungen wie z.B. Bitcoin sind in aller Munde. Es gibt heute ca. 9000 Kryptowährungen, wie z.B. Bitcoin, Ethereum, Tether, XPR, Chainlink, Litercoin und Monero um mal 7 zu nennen.
Kann man mit einem alten Raspberry Pi Model B oder W Zero Krypto-Geld schürfen? Ja, warum nicht, das geht sogar ziemlich einfach, wie dieser Artikel zeigt. Rechnet es sich? Dazu später mehr.
Vorraussetzung ist ein aktuell installiertes Debian und zugriff auf die Kommandozeile.
Dann brauchen wir noch eine Anmeldung bei Minig-Pool, da man alleine es nicht schaft. Z.b. bei Minergate.com und die E-Mail-Adresse, womit wir uns dort angemeldet haben. Die Anmeldung bei diesem Mining-Pool ist kostenlos. Minergate ist ein Open-Source-Multi-Kryptowährungs-Mining-Pool.
So, jetzt wollen wir mal Krypto-Geld erzeugen. Wir werden die Währung Monero erzeugen. Wikipedia sagt zu Monero: „Monero (XMR) ist eine dezentrale, Blockchain-basierte Kryptowährung, vergleichbar mit Bitcoin. Im Gegensatz zu Bitcoin setzt Monero jedoch einen stärkeren Fokus auf die Privatsphäre bzw. Anonymität seiner Nutzer (Privacy Coin) und verfolgt einen anderen Ansatz in Bezug auf die Skalierbarkeit. Das Wort „monero“ ist der Sprache Esperanto entnommen und bedeutet „Münze“. Monero (XMR) ist auf bis zu 12 dezimale Nachkommastellen teilbar, d. h. die kleinste Währungseinheit beträgt 0,000 000 000 001 XMR = 10 hoch −12 XMR.
Ok, dann mal los, es dauert ca. 1-2 Stunden ( 15 Min, auf einem Raspberry Pi 4) um den Miner zu bauen und das erste Geld zu erzeugt. Es sind nur diese 4 Schritte nötig und es ist mal etwas anderes als Co2-Ampeln bauen … „Kryptowährung schürfen mit einem Raspberry Pi“ weiterlesen
Und nicht vergessen die Uhr auf dem Raspberry Pi umstellen, wie hier (MESZ, MEZ, UT, UTC, GMT – Raspberry Pi: Wie kann die Sommerzeit bzw. Winterzeit überprüft und die Zeitzone gestellt werden?) beschrieben wenn nicht die automatische Umstellung aktivierte ist oder der Rechner keinen Zugang zum Internet hat.
Die Co2-Ampel hat nun ein nachhaltiges Ampel-Design bekommen. Hier die Rote-Warnung die bei über 1000ppm in der Luft erzeugt wird:
Und das ganze als Video, mit allen Ampel-Farben (oder in HD-Qualität):
Und hier noch der Grüne Status: „Co2-Ampel: Nachhaltiges Ampel-Design – wiederverwendung (sustainable) eines Seifenspenders“ weiterlesen
So, nun habe ich an die CO2-Ampel noch eine RGB LED,
die ich seit längerer Zeit liegen hatte angeschlossen:
So zeigt sie ROT:
Hier der ganze Schaltplan der CO2-Ampel in der 4. Version.
„CO2-Ampel: RGB LED an Rasperry Pi“ weiterlesen
Wie können bash Scripte auf dem Raspberry Pi automatisch nach dem reboot gestartet werden?
Mit einem Service systemctl. Was ist nötig? Nicht viel …
1. Erstellen einer Datei: „Autostart: systemd zum script starten als service mit systemctl am Beispiel der co2ampel“ weiterlesen
Damit die CO2-Werte der Co2-Ampel auch ohne Internet angezeigt werden, habe ich ein kleine OLED-Display an den Raspberry Pi angeschlossen. Das hatte ich noch in der Bastelkiste. Hatte es auch schon an einem Arduino. So werden die Werte nun dauernd angezeigt:
Hier der Schaltplan mit KiCad:
Und alles etwas größer …
„CO2-Ampel an OLED1306 (GM009605B in Vers. 2.0, 128X64) via I2C“ weiterlesen
Ein Raspberry Pi dient ja als CO2-Ampel und misst jede Minute den CO2-Wert bei mir in der Luft. Die Werte werden auch als CSV-Datei gespeichert. Jeden Tag wird eine neue Datei erzeugt. Die Dateien sind dann nur ca. 30 kB groß.
Mit dem CO2-History Browser kann ich nun mit jeden Browser auch die CO2-Vergangenheit leicht anzeigen lassen. Es braucht nur die entsprechende Datei ausgewählt zu werden und auf den „GRAPH“ Button geklickt zu werden. Hier z.B. der CO2-Verlauf von gestern:
Mit klick auf den „OPEN“-Button kann die Datei auch im CSV-File geladen, und dann in Excel oder Numbers geöffnet werden:
Hier der NodeRed Flow, der diesen CO2-History-Browser erzeugt: „CO2 History Browser mit NodeRed“ weiterlesen
Hier mal die CO2 Werte von Heute in der History-Ansicht:
Man sieht deutlich, das ich um 6:30 Uhr angefangen habe zu arbeiten (die Rote 1).
Bei der Grünen 2 habe ich jeweils gelüftet und das Fenster geöffnet, da die 1000 ppm an CO2 im Zimmer erreicht wurden. Deshalb fallen die Werte schnell ab, es wird aber auch schon im Zimmer kalt. Um 12 Uhr hatte ich das Fenster aufgemacht, und bin in die Mittagspause gegangen.Dann heute etwas früher Feierabend gemacht, und kurz nach 15 Uhr noch mal gelüftet.
Wie das ganze mit dem Raspberry Pi und NodeRed und Mqtt erfasst wird, siehe hier.
Automatischer täglicher Server Check mit Ping. Es wird auf Erreichbarkeit getestet und im Fehlerfall eine Pushover Nachricht an das Handy versendet. Kann schnell und leicht erweitert werden. Einfach einen neuen inject Node mit Server URL und Zeitpunkt ergänzen.
Der Code des Flows „Automatischer Server-Check auf Erreichbarkeit und im Fehlerfall eine Pushover Nachricht an das Handy senden – Wie?“ weiterlesen
Bei der Installation von NodeRed mit IOTstack im Docker Container auf einem Rasberry Pi Model B Rev 2 kann NodeRed nicht installiert werden. Es kommt der Fehler beim aufrufen des menu.sh Scriptes:
ERROR: Service ’nodered‘ failed to build: The command ‚/bin/sh -c for addonnodes in ; do npm install ${addonnodes} ;done;‘ returned a non-zero code: 139
Die Ursache ist, das das Model B eine ARMv6-compatible processor rev 7 (v6l) hat. Docker kann das nicht richtig erkennen, wie es hier steht. Was also tun?
Erst mal ein Issue aufmachen.
Lösung: „NodeRed mit IOTstack im Docker Container läuft nun auch auf Rasberry Pi Model B Rev 2“ weiterlesen
Wenn in der /etc/wpa_supplicant/wpa_supplicant.conf eines Raspberry Pi noch das WLAN-Passwort im Klartext steht, kann das optional durch einen Key ersetzt werden. Der Key kann einfach als ROOT erstellt werden:
1 2 |
sudo -i wpa_passphrase "WLAN-NAME" "WLAN-PASSWORT" >> /etc/wpa_supplicant/wpa_supplicant.conf |
Dann noch die auskommentierte Passwortzeile löschen, wie hier ausführlich beschrieben.
Brauchte für laufende Videokonferenzen mal einen Timer. Habe mal drei Countdown Timer zusammengestellt:
So sieht es aus. Es gibt eine Warnung, kurz vor Ablauf im Browser oben rechts und die Farbe ändert sich auch:
„NodeRed auf dem Rasberry Pi: 3 Countdown Timer“ weiterlesen
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