Ein PDF in Java ist mit iText 7 in ein paar Minuten gemacht.

Wir können z.B. ein String Liste mit nur 3 Zeilen Code mit dem Times Roman Font auf DIN A4 ausgeben:… „PDF Erzeugung mit iText 7 oder in 3 Zeilen Java zum PDF“ weiterlesen

Wenzlaff.de – Rund um die Programmierung
mit Java, Raspberry Pi, SDR, Linux, Arduino, Sicherheit, Blender, KI, Statistik, Krypto und Blockchain
Programmierung
Ein PDF in Java ist mit iText 7 in ein paar Minuten gemacht.

Wir können z.B. ein String Liste mit nur 3 Zeilen Code mit dem Times Roman Font auf DIN A4 ausgeben:… „PDF Erzeugung mit iText 7 oder in 3 Zeilen Java zum PDF“ weiterlesen
Das ist nun wahrscheinlich der letzter Beitrag für 2020. Wer das Ziel hat, die Bibel in einem Jahr zu lesen, hat hier nun die nötige Unterstüzung. Die Termine und Kapitel können nun leicht in einen eigenen Kalender importiert werden.
Habe mal neue Bibellese Termine ab 1.1.2021 mit dieser neuen GUI der TWBibel erzeugt. Die Version 0.0.5 Unterstützt bisher die drei Online Bibeln: NWI, RBI und BI12 in Deutsch. Andere Sprachen sind auch schon vorbereitet und auch diese Bibelübersetzungen: BDS, BGV, BKR, BSV, BTX, CARS, CBT, CCBT, CEP, CKK, CST, CUVS, DK, ELB, ESV, EU, FCB, GNB, HFA, HTB, HUN, ITA, KAR, KJV, LSG, LUT, LXX, MENG, NAV, NGÜ, NIRV, NIV, NLB, NOR, NPK, NRS, NTR, NVI, NeÜ, OT, PRT, PSZ, RSZ, S21, SLT, SNC, TR, ZB.
Einfach einen Bibellese-Plan, in Euren Kalender im Handy, Tablet usw. kostenlos laden und importieren: „Ziel 2021: Die ganze Bibel in einem Jahr lesen? Terminplan, Bibelleseplan im Kalender ics Format zum Download“ weiterlesen
In der aktuellen Version von git auf dem Pi fehlt z.B. der git switch Befehl. Der ist zwar im Status: THIS COMMAND IS EXPERIMENTAL. THE BEHAVIOR MAY CHANGE.
Deshalb will ich mal eben die aktuelle Version von Git auf einem Raspberry Pi 4 B installieren. Ich nehme mal die 2.30.0-rc1.
|
1 2 3 |
sudo apt update sudo apt install git git --version |
Das reicht für die meisten. Dann hat man aber nicht die aktuellste Version, die derzeit v2.30.0-rc1 ist. Wer aber z.B. experimentelle Befehle wie switch ausprobieren will, kann sich in 2 Stunden selbst auf einen Raspberry Pi Zero oder auf einem Pi 4 B in 10 Minuten eine Version zusammen bauen.
Hier kann man die aktuellste Version sehen https://github.com/git/git/tags:
Wie kann die aktuelles Git Version auf einem Raspberry Pi installiert werden? Hier die Schritte: „Git switch auf dem Raspberry Pi 4 B installieren – oder wie compiliere ich GIT“ weiterlesen
Quicktest Eclipse 2020-12 die sich nun auch auf einem Raspberry Pi 3 oder 4 nativ ausführen läßt, ohne bremsenden x86-Emulator. Und was für mich wichtige ist, mit Korrekturen für macOS 11 alias Big Sur.
„Quicktest: Eclipse 2020-12 auch für native Raspberry Pi“ weiterlesen
Eine kleine Demo zeigt, dass es gar nicht so kompliziert ist, ein professionelles Web-Application-Framework auf dem Raspberry Pi zum Laufen zu bekommen. Und das in 10 Minuten! Ok, dann los.

Eine vaadin Anwendung Version 16.0.0 und Jetty Server 9.4.15 in 10 Minuten erstellen. Das ist mit dem Archetype möglich. Als Version wird latest angegeben. Diesen Aufruf auf der Kommandozeile in einem leeren Verzeichnis aufrufen:
|
1 2 3 4 5 6 7 |
mvn -B archetype:generate \ -DarchetypeGroupId=com.vaadin \ -DarchetypeArtifactId=vaadin-archetype-application \ -DarchetypeVersion=LATEST \ -DgroupId=de.wenzlaff.twvaadinprojekt.app \ -DartifactId=twvaadinprojekt-app \ -Dversion=1.0-SNAPSHOT |
Das ist beim 2. Mal in 10 Sekunden erledigt. Beim 1. Mal müssen noch die Maven Artefakte ins lokale Repo geladen werden, das dauert etwas. „Vaadin Anwendung auf dem Raspberry Pi 4 B in 10 Minuten mit Jetty-Server und Archetype erstellen als Vorbereitung für den richtiger Lockdown ab Mittwoch!“ 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 PDF-Dokumente in ein Bildformat wie PNG zu überführen, und auch zum skalieren kann das Tool pdftoppm auf einem Raspberry Pi verwendet werden. Aber auch noch andere Funktionen sind mit den poppler-utils möglich.

