Wie kann Gradle auf einem Raspberry Pi installiert und ein Beispielprojekt in 10 min mit Javadoc, Test und Reports angelegt und gebaut werden?

Manchmal braucht man Gradle. Wie kann das auf einem Raspberry Pi installiert werden. Das geht in 10 Minuten mit:

Ergebnis:

Ok, das ist nicht die aktuellste 4.6 Version aber man kann schon mal loslegen.

Dann wollen wir auch gleich mal ein Testprojekt anlegen. „Wie kann Gradle auf einem Raspberry Pi installiert und ein Beispielprojekt in 10 min mit Javadoc, Test und Reports angelegt und gebaut werden?“ weiterlesen

Flugzeug Notfall Benachrichtigung bei Entführung auf das Handy mit Pushover oder Twitter erhalten mit NodeRed

Vor einem Jahr hatte in einem Artikel die Java Schnittstelle ua. wie folgt beschrieben: „Mit dieser Javaschnittstelle können einfach Pushover Nachrichten an jedes Handy bzw. Tablet versendet werden wenn ein Flugzeug startet oder landet. Da wir in der Nähe vom Flughafen Hannover (EDDV, HAJ) leben, sehen wir gerne Flugzeuge starten und landen. Die beiden Start.- und Landebahnen liegen in Ost-West Richtung. Wenn wir aus dem Küchenfenster schauen oder wenn wir auf der Terrasse sitzen, sehen wir alle Flugzeuge die von Osten aus ankommen bzw. in die Richtung wegfliegen. Nun möchte ich gerne eine Nachricht mit Höhe, Geschwindigkeit, Flugnummer usw. auf mein Handy erhalten, wenn ein Flugzeug aus dem Osten zum landen ankommt bzw. in Richtung Osten starte. Alle anderen Flugzeuge die in die andere Richtung starten bzw. landen sollen nicht berücksichtigt werden. Auch nicht Flugzeuge die nur Hannover überfliegen.

Auch soll eine Pushover versendet werden wenn ein Luftnotfall (med. Notfall, Entführung usw. ) per Transponder gemeldet wird.“

Denn letzten Teil, dh. Benachrichtigung auf Twitter und Pushover wenn ein Flugzeug Notfall eintritt, „Flugzeug Notfall Benachrichtigung bei Entführung auf das Handy mit Pushover oder Twitter erhalten mit NodeRed“ weiterlesen

Raspberry Pi: 0.18.4: Maintenance Release update für NodeRED

Vor 5 Tagen ist eine neue NodeRED Version 0.18.4 veröffentlicht worden. Was ist neu? Siehe hier. Also zum updaten ein:

auf der Konsole eingeben und nach ein paar Minuten, ist die neue Version installiert:

Die neue Version kann auch im Menü ganz unten überprüft werden:
„Raspberry Pi: 0.18.4: Maintenance Release update für NodeRED“ weiterlesen

Wie können Fake News mit NodeRED auf dem Raspberry Pi erzeugt werden?

Habe seit einiger Zeit den „Fake-News-Generator“ (siehe Blogbeitrag auf diesen Blog) mit NodeRED auf einem Raspberry Pi laufen. Wurde aber schon mehrfach bei Twitter gesperrt, da es wohl alle 5 Minuten zu viel war. Habe so aber schon über 154000 Tweets auf meinen Account gesammelt. Du kannst mich auch gern folgen. Hier nochmal der etwas modifizierte Flow, der etwas mehr Zufall in die Posts bringt und nur noch ca. maximal alle 11 Minuten eine News bringt:

Und hier nun die Fake-News in Echtzeit im iFrame:




Mit Diagramm der Häufigkeit:



Die Fake-News gehen auch automatisch nach ThinkSpeak wo die News mit Diagramm angezeigt werden. „Wie können Fake News mit NodeRED auf dem Raspberry Pi erzeugt werden?“ weiterlesen

Beluga Airbus A300 mit Raspberry Pi getrackt view via Settingssite von flightradar24 Feeder (dump1090)

Habe heute zum erstenmal unter Port http:///(pi-Adresse):8754/ eine neue Seite von dem flightradar24 Feeder entdeckt. Wenn man die Seite öffnet werden die Einstellungen angezeigt:

