Heute ist der Flughafen in HAJ gesperrt wegen einem PKW. Hier der Bericht oder der HAZ oder auch auf aero.de
Hier der aktuelle Stand vom Raspberry Pi per DUMP1090:
Das gabs in Hannover noch nie! Wie auch die Zeit berichtet.
Wenzlaff.de – Rund um die Programmierung
mit Java, Raspberry Pi, SDR, Linux, Arduino, Sicherheit, Blender, KI, Statistik, Krypto und Blockchain
Alles rund um den Raspberry Pi
Wie man sieht so im Durchschnitt bei 57,7 Grad Celsius. Und auch in diesem warmen Sommer maximal 64,6 Grad Celsius. Und das bei einer CPU Nutzung von 25 %:
2018 ist zwar noch nicht ganz zu Ende, hier aber schon mal vorab die Auswertung für das Jahr 2018.
Was hat der Raspberry Pi so an transponder Informationen empfangen in EDDV? So ca. 140 Flugzeuge.
Und hier noch die Message Rate: „Was hat der Raspberry Pi so in 2018 in HAJ (EDDV) empfangen?“ weiterlesen
Zuerst muss für das GitLab Projekt ein Trigger eingerichtet werden. Das geht auf GitLab hier:
Dann erscheint dieser Dialog, mit dem TOKEN: „Wie kann von einem Raspberry Pi eine Buildpipeline eines GitLab Projekt automatisch antriggert werden?“ weiterlesen
Will man *.deb Archive bzw. Programme auf dem Raspberry Pi installieren gibt es mind. zwei Möglichkeiten:
1. Installation ohne Abhängigkeiten
dpkg löst die Abhängigkeiten der zu installierenden Pakete nicht automatisch auf. Installiert man daher ein Paket, das von anderen abhängt, so kommt es zu Fehlermeldungen. Hier ein Beispiel mit dem twkaffee-0.0.1.deb, das für Testzwecke hier geladen werden kann.
1 |
sudo dpkg -i twkaffee-0.0.1.deb |
Das geht dann auch schneller als mit Abhängigkeiten „Debian Package (*.deb) auf dem Raspberry Pi mit oder ohne Abhängigkeiten (zależności) installieren“ weiterlesen
Build Pipeline mit YAML Script zum erzeugen eines *.deb Archives mit Maven für Debian auf Raspberry Pi.
Oder wie kann man ein *.deb Archive mit Maven Plugin erzeugen?
Oder wie verpackt man ein JAR in ein deb Archive, um es einfach auf einem Raspberr Pi zu installieren?
Oder wer braucht ein Template für das erzeugen von Maven Artefacten mit einer automatischen Pipeline in GitLab?
Oder wie validiere ich die Build-Scripte der Build-Pipeline?
Auf diese ua. Frage gibt dieser Blog-Artikel Auskunft.
Wir wollen eine Build-Pipeline mit mehreren Javaversionen, test und build bzw. deploy erstellen. Hier der Flow der Pipeline:
So sieht die Pipeline mit den drei Stages aus: „Build Pipeline mit YAML Script zum erzeugen eines *.deb Archives mit Maven und jdeb für Debian auf Raspberry Pi mit GitLab“ weiterlesen
Wer nach dem Anmelden per SSH auf der Shell ein schönes Logo mit System-Infos sehen will wie z.B diese:
„System-Info mit ASCII-Art-Logo nach dem Login auf dem Raspberry Pi anzeigen mit linuxlogo (Version 5.11) und screenfetch (Version 3.6.8)“ weiterlesen
Vor ein paar Tagen hatte ich die Auswertung zum Kaffeeverbrauch gepostet. Die Daten werden ja online von einem meiner Raspberry Pi erfasst. Gestern der Beitrag zu der Frage: Wann der 1. Kaffee des Tages gekocht wird.
Heute habe ich mal gefragt, um welche Uhrzeit wird bei uns eigentlich der letzte Kaffee am Abend gekocht? Man soll ja vor dem zu Bett gehen nicht noch viel Kaffee trinken.
Die Antwort im Durchschnitt um 15:14 Uhr. Der gemessene Zeitraum ist fast 2 Jahre mit über 500 Messwerte. Hier dazu die Grafik mit der Uhrzeit als Y Wert. X ist die Anzahl der Messungen (Tage). Die rote Linie der Mittelwert.
Und weil ich Diagramme liebe, noch mal eins mit Punkten … „Raspberry Pi: Um welche Uhrzeit wird immer der letzte Kaffee am Tag gekocht?“ weiterlesen
Gestern hatte ich die Auswertung zum Kaffeeverbrauch gepostet. Die Daten werden ja von einem meiner Raspberry Pi erfasst.
Heute habe ich mal gefragt, um welche Uhrzeit wird bei uns eigentlich der 1. Kaffee gekocht? Die Antwort im Durchschnitt um 6:54 Uhr. Der gemessene Zeitraum ist fast 2 Jahre mit über 500 Messwerte. Hier dazu die Grafik mit der Uhrzeit als Y Wert. X ist die Anzahl der Messungen (Tage)
Habe ja schon einige Artikel über die Erfassung des Kaffee قهوة verbrauches mit dem Raspberry Pi geschrieben. Jetzt aber mal eine kleine Auswertung nach 612 Tage oder fast 2 Jahren. Erfasst wurden 2467 Tassen an 555 Tagen. Das macht einen Durchschnitt von etwas mehr als 4 Tassen Kaffee pro Tag die gekocht wurden, Tendenz steigend, aber nicht nur von mir getrunken wurde. Hier die ganzen Messwerte.
Details zum Aufbau mit Pushover benachrichtigung siehe in diesen Artikel.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
Hier dazu etwas Javacode: // Erster Eintrag // 2017-04-05 17:20:41 UTC 1 1 // Letzter Eintrag // 2018-12-09 11:43:37 UTC 2423 7 long anzahlTage = ChronoUnit.DAYS.between(kaffeeItems.get(0).getErstelltAmLokal(), kaffeeItems.get(kaffeeItems.size() - 1).getErstelltAmLokal()); System.out.println("--------------------"); // gehe über den Tag solange der nächste gleich ist int tage = 0; int summe = 0; for (int i = 0; i < kaffeeItems.size() - 1; i++) { if (kaffeeItems.get(i).getErstelltAmLokal().getDayOfMonth() != kaffeeItems.get(i + 1).getErstelltAmLokal() .getDayOfMonth()) { System.out.println(kaffeeItems.get(i)); tage++; summe += kaffeeItems.get(i).getAnzahlKaffeeAsInt(); } } System.out.println("--------------------"); System.out.println("Summe: " + summe + " Durchschnitt: " + summe / tage + " Tassen Kaffee pro Tag"); System.out.println("Anzahl Tage: " + tage); System.out.println("Anzahl der Tage die gemessen wurden: " + anzahlTage); |
Gestern noch 20 Jahre wenzlaff.de gefeiert und heute schon ein JUnit Quicki zum sortieren mit stream sorted und kein Raspberry Pi Thema.
Der JUnit Test: „Java Quickie: Gestern coole 20 Jahr Feier und heute schon ein JUnit-Test mit stream sorted ;-)“ weiterlesen
Heute vor 20 Jahren, am 1.12.1998 ging die Domain wenzlaff.de zum ersten mal ans Netz. Wie die Zeit vergeht.
Es war eine statische Webseite mit Freeware und Sprüche Datenbank mit Newsletter und einigen C++ und Java Programmen zum kostenlosen Download aus meiner Hand. Hier ein etwas unvollständiges Bildschirmfoto, mehr habe ich leider nicht mehr gefunden:
Aber auch schon lange vor dieser Zeit, hatte ich eine Homepage, die aber dann auf den Servern der UNI-Bremen kostenlos gehostet wurde. Da hatte ich als Informatiker einen Zugang mit Akustikkoppler mit 300 Baud und Lochkarten hatten wir da auch noch. Das war wenigstens etwas zum anfassen, batches mit Lochkarten schreiben, cool!
Und es gab keine Werbung im Internet.
Die schöne alte Zeit. Und in der Zwischenzeit gab es immer mal neue Technologie. Vom statischen html zum xhtml und JavaScript über einen eigenen Java html Generator mit Templates bis heute zu den Content-Management-System mit eigener Datenbank.
Bis heute konnte ich auch auf dieser Webseite immer auf Werbung verzichten. Juhu …
Wie soll es weiter gehen? Gibt es noch Themen nach über 1000 Beiträgen? Ideen habe ich noch genug, was fehlt ist die Zeit!
In diesem Sinne, vielen Dank an alle Leser und für das viele Feedback (die über 1000 Kommentare mit Kommentarfunktion habe ich ja abgeschaltet…DSGVO läßt grüßen) das auch nach wie vor erwünscht ist, aber eben über E-Mail 😉
Wie kann angeschaut werden, was in einem Archive ist? Mit tar.
Z.b.
tar -tvf das-tar-archive.tar.gz
-t = listet den Inhalt eines Archivs auf
-v = verbose (ausführlich), listet verarbeitete Dateien ausführlich auf
-f = file, verwendet Archivdatei oder Geräte-ARCHIV
„Wie kann auf einem Raspberry Pi angeschaut 觀看 werden, was in einem tar.gz Archive ist?“ weiterlesen
Cool, sogar über 400km empfang, wenn auch nur 2 Positionen:
und der Status der letzten Tage … „Was empfängt der Raspberry Pi so am ges. Feiertag 節日 dem 3. Oktober von EDDV aus?“ weiterlesen
Bisher hatte ich alle öffentlichen Repositorys in GibHub liegen. GitHub ist nun aber an Microsoft verkauft worden. Wenn das kein Grund ist, das nächste Repo mal in GitLab anzulegen. GitLab hat auch den Vorteil, das private Repos kostenlos sind und …
Also das FreeMarker-Maven-Java-Projekt nach GitLab hochladen.
Was etwas suche und Anpassung benötigte, war der CI-Prozess. Aber wenn man die Syntax der .gitlab-ci.yml kennt, geht es mit zwei Zeilen.
Also einen Docker-Container mal mit Java 11 und Maven, wie folgt erstellt: „Raspberry Pi FreeMarker Java and Maven Project goes to 去 يذهب إلى GibLab and not to GitHub“ weiterlesen
Wie können auf einem Raspberry Pi die 3 größten Dateien in einem Verzeichnis rekursiv ausgeben werden? Z.B. aus dem aktuellem Verzeichnis mit
1 |
du -a . | sort -n -r | head -n 3 |
Das kann man sich aber schwer merken. Deshalb legen wir uns ein bash Alias an mit:
1 |
alias dudrei='du -a . | sort -n -r | head -n 3' |
Das wird aber nach einem restart vergessen. Deshalb tragen wir diese Zeile in der ~/.bash_aliases Datei ein. Wenn es sie noch nicht gibt, legen wir sie an mit diesem Inhalt:
1 2 |
# Gib eine Liste der 3 größten Dateien aus alias dudrei='du -a . | sort -n -r | head -n 3' |
Schon können wir auch nach einem Restart dudrei eingeben und erhalten die 3 größten Dateien im Verzeichnis, z.B. „Wie können auf einem Raspberry Pi die 3 größten Dateien in einem Verzeichnis rekursiv ausgeben werden? Oder wie können alias angelegt werden?“ weiterlesen
Hier mal ein iframe der Transponderdaten aus Hannover. Diese Daten werden von einem Raspberry Pi an das opensyk-network gesendet. Einfach mal ein Flugzeug anklicken, um die Flugbahn zu sehen:
Der Lärm geht so um 4 Uhr morgens los, wie man gut erkennen kann:
Meine Empfangsausrichtung der „Zimmerantenne“:
„Was empfängt der Raspberry Pi denn so in HAJ?“ weiterlesen
Seit Java 7 gibt es den WatchService zum überwachen von Verzeichnissen auf System-Ebene. Der WatchService übernimmt direkt die Eventaufrufe des Betriebssystems und ist damit vergleichbar mit einem Low-Level-Event.
Damit kann man in ein paar Zeilen Code, zum Beispiel benachrichtigt werden, wenn eine neue Datei im Verzeichnis hinzugefügt wird.
Das wir mit der Konstanten StandardWatchEventKinds.ENTRY_CREATE angegeben. Es gib aber auch noch welche fürs löschen oder verändern. Die Konstanten können dann auch verknüpft werden.
Für die Verwendung muss das Package java.nio.file.* importiert werden. Hier der Beispiel Code, der das „input“ Verzeichnis des Users überwacht, der auch auf einem Raspberry Pi läuft 😉
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
String rootVerzeichnis = System.getProperty("user.dir"); Path inputPath = Paths.get(rootVerzeichnis, "input"); WatchService watchService = FileSystems.getDefault().newWatchService(); inputPath.register(watchService, StandardWatchEventKinds.ENTRY_CREATE); WatchKey key; while ((key = watchService.take()) != null) { for (WatchEvent<?> event : key.pollEvents()) { String neueDatei = event.context().toString(); // neueDatei enthält den Dateinamen der zugfügten Datei } key.reset(); } |
Manchmal möchte man per Script (sh, bash) eine Datenbank mit User anlegen.
Das geht mit diesem Script:
1 |
sudo mysql -u root -pPASSWORT << EOF
CREATE DATABASE DATENBANK-NAME;
CREATE USER 'USER-NAME'@'DOMAIN-NAME';
GRANT ALL PRIVILEGES ON DATENBANK-NAME.* TO 'USER-NAME'@'DOMAIN-NAME' IDENTIFIED BY 'USER-NAME';
EOF
|
Zu ersetzen ist der DATENBANK-NAME, USER-NAME, DOMAIN-NAME und das PASSWORT. Das Passwort ohne blank nach dem -p angeben. Dann klappt alles automatisch.