Installiert sind sie auf einem Raspberry Pi schnell mit: „PDF to PNG, JPG oder TIFF auf einem Raspberry Pi mit pdftoppm“ weiterlesen
So ein Dashboard, hier am Beispiel der CO2 Messungen ist mit dem Cloud Anbieter Ubidots.com schnell gemacht. Kostenlos gibt es 3 Geräte. Es muss ja auch nicht immer Thinkspeak sein.

Hier ist der Api Token zu finden: „Cloud Dashboard für CO2-Messungen (CO2-Ampel) mit Ubidots für Java und Python“ weiterlesen
Hier mal eine Zusammenfassung eines CO2-Messsystems (CO2-Ampel) mit dem Raspberry Pi an dem der MH-Z19b, OLED Anzeige, LED-Rgb-Ampel hängen. Auch werden die Daten Online an Thinkspeak, MQTT, NodeRed, Alexa ausgabe von Warnungen und abfrage der Co2 Werte, Pushover nachrichten ans Handy, REST Java-Client, Docker Container und an einen History Browser gesendet. Wie hier auch schon einzeln veröffentlicht.
Wer noch 5 Minuten hat, kann das Beispielprojekt mit der CO2-Ampel auch gleich in einem Docker Container laufen lassen. Vorraussetzung Docker läuft und das Beispielprojekt wurde installiert.

Dann sind, dank der automatisch generierten Docker-Files nur diese 3 Schritte im Verzeichnis der root pom nötig:
|
1 2 3 4 5 6 7 8 |
// 1. das Projekt bauen mvn package -Dquarkus.package.type=fast-jar // 2. das Image bauen, man beachte den Punkt am Ende docker build -f src/main/docker/Dockerfile.fast-jar -t quarkus/info-kleinhirn-fast-jar . // 3. den Container starten mit docker run -i --rm -p 8080:8080 quarkus/info-kleinhirn-fast-jar |
Schon läuft der CO2 Service http://localhost:8080/v1/rest/co2 und CO2-Ampel über http://localhost:8080/v1/rest/co2ampel
Cool. Und hier das Dockerfile … „Docker Container mit REST Service in 5 min mit CO2-Ampel Service erstellen“ weiterlesen
Einen REST Service in 15 min mit Quarkus, OpenAPI, Swagger UI und JUnit-Test erstellen und um CO2-Ampel Service erweitern ist nicht kompliziert.

Vorraussetzungen Java 11 und Maven. Test mit:
mvn -version
auf der Kommandozeile:
|
1 2 3 4 5 6 |
➜ ~ mvn -version Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f) Maven home: /opt/local/share/java/maven3 Java version: 11.0.9, vendor: AdoptOpenJDK, runtime: /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home Default locale: de_DE, platform encoding: UTF-8 OS name: "mac os x", version: "10.15.7", arch: "x86_64", family: "mac" |
Dann fangen wir in einem leeren Verzeichnis an
|
1 2 |
mkdir rest-co2ampel cd rest-co2ampel |
jetzt rufen wir mit dem Maven Quarkus Plugin das create Goal auf:
|
1 |
mvn io.quarkus:quarkus-maven-plugin:1.9.0.Final:create -DprojectGroupId=de.wenzlaff.co2ampel -DprojectArtifactId=info-kleinhirn -DclassName="de.wenzlaff.Co2AmpelResource" -Dpath="/co2ampel" |
Zwei Sekunden später, ist das Projekt angelegt: „REST Service in 15 min mit Quarkus, OpenAPI, Swagger UI und JUnit-Test erstellen und um CO2-Ampel Service erweitern“ 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
Hier hatte ich ja das Video hochgeladen von der CO2-Ansage der CO2-Ampel mit Alexa. Hier nun das aktuelle fehlende Architektur-Bild:
Es ist gleich wieder soweit … „Alexa sagt den Co2 Wert in der Luft an, wenn man sie fragt – CO2-Sprech-Ampel – Architektur Big Picture“ weiterlesen
Damit man zur rechten Zeit lüftet, habe ich nun eine Lüftungsampel in den NodeRed-Flow integriert. Sie zeigt grün, wenn alles ok ist.
Und bei über 1000 ppm CO2 zeigt sie rot:
Natürlich, zeigt auch der Gauge die Farben entsprechend an. Aber so ist der Wert noch etwas übersichtlicher.
Hier die Nodes „NodeRed CO2-Flow mit CO2-Ampel (Lüftungsampel)“ weiterlesen
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
Habe mal neue Bibellese Termine ab heute mit dieser neuen GUI der TWBibel erzeugt.
Einfach einen Bibellese-Plan, in Euren Kalender kostenlos laden und importieren: „Die Bibel in einem Jahr lesen? Terminplan zum kostenlosen Download! Ab heute! Und los …“ 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

Mein Raspberry Pi misst ja seit einigen Tagen die CO2 Werte in der Luft, wie hier beschrieben. Nun können hier die Werte in Echtzeit abgelesen werden. Sie werden von NodeRed jede Minute aktuallisiert und weitergeleite.
Ja, „Freut euch immer“ …
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
Endlich liegt mein Code für 1000 Jahre in Spitzbergen …
Und das nicht nur für den Raspberry Pi. Ich bin begeistert, ja „Freut euch immer“.