Klickt man auf Settings, könnte man sogar welche ändern: „Beluga Airbus A300 mit Raspberry Pi getrackt view via Settingssite von flightradar24 Feeder (dump1090)“ weiterlesen

Schöner C/C++ Code mit clang-format in 10 Minuten

Wie kann C/C++/Java … Quellcode auf dem Raspberry Pi headless formatiert und hübscher gemacht werden. Mit dem clang-format Programm das auch in Visual Studio, Emacs, Vim ua. Programme integriert werden kann. Das ist auch in Projekten sehr wichtig, um gleiche formatierungen für alle Projektmitglieder zu nutzen. Auch klappt es dann besser mit dem compare!

Das ist schnell installiert mit:

Ok, dann noch hier die ganze Anleitung: „Schöner C/C++ Code mit clang-format in 10 Minuten“ weiterlesen

Aktuellste Node.js v9.5.0 Version mit npm v5.6.0 auf den Raspberry Pi mit Debian Sketch in 10 Minuten installieren

Für NodeRED und auch so braucht man manchmal die aktuellste Version der JavaScript-Laufzeitumgebung Node.js und npm. Da die Raspberry Pi unterschiedliche Packages brauchen, ist es wichtig, das man sich von hier die richtige Version lädt.

Zuerst schauen wir mal, was wir für einen Pi wir überhaupt habe mit:

„Aktuellste Node.js v9.5.0 Version mit npm v5.6.0 auf den Raspberry Pi mit Debian Sketch in 10 Minuten installieren“ weiterlesen

Was ist mit Git push Github mit Two-factor Authentication (2FA) anders? Oder warum läuft die Git unterstüzung in NodeRED nicht?

Bisher konnte immer von der Komandozeile von einem Raspberry Pi die Dateien mit Git nach GitHub übertragen werden. Das schlug plötzlich fehl, und es wurden nicht sagende user.failed_login Fehlermeldungen im GitHub Account unter Security history angezeigt.

Da musst ich aber einiges ausprobieren, bis ich die Aktivierung der „Two-factor Authentication“ vor ein paar Tagen mit diesem Fehler in Zusammenhang bringen konnte. Es gibt da auch die Seite Creating a personal access token for the command line und die wo es ganz unten steht.

Also wenn die „Two-factor Authentication“ aktivert ist, geht die Übertragung nicht mehr mit dem User und Passwort sondern mit einem User Token, denn man auf der Seite „Developer Settings“ erzeugen muss:

Der generierte Token kann oder besser gesagt muss dann anstatt des Passwortes verwendet werden. Wenn man den Token nicht immer neu eingeben will, kann man den auch cachen mit:

„Was ist mit Git push Github mit Two-factor Authentication (2FA) anders? Oder warum läuft die Git unterstüzung in NodeRED nicht?“ weiterlesen

Wie kann auf einem Raspberry Pi GraphViz 2.38.0 installiert und mit DOT zum erzeugen schöner Diagramme genutzt werden?

Warum den Raspberry Pi nicht für die Erstellung von schönen Grafiken mit GraphViz verwenden? Graphviz kann auf dem rPi schnell installiert werden mit:

sudo apt-get update && upgrade
sudo apt-get install graphviz

Nach der Installation die Version checken mit

dot -version

es werden auch einige weitere interessante Infos ausgegeben:

Mit Graphviz können aus DOT Dateien schönen Diagramme erzeugt werden. Mit DOT konzentriert man sich auf den Inhalt und Graphviz macht das Layout. DOT hat eine einfache (C ähnliche) Syntax. Hier erst einmal eine Mindmap zu DOT:
dot

Z.B. die Datei: „Wie kann auf einem Raspberry Pi GraphViz 2.38.0 installiert und mit DOT zum erzeugen schöner Diagramme genutzt werden?“ weiterlesen

Raspberry Pi: XML formatieren mit xmllint unter Linux

Manchmal hat man auf dem Raspberry Pi XML Dokumente die man ansehen will, die aber nicht schön formatiert sind.

Z.B. dieses XML Dokument hat alles in einer Zeile, und ist das Ergebnis einer Haltestellenabfrage in Hannover über diese API:

Wie können wir das nun schön formatieren? Dazu gibt es das Kommandozeilen-Tool xmllint. Damit kann eine XML Datei leicht formatiert werden. Dazu das xmllint installieren mit

