Excel Quickie: Wie kann ein Netzdiagramm oder Radardiagramm mit Excel erzeugt werden?

Mit Excel kann schnell ein Netz oder Radardiagram erzeugt werden. Hier mal ein Beispiel Diagramm.

Wir nehmen mal von Wikipedia (https://de.wikipedia.org/wiki/Deutsches_H%C3%A4mophilieregister) ein paar Beispiel Daten für eine Beispieltabelle (Hämophilie Mindmap).

Die Tabellen-Daten fügen wir in ein Excel Blatt ein „Excel Quickie: Wie kann ein Netzdiagramm oder Radardiagramm mit Excel erzeugt werden?“ weiterlesen

Letzte Woche wurde das JUnit 5.4.0 Release veröffentlicht

Also mal testen ob alle läuft? Kleine Änderung in der pom.xml

Dann mal zwei Projekt umstellen. Siehe da, die Buildpipeline laufen auch noch wie erwartet:

und die auch „Letzte Woche wurde das JUnit 5.4.0 Release veröffentlicht“ weiterlesen

Quick-Howto: Erzeugung von Makefiles mit cmake auf dem Raspberry Pi

Wir wollen nun mal auf dem Raspberry Pi ein C Programm mit dem Make-Tool cmake auf dem Pi compilieren und linken.

Gemäß Wikipedia ist CMake (cross-platform make) eine plattformunabhängiges Programmierwerkzeug für die Entwicklung und Erstellung von Software.

Dazu erstellen wir ein neues Verzeichnis und legen dort die Builddatei CMakeLists.txt an und führen cmake aus.

Also 1. ein Verzeichnis anlegen und dahin wechseln

2. Erstellen einer C Beispiel Datei start.c mit folgenden Inhalt:

3. Erstellen einer CMakeLists.txt Datei. Achtung Groß und Kleinschreibung genau so. Mit folgenden Inhalt:

Diese Anweisung besagt, das die start.c compiliert werden soll und das das Programm dann startthomas heißen soll.

4. Nun können wir das Projekt konfigurieren mit cmake .

5. Das Projekt übersetzen mit make

6. Nun können wir das erzeugte Programm startthomas ausführen ./startthomas

Hier das Ergebnis: „Quick-Howto: Erzeugung von Makefiles mit cmake auf dem Raspberry Pi“ weiterlesen

Quick-HowTo: Aktuellste cmake Version 3.13.4 auf dem Raspberry Pi selbst compilieren und linken

Im Debian Repo liegt für cmake nicht die neueste Version. Für ein Projekt brauche ich aber cmake mind. 3.13. Deshalb hier eine Anleitung wie die neueste Version von cmake selbst erstellt und installiert werden kann.

Deshalb erst mal die evl. installierte Version von cmake ausgeben:

User Webseiten Sniffing mit tshark auf einem headless Raspberry Pi oder „Dump and analyze network traffic with tshark“

Wie kann eine User Aktion mitgelesen werden, die ein User im Browser tätigt? Also wie können wir die URLs usw. mitlesen, die von und zu einem Browser gehen? Das alle von der Konsole aus z.B. mit einem Raspberry Pi? Das hatte ich schon mal vor 5 Jahren nicht ganz so ausführlich hier beschrieben. Noch mit tshark 1.12. jetzt mal mit 2.6.5. Hier ein kleiner Einblick in die Arbeit eines Pentesters.

Also zu erst der User Task, er ruf in einer Konsole die URL www.wenzlaff.info auf. Dafür benutzen wir den Browser lynx. Wenn der noch nicht auf dem Pi installiert ist, kann das schnell mit einem sudo apt-get install lynx durchgeführt werden. Dann der erste Test, Aufruf:

lynx www.wenzlaff.de „User Webseiten Sniffing mit tshark auf einem headless Raspberry Pi oder „Dump and analyze network traffic with tshark““ weiterlesen

Stromverbrauch des CC2531 Sniffer Protocol Analyzer Wireless Module USB (ZigBee) am Raspberry Pi

Wieviel Strom verbraucht der CC2531 am Raspberry Pi? Ich hatte ja vor ein paar Tagen schon 2 Beiträge dazu geschrieben. Die grüne LED ist sehr hell und dennoch …

0.00 Ampere im Leerlauf ist nicht viel. Dann mal ein anderes Messgerät … „Stromverbrauch des CC2531 Sniffer Protocol Analyzer Wireless Module USB (ZigBee) am Raspberry Pi“ weiterlesen

whsniff ein Packet Konverter für Sniffing im IEEE 802.15.4 Wireless Sensor Networks (ZigBee) bei 2.4 GHz

Whsniff ist ein Kommandozeilen Werkzeug für das TI CC2531 USB Dongle für IEEE 802.15.4 Traffic bei 2.4 GHz. Es läuft auf dem Raspberry Pi unter Linux (unter Windows geht wohl auch mit SmartRF von TI).
Und es erzeugt Datein im freien pcap Format (packet capture) für tshark und Wireshark.

Der USB Dongel, Details „whsniff ein Packet Konverter für Sniffing im IEEE 802.15.4 Wireless Sensor Networks (ZigBee) bei 2.4 GHz“ weiterlesen

Raspberry Pi: Alexa Echo Sprachausgabe via Raspberry Pi und openHAB 2 ohne rules mit nodeRED

Vor ein paar Tagen hatte ich geschrieben, wie mit rules von openHAB über Alexa eine Sprachausgabe gemacht werden kann. Die rules wollte ich nun ersetzen durch einen nodeRED Flow. Das geht ganz einfach. Hier ein Beispiel Flow der jeden Abend um 10:30 Uhr den Text ausgibt, das ich in Bett gehen soll, damit ich morgen wieder fit bin.


Der Flow kann von nodered.org heruntergeladen werden.

Folgende Einstellung ist da wichtig, damit es auch läuft: „Raspberry Pi: Alexa Echo Sprachausgabe via Raspberry Pi und openHAB 2 ohne rules mit nodeRED“ weiterlesen

Alexa Echo Sprachausgabe via Raspberry Pi und openHAB 2

Wie kann man eine Sprachausgabe über Alexa Echo machen wenn die Tür aufgeht? Bei mir kommt z.B. eine Ansage von Alexa „Die Haustür ist geöffnet worden“ oder „Die Haustür wurde geschlossen„. Das läuft bei mir analog auch für die Fenster, alles mit Kontakten von Homematic und einem CUL im USB des Pi.

Wenn openHAB 2 läuft, braucht man nur eine Rules Datei: /etc/openhab2/rules/Alexa.rules mit folgenden Regeln kopieren: „Alexa Echo Sprachausgabe via Raspberry Pi und openHAB 2“ weiterlesen

„Keine Berechtigung“ mit find auf dem Raspberry Pi unterdrücken

Wenn man auf dem Pi eine Datei sucht, kommt es oft vor, das vielen Meldungen „Keine Berechtigung“ ausgegeben wird. Z.b. wenn nach der Datei passwd auf dem ganzen Rechner gesucht wird mit:

find / -name „passwd“

Dann erscheinen auch hunderte Einträge wie diese, und da findet man dann nicht so leicht den gesuchten Eintrag:

Was tun? „„Keine Berechtigung“ mit find auf dem Raspberry Pi unterdrücken“ weiterlesen

SDR auf den Pi: Generieren von Wasserfall Diagrammen mit rtl_power und heatmap.py nicht nur für ACARS Frequenzen

Mit einem SDR kann man Frequenzen überwachen. Mit rtl_power kann man dann CSV Dateien schreiben und diese dann mit einem Python Script in eine schöne übersichtliche Wasserfall Grafik umwandeln. Da kann man dann leicht sehen was für Aktivität auf den jeweiligen Frequenzen los war. Hier in Hannover ist halt nicht so viel los. Und das alles auf einen kleine Raspberry Pi.

Ich hatte vor einem Jahr schon mal davon berichtet, wie das mit meinem Java Programm geht. Nun wollte ich mal das Python Script ausprobieren was ich auf GitHub gefunden habe.

Wir nehmen mal die ACARS Frequenzen, andere siehe in dieser Tabelle.

Hier ein Auszug was so auf den Frequenzen läuft:

Wir starte rtl_power im Frequenzbereich 131 MHz bis 132 MHz, schreiben alle 10 Sekunden das Ergebnis in 1 KHz Schritten in die airband-131.000-131.999M-1k-12h.csv Datei und lassen das ganze 12 Stunden laufen. Als Korrekturfaktor gebe ich 48 ppm mit, das ist für andere Sticks natürlich ein anderer Wert, kann aber auch weggelassen werden.

Dann wandeln wir die erzeugte CSV Datei mit dem Python Script heatmap.py um. Wir schreiben alle 15 Minuten für die Y-Achse einen Zeit-Label und verwende die twente Palette, die gefällt mir am Besten:

An dem Diagramm sehen wir auch, das der Scann-Prozess nach 3 Stunden abgebrochen ist. Aber drei Stunden reichen auch:

Es können auch noch andere Paletten verwendet werden: „SDR auf den Pi: Generieren von Wasserfall Diagrammen mit rtl_power und heatmap.py nicht nur für ACARS Frequenzen“ weiterlesen

Diskrete Fourier-Transformation (DFT) mit FFTW 3.3.8 auf dem Raspberry Pi compilieren und installieren

Für manche (SDR) Projekt wird die FFTW Lib für die Diskrete Fourier-Transformation (DFT) benötigt. Die kann auf dem Raspberry Pi in ca. 1 Stunde installiert werden. Der Compile dauert halt auf dem armv6 etwas.

Das geht so … „Diskrete Fourier-Transformation (DFT) mit FFTW 3.3.8 auf dem Raspberry Pi compilieren und installieren“ weiterlesen

2019: OpenHAB Rules durch NodeRed Flow auf dem Raspberry Pi ersetzen oder „Simplify your Homeautomatisation“

Homeautomatisation ist bei mir schon Jahre im Einsatz. Das Thema hat mich schon immer sehr interessierte.

Die Dinge einfacher machen. Simplify your life oder besser: Simplify your Homeautomatisation.

Da die Bude wieder mal kalt war, weil die Heizung ausgefallen ist, habe ich den Homatic Raumthermostat und auch das Heizungsventil entfernt und wieder ein Manuelles Ventil eingebaut. Das Homatikventil werde ich bei Gelegenheit mal zerlegen. Alle Jahre wieder, war die Batterie leer, dann musste alles wieder neu angelernt (gepeert, gepairt …) und Programmiert werden usw. Und das immer dann, wenn man gerade keine Zeit oder Lust hat, oder Besuch da ist und der dann im kalten sitzt. Das war auch so bei Fhem. Bin aber schon lange auf openHAB umgestiegen.

Und zum Jahreswechsel von openHAB auf openHAB 2. Da ist auch wieder alles anders. Auch einige Anpassungen in den *.rules sind nötig. Bei der Gelegenheit habe ich alle gelöscht und habe für die relevanten Rules NodeRED Flows erstellt. Das geht ziemlich gut wenn man schon mit NodeRED Erfahrung hat.

Hier mal ein Beispiel, die vorhandene Regel, die beim öffnen der Tür eine Pushover auf unsere Handys sendet. Und für die musste auch für openHAB nach openHAB 2 einige Anpassungen gemacht werden (imports, pushover Methode …).

Hier der NodeRED Flow, der für zwei Türen und ein Fenster bei jeder Aktion eine Pushover Nachricht versendet.

Die openHab2 Nodes sind echt cool. „2019: OpenHAB Rules durch NodeRed Flow auf dem Raspberry Pi ersetzen oder „Simplify your Homeautomatisation““ weiterlesen

GnuRadio Beispiel Script mit gnuradio-companion erstellen

Wenn auf einem im Netz laufenden Raspberry Pi per tcp zugegriffen werden soll, wie hier beschrieben um gnuradio Flows zu erstellen geht das durch starten von:

gnuradio-companion

Dieses kann zuvor mit sudo port install gnuradio installiert werden.

Dann den ersten Flow eines SDRs erstellen. Download des Beispiel Scriptes aus meinen GitLab Projekt. Nur noch die IP-Adresse des Pis anpassen. Es steht dort ein TODO. Oder zur Übung selbst erstellen:

Nach klick auf Start, sind die beiden Tabs mit der Zeit und der Frequenz sichtbar:

„GnuRadio Beispiel Script mit gnuradio-companion erstellen“ weiterlesen

Wie können SDR Signale vom Raspberry Pi SDR-Server per tcp im ganzen Netzwerk auf den Mac (Windows) übertragen werden?

Wir können auf dem Raspberry Pi die Signale empfangen werden und dann per tcp die Darstellung auf dem Mac (Window analog) mit gqrx durchgeführt werden. Der Raspberry Pi wird dann nicht mit GUI usw. belastet. Die Signale werden also im Netz verteilt.

Der Raspberry PI kann also zum SDR Server im Netzwerk werden und damit Funksignale an einen Client über IP senden. Dafür reicht ein einfacher DVB-T USB-Stick mit dem RTL2832U-Chipsatz. Wichtig ist beim Betrieb als Server, dass der Raspberry Pi nur das Signal empfängt und über tcp IP bereitstellt. Die eigentliche Verarbeitung, die CPU-Last kostet, erfolgt erst auf dem Client dem Mac-Rechner (Windows analog).

Auf dem Raspberry Pi das rtl_tcp installieren wie in diesem Block schon mal beschrieben. Das aktuelles Script liegt im GitLab Projekt. Dann starten mit

sudo rtl_tcp -a Adresse-des-Pi -P 48

wobei der Korrekturfaktor optional ist:

Gqrx auf dem Mac installieren über sudo port install gqrx das Gqrx installieren.

Dann gqrx starten. Es erscheint der Dialog (nachdem man auf ja geklick hat):

Dort den Verbindungsstring von oben in Device string eingeben: rtl_tcp=10.0.0.0:1234 und die anderen Parameter, es erscheint dann die GUI des gqrx Programms.

Wenn man noch nichts hört, das müsste ja bei 96.2 MHZ NDR2 sein, dann Mode und Gain wie oben auf dem Foto einstellen.

So Radio mit UKW und FM läuft. Jetzt kommen die interessanteren Frequenzen 😉

Raspberry Pi: Wie kann für ein SDR Empfänger die Frequenz Korrektur ermittelt werden um den Frequenzdrift zu kompensieren?

Da die Empfangs DVB-Sticks mit der Zeit einen Frequenzdrift haben, kann ein Korrektur-Faktor in ppm ermittelt werden. Das geht auch mit rtl_test und so brauch nicht ein extra Programm (kal) installiert werden.

Einfach rtl_test -p aufrufen und ein paar Minuten warten …

… wenn der Wert ganz aussen rechts sich nicht mehr groß ändert, kann der Faktor für diesen einen Stick verwendet werden. Das Programm dann mit Strg-C abbrechen. In meinem Fall 48 ppm.

Das kann dann bei vielen Programmen als Faktor übergeben werden, z.B. bei DUMP1090: ./dump1090 –ppm 48 –interactive

Debian Package (*.deb) auf dem Raspberry Pi mit oder ohne Abhängigkeiten (zależności) installieren

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.

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 und jdeb für Debian auf Raspberry Pi mit GitLab

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

Raspberry Pi: Der Kaffee (кофе) ist fertig

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.


Java 8 Quickie: Zeitzonen Umwandlung mit ZonedDateTime: UTC nach Europas Zeitzone

Zeitzonen

Manchmal hat man Zeitangaben z.B. aus IOT Geräten in der Form eines Strings „2018-12-10 12:14:15 UTC“. Nun müssen die Zeitangaben die in UTC verwendet werden in die lokale Zeitzone für Europa/Berlin umgewandelt werden. Das ist in der Regel eine Stunde plus. Wie geht das aber mit der Java 8 API?

„Java 8 Quickie: Zeitzonen Umwandlung mit ZonedDateTime: UTC nach Europas Zeitzone“ weiterlesen