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

Echo Dot triggert Node-RED auf dem Raspberry Pi per „Node-RED Alexa Home Skill Bridge“

Wer per Sprache mit einen Echo Dot auch den Raspberry Pi auf dem Node-RED läuft steuern will, kann dazu die „Node-RED Alexa Home Skill Bridge“ verwenden. Hier mal ein Beispiel wie per Alexa Echo Dot Sprach-Befehl die Feinstaubwerte für Hannover abgefragt und per Pushover an Handys versendet wird.

Dazu muss der Node „node-red-contrib-alexa-home-skill“ mit npm installiert werden:

Für den Echo das folgende Skill installieren. „Echo Dot triggert Node-RED auf dem Raspberry Pi per „Node-RED Alexa Home Skill Bridge““ weiterlesen

Wie können Json Dateien in Java Objekte eingelesen werden mit google gson?

Wie kann eine Json Datei in ein Java Objekt eingelesen werden? Es kommt doch hin und wieder mal vor, das man eine Json Datei hat, die man einlesen will. Man könnte es generisch einlesen. Oder man erzeugt sich die nötigen Java BEs bzw. Pojos und liest die Datei dann ein. Hier mal ein Beispiel mit gson zum einlesen in die zuvor erzeugten Java Klassen.

Es muss in der pom.xml diese Abhängigkeit ergänzt werden:

Z.B. diese aircraft.json Datei. Die Felder werden hier beschrieben. Die Datei wird vom Dump1090 Server alle paar Sekunden aktualisert.

Wir schauen uns einfach die Struktur an, und erzeugen Java Klasse mit genau den Feldnamen, das ist wichtig da die Felder dann automatisch per reflection eingelesen werden. „Wie können Json Dateien in Java Objekte eingelesen werden mit google gson?“ weiterlesen

Wie können mit Eclipse Oxygen.1A aus XSD-Dateien mit JAXB Java Klassen generiert werden?

Wer keine Lust hat die Uhren umzustellen, kann ja mit JAXB Java Klassendateien generieren.

In der IDE für Java Developer für Eclipse, ist der JAXB Generator nicht installiert. Der müsste in der EE IDE vorhanden sein. Wer die nicht extra zusätzlich installieren will, kann auch über das Menü Windows – Help – Install New Software und dem Stichwort jaxb suchen und dort diese Installieren:

Dann nach einem Restart, ein neues JAXB-Projekt anlegen mit: „Wie können mit Eclipse Oxygen.1A aus XSD-Dateien mit JAXB Java Klassen generiert werden?“ weiterlesen

MESZ, MEZ, UT, UTC, GMT – Raspberry Pi: Wie kann die Sommerzeit bzw. Winterzeit überprüft und die Zeitzone gestellt werden?

Oder alle Jahre wieder! Alle Jahre wieder. Aber wie lange noch? Wer einen Raspberry Pi laufen hat, kann die Zeitzone und Zeit leicht verändern bzw. stellen. Meistens läuft ein NTP, der alles autom. richtig macht. Was aber wenn die Sommerzeit bzw. Winterzeit nicht richtig berücksichtigt wurde?

Wie kann die Zeit einfach überprüft werden?

In der Konsole

„MESZ, MEZ, UT, UTC, GMT – Raspberry Pi: Wie kann die Sommerzeit bzw. Winterzeit überprüft und die Zeitzone gestellt werden?“ weiterlesen

Eclipse Oxygen.1A PlugIn SortIt zum schnellen sortieren nach Länge, Buchstaben oder Nummern

Sortierung von Text ist doch hin und wieder mal nötig. Das Eclipse Plugin SortIt ist zwar schon älter, vom 11.8.2016, aber es läuft immer noch mit der aktuellen Eclipse Oxygen.1A Version. Es kann wie alle anderen Plugins installiert werden.
Cooles Plugin
Die Updateseite die unter dem Menü: Help->Install new Software eingetragen werden muss lautet:

Dann durch den Installationsvorgang gehen: „Eclipse Oxygen.1A PlugIn SortIt zum schnellen sortieren nach Länge, Buchstaben oder Nummern“ weiterlesen

Wie schalte ich die Passwortabfrage in Eclipse Oxygen.1A für die Übertragung nach GitHub ab?

Wer nicht bei jedem Checkin nach GitHub sein Namen und Passwort eingeben will, kann die OS X Keystore Integration auch abschalten.

Wie schalte ich die Passwortabfrage in Eclipse Oxygen.1A für die Übertragung nach GitHub ab?

Unter: General – Security – Secure Storage

Und schon kann automatisch eingescheckt werden. Diese Fünf­jäh­ri­ge, die sich selbst porträtiert hat, macht sich wie so viele keine Sorgen um Security 😉

Wie kann ein JEE 8 Projekt mit GlassFish v5 in Docker mit Eclipse Oxygen in 5 Minuten mit Archetyp erstellt werden?

Wer mal eben schnell ein JEE 8 Projekt mit GlassFish Server in einem Docker Kontainer erstellen will, kann das leicht mit dem Archtype com.airhacks von Adam Bien tun.

Voraussetzung ist Eclipse Oxygen (Mindmap) mit Java 1.8 und Docker.

Was ist zu tun?

1. Ein neues Mavenprojekt starten über das Menü: New – Other – Maven Projekt„Wie kann ein JEE 8 Projekt mit GlassFish v5 in Docker mit Eclipse Oxygen in 5 Minuten mit Archetyp erstellt werden?“ weiterlesen

Soeben wurde die finale Version des JDK 9 veröffentlicht. Endlich!

Ab jetzt gibt es das Java 9 JDK zum Downloaden mit Jigsaw, Erweiterung der Stream-API, Kommandozeilenanwendung JShell, Neue Collection Factory-Methoden, usw. … und Oracle plant auch kürzere Releasezyklen (6 Monate).

Also, Archive laden und installieren:

Quicktest:

Feier! Freude! Und das sogar im Urlaub

ESP-32S NodeMCU Development Board 2.4GHz WiFi+Bluetooth

Aus der Bucht eingetroffen, ESP32 ESP-32S NodeMCU Development Board 2.4GHz WiFi+Bluetooth Dual Mode.

Der ESP32 hat 2,4-GHz-WLAN und Bluetooth in Low Power 40-nm-Technologie.

Der Stromverbrauch ist mit 56 mA sehr gering. Die Leistungsaufnahme mit dem Blink Testprogramm liegt bei 283 mW. Die Vorderansicht mit der Antenne oben und dem USB Anschluss unten: „ESP-32S NodeMCU Development Board 2.4GHz WiFi+Bluetooth“ weiterlesen

Wie können Realtime ACARS Nachrichten in Eclipse Oxygen Konsolen View ausgeben werden?

Evl. möchte man ACARS Daten die von einem Raspberry Pi (W Zero) geliefert werden, wie hier berichtet, auch in einer Eclipse View auf einen anderen Rechern mit Mac OS X, Linux oder Windows anzeigen. Dann hat man alles immer im Auge 😉

Wie können also Realtime ACARS Daten, die von einem Raspberry Pi geliefert werden, in der Eclipse (Oxygen) Konsolen View ausgegeben werden?

Dafür habe ich einen kleinen ACARSConsoleViewer geschrieben der die Daten in Echtzeit auf der Konsole ausgibt. Die Zeiten werden so wie vom Server angezeigt, sie sind im UTC Format, also in Deutschland mit Sommerzeit 2 Stunden zurück. Der Viewer lauscht an Port 5555 und wartet auf eintreffende ACARS Meldungen via verbindungslosem UDP.

„Wie können Realtime ACARS Nachrichten in Eclipse Oxygen Konsolen View ausgeben werden?“ weiterlesen