Dann ein Aufruf von „Raspberry Pi: XML formatieren mit xmllint unter Linux“ weiterlesen

Heatmap mit Raspberry Pi Zero W und gopow erzeugen

Wie kann mit dem Raspberry Pi eine Heatmap erzeugt werden?

Hier mal ein Beispiel, um die unterschiedlichen Frequenzen zusehen in das Bild klicken und vergrößern:

Legende:

Und noch ein Beispiel:

Legende:

Airband (rtl_power -f 118M:137M:8k -g 50 -i 10 -e 1h airband-7.csv):

Und ein letztes Beispiel mit einem Scann nach den Flugzeugtranspondern auf 1090 Mhz (rtl_power -f 1089M:1091M:1k -g 50 -i 10 -e 1h airband-1090-2.csv) wo man gut die Transponder der Flugzeuge (rot) sehen kann:

Als Datenbasis nehmen wir die mit rtl_power erzeugte Datei.

Zuerst laden wir uns das go Programm als binary rtl-gopow herunter und entpacken es: „Heatmap mit Raspberry Pi Zero W und gopow erzeugen“ weiterlesen

SDR: Fix rtl_power: symbol lookup error: rtl_power: undefined symbol: rtlsdr_set_bias_tee für Raspberry Pi

Das Rtl_power ist ein unix-hacker’s Tool für die Annäherung an den Wasserfall mit folgenden Features, ldt. Kyle Keen:

  • Unlimited frequency range. You can do the whole 1.7GHz of a dongle
  • Unlimited time. At least until you run out of disk for logging
  • Unlimited FFT bins.
  • Quantitative rendering. Exact power levels are logged.
  • Runs on anything. A slower computer will use less samples to keep up.

Wer folgenden Abbruch

rtl_power: symbol lookup error: rtl_power: undefined symbol: rtlsdr_set_bias_tee

auf dem Raspberry Pi bei rtl-power bekommt, der kann die librtlsdr0 entfernen mit

dann läufts.

„SDR: Fix rtl_power: symbol lookup error: rtl_power: undefined symbol: rtlsdr_set_bias_tee für Raspberry Pi“ weiterlesen

GPIO Schnittstelle: Mit WiringPi in 15 Minuten auf die GPIO Ports des Raspberry Pi zugreifen – Teil 3

Mit der wiringpi kann man leicht auf die GPIO Ports des Raspberry Pi zugreifen. Mit den Pins kann man dann leicht Hardware steuern. Auf dem Blog gibt es eine gute ausführliche Anleitung. Das will ich nicht wiederholen, sondern hier geht es darum wie man mit C++ auf die GPIO zugreifen kann. Obwohl man auch in 15 Minuten nach Installation der wiringpi Api die GPIO über Bash Scripte oder Python ansprechen kann.

Hier nun die nötigen Vorarbeiten um C++ mit wiringpi machen zu können. Es sind dort auch einige C Beispiele im Repo. Dazu aber später mehr.

Entweder man installiert das Package mit

oder wie hier nun beschrieben über Git die neueste Version und compiliert es selber mit dem Ausführen des build Scriptes. Das ist hier beschrieben da wir das als API für die C++ Programmierung brauchen.
„GPIO Schnittstelle: Mit WiringPi in 15 Minuten auf die GPIO Ports des Raspberry Pi zugreifen – Teil 3“ weiterlesen

In 15 Minuten zum eigenen C++ Programm zum ausgeben der Systemtemperatur des Raspberry Pi Zero W – Teil 2

In der ersten Lektion haben wir in 15 Minuten gesehen wie wir checken können ob C++ auf dem Raspberry Pi installiert ist und haben unser 1. eigenes C++ Programm auf dem Pi mit der Kommandozeile erstellt, compiliert und ausgeführt.

Nun wollen wir auf dem Pi, in 15 Minuten die erste Klasse erstellen, da wir ja Objektorientiert programmieren wollen. Dazu erstellen wir mit dem vi ein einfache Klasse zum ausgeben der Temperatur des Pi.

Wir nennen die Klasse Temperatur. Damit wir nicht alles in einer Datei haben, erstellen wir für jedes Objekt eine eigene Datei. Also zuerst die Deklaration in der Temperatur.h:
„In 15 Minuten zum eigenen C++ Programm zum ausgeben der Systemtemperatur des Raspberry Pi Zero W – Teil 2“ weiterlesen

In 15 Minuten zum eigenen C++ Programm auf dem Raspberry Pi Zero W – Teil 1

C++ läuft auf dem Raspberry Pi 🙂

Hier mal eine Anleitung um in 15 Minuten das 1. C++ Programm zu schreiben. Das geht auch gut auf einen Raspberry Pi Zero W für 10 Euro. Es muss ja nicht immer Java und Desktop sein. So kommen Erinnerungen an die guten alten Zeiten hoch.

Also, wir checken auf der Konsole, ob und welcher C++ Compiler installiert ist mit

Ok, dann kann es ja los gehen.

und speichern die Datei mit „esc: wq„.

Wir können mal eben checken ob die Datei richtig angelegt wurde mit

Jetzt können wir die erste C++ Datei schon compilieren mit

Wir haben nun in 15 Minuten getestet, ob der C++ compiler vorhanden ist und Dateien compilieren kann.

Im Teil 2 werden wir richtig OO!

Neue Firmware culfw 1.67 in den CUL flashen

Es gibt seit 23.11.2016 keine neue Firmware. Also in 2017 keine neue Firmware. Wer die aber noch nicht installiert hat, kann die letzte Firmware für den CUL installieren. Was gibt es in der letzten neu:


Wie wird die Firmware in ca. 15 Minuten installiert: „Neue Firmware culfw 1.67 in den CUL flashen“ weiterlesen

rtl_433 für den Raspberry Pi selbst compilieren um Temperatursensoren und Luftruck von Autoreifen (TPMS) uä. auf 433,92 Mhz zu empfangen

Wer eine Wetterstation hat, die auf 433,92 Mhz sendet kann die Daten empfangen. Oder wer keine hat, kann die von den Nachbarn mitbenutzen. Dazu reicht ein kleiner Raspberry Pi Zero W. Auf dem ein rtl_433 Programm läuft.

Voraussetzung:

rtl-sdr muss installiert sein, das hatte ich hier im Block aber schon mal beschrieben. Mit dem Empfänger kann man nicht nur Flugzeug-Transponder empfangen, sondern auch Kühlschränke, Wetterstationen und Autoreifen (Luftdruck, The tire pressure monitoring system (TPMS))…

Also wir müssen uns den Quellcode aus Git holen und das Programm selbst compilieren: „rtl_433 für den Raspberry Pi selbst compilieren um Temperatursensoren und Luftruck von Autoreifen (TPMS) uä. auf 433,92 Mhz zu empfangen“ weiterlesen

Wie kann Metasploit an Neujahr auf dem Raspberry Pi Zero W mit Ruby in 3 Stunden installiert werden?

Mit den Worten von Wikipedia, Metasploit ist ein „freies Open-Source-Projekt zur Computersicherheit, das Informationen über Sicherheitslücken bietet und bei Penetrationstests sowie der Entwicklung von IDS-Signaturen eingesetzt werden kann.“ Es ist in der Programmiersprache Ruby implementiert, ja es gibt auch eine JavaGui. Dazu später mehr.

Wie wird das nun aber auf einen Raspberry P Zero W installiert?

Ein Github Account und ein aktuelles Debian ist Vorraussetzung. „Wie kann Metasploit an Neujahr auf dem Raspberry Pi Zero W mit Ruby in 3 Stunden installiert werden?“ weiterlesen

Neue PlaneFinder (3.7.20) Version für den Raspberry Pi in 5 Minuten noch in 2017 updaten!

Es gibt einen neuen PlaneFinder (3.7.20) Client für den Raspberry Pi und auch für Windows und Mac.

Hier einige der Änderungen seit 3.3.222:

  • Improvements to ADS-B decoding
  • New GPS view for Plane Finder Radar receivers
  • Brand new map view including aircraft labels, photographs and additional metadata lookup
  • Added colour-coded flightpaths to represent altitude
  • Added the ability to mouse over flightpaths to view their speed and altitude at that any given point in time
  • Improved Data View layout. Added the option to filter by additional fields
  • Added the ability to set a Google Maps API key for users wishing to share their client webpages publicly (this is optional and not necessary when accessing the client locally)
  • Rewritten HTTP parser to handle browser communication more reliably
  • New 3D view to help you improve your reception