JUnit 5 Test-Ergebnisse Import und Export im XML Format mit Eclipse Oxygen

Manchmal möchte man die lokalen JUnit 5 Testergebnisse für später aufheben oder als Doku verwenden oder sichern. Man kann die Ergebnisse als XML exportieren und auch später wieder importieren. So kann man sich dann Fehler oder Laufzeiten mal wieder anschauen.

Die Import und Export Menüs, erscheinen aber nur, wenn schon mal ein JUnit Test gelaufen ist, dann an dieser Position:


„JUnit 5 Test-Ergebnisse Import und Export im XML Format mit Eclipse Oxygen“ weiterlesen

Wie wird JUnit 5 (RC3 – Beta) Eclipse Oxygen 4.7.0 Support (Plug-In) installiert?

Heute wurde das JUnit 5 (RC3 – Beta) Plugin für Eclipse Oxygen 4.7.0 veröffentlicht (upgedated). JUnit 5 RC3 wurde schon am 23.8.2017 veröffentlicht. Der JUnit 5 Release Kandidat soll ja noch im 3. Quatal 2017 erscheinen, also im nächsten Monat 🙂

Wie wird das nun installiert?

Das JUnit 5 Plugin gibt es hier.

Einfach diesen Install Button per Drag and Drop in den Eclipse Workspace ziehen:

oder wie in der installations Anleitung beschrieben.

Es öffnet sich dieser Dialog: „Wie wird JUnit 5 (RC3 – Beta) Eclipse Oxygen 4.7.0 Support (Plug-In) installiert?“ weiterlesen

Wie wird ein acarsserv Server mit SQLite3 Datenbank zum speichern von ACARS Meldungen auf dem Raspberry Pi Zero W installiert?

Wer wie hier beschrieben ACARS Meldungen empfangen will, kann sie mit dem acarsserv Server auch in eine DB speichern. Dazu muss der acarsserv wie folgt compiliert und gestartet werden. Das holen des Quellcodes aus Git habe ich in diesen Blogeintrag beschrieben, und ist Vorraussetzung für das erstellen des Servers.

„Wie wird ein acarsserv Server mit SQLite3 Datenbank zum speichern von ACARS Meldungen auf dem Raspberry Pi Zero W installiert?“ weiterlesen

Wie wird ein Multi-Channel ACARS Decoder auf einem Raspberry Pi Zero W mit Software Defined Radio (SDR) installiert?

Flugzeuge senden nicht nur transponder Daten im Bereich von 1090 MHz via ADS-B die mit Dump1090 empfangen werden können.

Auch ACARS Daten auf ca. 130 MHz (3 Meter Band). Auch diese können mit eine Software Radio und eine kleinen Raspberry Pi Zero W empfangen werden. Diese ACARS Meldungen enthalten diverse Infos, wie aus dieser Mindmap hervorgeht:

Vorraussetzung ist ein frisch installiertes Debian Raspbian Stretch Lite Version 2017-08-16 und das ein rtl_test -t ohne Fehler auf der Konsole durchläuft. Das heißt, ein RTL-SDR Software Radio ist erfolgreich installiert. „Wie wird ein Multi-Channel ACARS Decoder auf einem Raspberry Pi Zero W mit Software Defined Radio (SDR) installiert?“ weiterlesen

Raspberry Pi Zero W Headless WLAN via SSH mit Raspbian Stretch Lite Version 2017-08-16

Bei der Raspbian Stretch Lite Version 2017-08-16 konnte bei mir kein WLAN starten.

Lösung:

Es muss eine leere ssh Datei und eine wpa_supplicant.conf mit folgenden Inhalt in das /boot Verzeichnis der SD-Karte kopiert werden, dann läuft auch die Anmeldung mit User pi und Passwort raspberry. Die beiden ersten Zeilen sind nun von Jessie auf Stretch hinzugekommen.

Weitere Details siehe hier und für den SSH hier zu finden.