Wie kann der pfclient auf dem Raspberry Pi nun aktuallisiert werden? Das geht in 5 Minuten „Neue PlaneFinder (3.7.20) Version für den Raspberry Pi in 5 Minuten noch in 2017 updaten!“ weiterlesen

Sicherheit: gpg (GnuPG) Key Verwaltung mit pass auf dem Raspberry Pi oder sonst wo oder cooler kostenloser Passwort Manager für Raspberry Pi

Wer einen Passwort Manager braucht, kann pass verwenden. Den gibt es kostenlos für alle Betriebssysteme. Die Passwörter werden alle mit gpg Verschlüsselt und liegen in ~/.password-store so das sie leicht verwaltet werden können. Die Passwörter können mit unix shell Kommandos so leicht verwaltet werden. Auch eine bash Auto-Vervollständigung gibt es. Auch eine Git Integration ist möglich.

Wenn noch kein gpg Key auf dem Raspberry Pi angelegt wurde oder auch sonst noch keiner vorhanden ist, diesen einmal mit

erzeugen. Es muss nur der Name und die E-Mail Adresse angegeben werden, nach einem O muss man ein paar Minuten warten, bis der Key erzeugt wurde: „Sicherheit: gpg (GnuPG) Key Verwaltung mit pass auf dem Raspberry Pi oder sonst wo oder cooler kostenloser Passwort Manager für Raspberry Pi“ weiterlesen

QI-Standard (induktive Energieübertragung) – Low Power – für Handys usw.

Nun ist mein erstes QI-Ladegerät aus China angekommen. Dann kann ja jetzt drahtlos geladen werden! Den Qi-Standard gibt es ja schon länger. Und für 2,39 Euro inkl. Versand und CE Zeichen kann man nicht meckern.

Funktion ldt. Hersteller ua:

for iPhone: for iPhone 8, for iphone 8 plus, iphone x
for Samsung: for Note 8 Note 7 Note 5, for S6, for S6edge, for S6 edge Plus, for S7
for Nokia: for Lumia 822 830 920 928 929930 1020 1520
for HTC: for Droid DNA, for Butterfly, forInceredible 4G LTE, for 8XT 8X
for LG: for D1L, for LTE2, for G Pro
for Google: for Nexus 4 5 6, for Nexus 7 HD

Spezifikation:

1, the input voltage: DC4.3V ~ 5.5V / 1.5 ~2A, beyond this range voltage alarm and stop charging
2, the output voltage: 5V ± 0.1V,
3, the charging current: 500mAh-1000mAh
4, charging power: 5W Max
5, the conversion efficiency: more than 73%
6, the transmission distance: 10mm,recommended transceiver pitch 2mm ~ 4mm
7, standby power consumption: Average power consumption is less than 50mW
8, size:69*10mm (Diameter*Height)
9, color: Black/ White with black base/ Red with black base/ Blue with black base/ Orange with black base

Package Including:
1* Qi Wireless Charger Pad
1* USB Charging Cable

Ok, mal eben nachmessen, im Leerlauf:

Ok, das ist nichts, und kann immer am Netz bleiben. Und unter Last mit Handy: „QI-Standard (induktive Energieübertragung) – Low Power – für Handys usw.“ weiterlesen

JUnit 5: Class Assumptions vs. Assertions – org.junit.jupiter.api – Behauptungen – Annahme – założenia – допущения -假設 – الافتراضات

In JUnit 5 gibt es im Package org.junit.jupiter.api die Klasse Assumptions (Annahme).

Die Assumptions Klasse ist eine Sammlung von Util-Methoden. Im Gegensatz zu den Assertions (Behauptungen) wird die Assumptions im Fehlerfall nicht mit einem failure (graues Kreuz) sondern mit einem Error (rot) markiert.

Deshalb ist es manchmal gewünscht, wenn z.B. eine Bestimmte Umgebung nicht vorhanden ist, das dann der Test nicht als Error (rot) sondern mit einen grauen Kreuz (Failures) markiert wird. Dann sollte man also die org.junit.jupiter.api.Assertions verwenden wie diese Testklasse zeigt:

Hier der Quellcode „JUnit 5: Class Assumptions vs. Assertions – org.junit.jupiter.api – Behauptungen – Annahme – założenia – допущения -假設 – الافتراضات“ weiterlesen