Ein digitales Flugbuch im Eigenbau

High and Low auf dem Modellfluggelände

von Claus Eckert.

Die Idee hinter diesem Projekt: Ein simples, digitales Flugbuch für unseren Verein – unkompliziert, günstig und perfekt auf unsere Bedürfnisse abgestimmt. Da wir hauptsächlich Segelflug- und Elektroflugmodelle nutzen, müssen keine komplexen Anforderungen erfüllt werden. Im Grunde handelt es sich um ein smartes Zeiterfassungssystem, ähnlich wie man es aus vielen Unternehmen kennt.

Das Prinzip ist einfach: Jeder Pilot meldet sich mit einem 125 kHz RFID-Chip an und später wieder ab. Praktisch: Diese RFID-Chips verwenden wir schon für das Türschließsystem der Vereinshütte – also nutzen wir sie direkt doppelt.


In dieser Anleitung zeige ich Dir, wie Du so ein System selbst aufbauen kannst – entweder mit den 125 kHz-Chips oder angepasst für 13,56 MHz RFID-Karten oder sogar für ID-Karten, wenn Du das lieber einsetzen möchtest. Die Hardware lässt sich auch problemlos erweitern, zum Beispiel um verschiedene Modellkategorien (Verbrenner, Elektro usw.) zu erfassen. Dafür findest Du später im Text ein paar nützliche Codeschnipsel und Ideen – inklusive Erklärungen, wie du mit Hilfe von KI den Code noch smarter machen kannst.

Dateien & Vorbereitung
Der Anhang enthält mehrere Dateien mit der Endung .txt. Diese musst Du wie folgt vorbereiten:
  1. Lade die Dateien herunter,
  2. ändere die Dateiendung von .txt auf .zip (Du kannst die Warnmeldung beim Umbenennen einfach bestätigen) und
  3. entpacke die .zip-Datei in einen beliebigen Ordner.
Sobald Du das für alle Dateien gemacht hast, befinden sich alle wichtigen Infos und Programmdateien lokal auf deinem Rechner.

Anpassungen im Code
Bevor Du loslegst: In den Programmdateien sind an einigen Stellen Anpassungen nötig – etwa WLAN-Zugangsdaten oder individuelle Parameter. Keine Sorge, alle Änderungen sind in dieser Anleitung genau beschrieben und im Code klar markiert.

Gehäuse & Hardware
Außerdem findest Du im Anhang drei .stl-Dateien für das Gehäuse – ideal, wenn Du einen 3D-Drucker hast. Freund Udo (NieDa-Alpin) hat dieses Gehäuse entsprechend meiner Vorlage angepasst, verbessert und gedruckt. Darin kannst Du die komplette Hardware sauber einbauen. Je nachdem, wie Du dein Setup gestalten willst, musst du eventuell noch kleine Anpassungen vornehmen (z. B. für Schrauben oder Kabeldurchführungen). Das geht am einfachsten mit einem Lötkolben oder etwas Heißkleber.



1742226908141.png


Server, Datenbank, Cronjob und Website
Du benötigst selbstverständlich einen Webspace auf einem Server, eine Datenbank, einen Cronjob und eine Webadresse. Bei den meisten Hostern auf denen Vereinswebseiten laufen, ist das alles vorhanden. Wenn Du nicht der Admin deiner Vereinswebseite bist, nimm mit ihm Kontakt auf. Um die Dateien auf den Webspace hochladen zu können, benötigst Du einen SFTP-Zugang zum Webspace und ein entsprechendes Programm, um die Daten hochladen zu können, z.B. FileZilla o.ä.

Dann brauchst Du die Zugangsdaten zum Webspace und die Datenbank, um diese einrichten zu können. Spreche das alles mit Deinem Admin durch. Zeige ihm auch diesen Magazinbeitrag, damit er sich vorstellen kann was einzurichten ist.

Das klingt alles komplizierter als es ist.

Also, genug Theorie – legen wir los und bauen ein digitales Flugbuch!


ESP32 WROOM.jpg


Hardware anschließen

ESP32 WROOM anschließen:
Den ESP32 WROOM entweder über ein Expansion Board mit integriertem 12 V-Anschluss an einem Netzteil mit 12 V anschließen oder direkt den ESP32WROOM an seiner USB-Buchse mit 5 V versorgen.

Es gibt noch die Möglichkeit, den ESP32 mit 5 V auf dem 5 V-Pin zu versorgen. Aber die Spannung muss dann exakt 5 V betragen.

Wichtiger Hinweis:
Es gibt Expansion Boards, bei denen stimmen die GPIOs des ESP32 nicht mit der Bezeichnung auf der Platine überein.
Nachdem die Verkabelung vorgenommen wurde und vor der Inbetriebnahme:
Unbedingt alle Leitungen vom entsprechenden Lötpunkt des GPIO auf dem ESP32 bis zum jeweiligen Steckerkontakt am Zusatzgerät mit einem Messgerät auf Durchgang prüfen. Dazu genügt der Prüftongenerator eines Multimeters.


LCD_Display.jpg


LCD 1602 mit HD44780 anschließen:

Verkabelung:

SignalGPIO-PinFunktion
I2C SDA (LCD)GPIO21I2C-Datenleitung
I2C SCL (LCD)GPIO22I2C-Taktleitung


RDM6300_ohne_Antenne.jpg


RDM6300 RFID-Leseplatine anschließen:

Der RDM6300 hat keine LED.
SignalGPIO-PinFunktion
RFID RXGPIO17Datenempfang vom RFID-Modul
RFID TXGPIO -1(Nicht genutzt, TX bleibt unbelegt)


MAX93578A.jpg

MAX98357A Audio-Platine anschließen:

Der MAX98357A hat keine LED.

Verkabelung:
SignalGPIO-PinFunktion
DINGPIO33Data In (I2S Datenleitung)
BCLKGPIO26Bit Clock (BCLK)
LRCGPIO25Left-Right Clock (LRCLK)
SchraubklemmeLautsprecher 8 Ohm


SD-Card-Modul.jpg


Micro-SD-Card anschließen:
Die Micro-SD-Card Platine hat keine LED.

Verkabelung:
SignalGPIO-PinFunktion
CSGPIO15Chip-Select (CS)
SCKGPIO18SPI Clock (SCK)
MOSIGPIO23Master Out Slave In (MOSI)
MISOGPIO19Master In Slave Out (MISO)


Reset-Taster anschließen:

Verkabelung:
SignalGPIO-PinFunktion
GND aufGPIO4Manueller ESP32 Reset


Das Arduino-ESP32-Projekt:

Der Anhang enthält die Datei Arduino_ESP32_Projektanleitung-1.pdf.
Darin befindet sich die Anleitung, was Du auf Deinen PC laden musst und wie Du die diversen Boards und Bibliotheken laden musst.
Wenn Du neu in der Arduino-IDE bist, dann gehe bitte Schritt für Schritt vor. Die dort beschriebenen Einstellungen sind für die weiteren Schritte essentiell. Erst wenn das erledigt ist, kannst Du mit dem nächsten Schritt weitermachen.


Hardware vorbereiten:

LCD-Display
Nachdem alle Verbindungen hergestellt sind, den Sketch LCD_Bus_Check.ino auf den ESP32 hochladen.
Anschließend im seriellen Monitor der Arduino IDE auslesen.

Beispiel:
I2C-Gerät gefunden bei Adresse 0x27
Dann den ermittelten Wert im Sketch LCD_Funktionscheck.ino in Zeile 4 und 5 eintragen.

Beispiel:
// Initialisiere das LCD-Panel mit der I2C-Adresse 0x27
LiquidCrystal_I2C lcd(0x27, 16, 2);

Jetzt den Sketch hochladen und die Anzeige beobachten. Wenn nichts zu sehen ist, den Kontrast auf der Rückseite am Poti verstellen. Bitte ganz vorsichtig und langsam, da die Einstellung manchmal etwas sprunghaft ist.

Wenn jetzt der Text „I2C Test OK“ zu lesen ist, dann funktioniert das LCD-Display einwandfrei.

Im nächsten Schritt muss der oben ermittelte Wert in die Datei Flugbuch_mit_RD6300_LCD_Audio.ino in den Zeilen 12 und 13 eingetragen werden:
// LCD-Initialisierung: Adresse 0x27, 16 Spalten, 2 Zeilen
LiquidCrystal_I2C lcd(0x27, 16, 2);
Die Datei speichern, aber noch nicht auf den ESP32 hochladen.

Peripherie erstellen

Die nächsten Schritte sind die Datenbank, die api.php, die get_flightlog.php, die add_user.php, die update_timestamps.php, die db_test.php und die Flugbuchverwaltung.php funktionsfähig zu machen.

Datenbank:
Als Datenbank verwenden wir eine MYSQL-Datenbank mit zwei Tabellen.
Wir erzeugen eine Tabelle users und eine Tabelle timestamps.

Zum Verständnis:
Die Tabelle users enthält die Spalten id, rfid_users, firstname und lastname. In diesen Spalten werden neben der RFID des Chips die Vor- und Nachnamen des Mitgliedes eingetragen.
Die Tabelle timestamps enthält die Spalten user_id, check_in und check_out.
Die user_id wird aus der Identifizierung mittels der RFID aus der Tabelle users übernommen. Check_in und check_out enthält die entsprechenden Zeiten.

Hier der SQL-Code, um die Tabellen in der MYSQL-Datenbank zu erzeugen:

SQL:
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
rfid_uid VARCHAR(50) UNIQUE NOT NULL,
firstname VARCHAR(50),
lastname VARCHAR(50)
);

CREATE TABLE timestamps (
id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT,
check_in DATETIME,
check_out DATETIME,
FOREIGN KEY (user_id) REFERENCES users(id)
);

So sollte die Datenbank aussehen (ohne die Getränkeliste).
Dies ist die Tabelle users in der die User erfasst werden. Die id wird von der Datenbank vergeben. Alle weiteren Angaben werden komfortabel über den Browser eingegeben.


DB_2.JPG

Hier die Tabelle timestamps zur Zeiterfassung. Diese Daten werden mit der Erfassung des RFID-Chips am Gerät automatisch eingetragen.


DB_1.JPG

Ein Blick auf den User im Modus bearbeiten. Hier kann man die Daten manuell ändern falls man bei der erstmaligen Usererfassung über den Browser einen Schreibfehler gemacht hat.


DB_3.JPG


Dateien auf dem Server:
Nachdem die Tabellen in der Datenbank erzeugt sind, wenden wir uns den Dateien zu, die auf den Server geladen werden müssen.
Zuerst testen wir die Datenbank mit der db_test.php

Hier der Code der Datei:
PHP:
<?php
$servername = "Hier bitte den Servernamen eintragen"; // Die Anführungszeichen bleiben in allen Zeilen stehen!
$username = "Hier bitte den Usernamen eintragen";
$password = "Das Passwort eintragen";
$dbname = "Der Name der Datenbank";
// Verbindung testen
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Verbindung fehlgeschlagen: " . $conn->connect_error);
}
echo "Verbindung erfolgreich!";
$conn->close();
?>

Diese Datei ausfüllen und auf den Server hochladen.
Dann den Browser öffnen und die URL des Servers aufrufen. Dahinter /db_test.php eintragen. Nach dem Absenden sollte im Browser eine Nachricht stehen.
Im besten Fall: Verbindung erfolgreich!
Im schlechtesten Fall: Verbindung fehlgeschlagen:
Dann bitte alle Eintragungen in der Datei überprüfen.
Erst wenn die Verbindung erfolgreich ist, kann weitergearbeitet werden.

Es empfiehlt sich, den Block von servername bis dbname und die Zugangsdaten komplett zu kopieren und in einer Textdatei zu speichern. Die Daten werden in den folgenden Dateien am Anfang wieder benötigt.

Die Datei api.php
In der api.php müssen die Zugänge zur Datenbank eingetragen werden.
Dazu in der db_test.php die entsprechenden Zeilen markieren, kopieren und in den Zeilen 8 bis 11 der api.php einfügen.
Dann die api.php auf den Server laden.

Was macht die Datei?
Die Datei sendet die Daten vom RFID-Chip in die Datenbank und prüft, ob die RFID vorhanden ist. Prüft, ob für diese RFID ein Check-In vorhanden ist. Falls nicht, wird ein Check-In gesetzt. Wenn ein Check-In vorhanden ist, wird ein Check-Out gesetzt. Wenn Daten auf der SD-Karte gespeichert sind, werden diese in die Datenbank eingetragen.

Die Datei add_user.php
Wenn ein User eingefügt werden soll, dann muss dieser in die Datenbank eingetragen werden.
In der add_user.php müssen die Zugänge zur Datenbank eingetragen werden.
Dazu in der db_test.php oder in der Textdatei die entsprechenden Zeilen markieren, kopieren und in den Zeilen 8 bis 11 der add_user.php einfügen.
Anschließend die Datei add_user.php auf den Server hochladen.

Was macht die Datei?
Die Datei ist die Steuerungsdatei für den Usereintrag in die Datenbank. Die Datei wird von der Flugbuchverwaltung.php angesteuert.

Die Datei get_flightlog.php
In der get_flightlog.php müssen die Zugänge zur Datenbank eingetragen werden.
Dazu in der db_test.php oder in der Textdatei die entsprechenden Zeilen markieren, kopieren und in die Zeilen 3 bis 6 der get_flightlog.php einfügen.
Dann die get_flightlog.php auf den Server laden.

Was macht die Datei?
Die Datei ist die Abfragedatei für die Flugbuchdaten der Datenbank. Die Datei wird von der Flugbuchverwaltung.php angesteuert.

Die Datei update_timestamps.php
In der Datei update_timestamps.php müssen die Zugänge zur Datenbank eingetragen werden.
Dazu in der db_test.php oder in der Textdatei die entsprechenden Zeilen markieren, kopieren und in die Zeilen 3 bis 6 der update_timestamps.php einfügen.

Was macht die Datei?
Die Datei prüft auf der Datenbank, ob es an einem Tag fehlende Check-Out gibt und setzt diese automatisch auf 22.00 Uhr.
In der Zeile 14 kann der Wert 22.00 Uhr verändert werden.
SET check_out = CONCAT(CURDATE(), ' 22:00:00')
Die Datei erzeugt eine Log-Datei im Server. Dort werden lediglich Fehler geloggt.

Der Cronjob
Damit die update-timestamps.php funktioniert, benötig man einen Cronjob, also ein täglich zeitgesteuertes Starten der Datei.
Es gibt verschiedene Möglichkeiten, Cronjobs einzurichten. Eine Lösung ist via cronjob.org
Dazu legt man sich einen Account an, nimmt die Einstellungen vor und das war es auch schon.


Cronjob.jpg


Die Datei Flugbuchverwaltung.php

In dieser Datei muss eigentlich nichts geändert werden. Man kann ganz unten im Footer die Jahreszahl ändern. Da die Datei nicht unbedingt für Jedermann im Netz zugänglich ist, ist das nicht zwingend erforderlich. Die Datei kann auch anders benannt werden.
Sie muss ebenfalls auf den Server hochgeladen werden.
Diese Datei wird nach dem Hochladen auf den Server im Browser aufgerufen.
Dazu die URL eingeben z.B.https://Meine_Vereinswebsite.de/Flugbuchverwaltung.php
Wenn die Datei nicht auf der ersten Ebene des Servers liegt, muss nach der Website ggf. noch der Ordner angegeben werden. Man kann auch eine interne Weiterleitung verwenden. Das ist je nach Hoster oder Serverstruktur verschieden.

Wenn man das Design ändern möchte, kann man das im ersten Teil der Datei vornehmen. Zwischen den Tags <style> und </style> stehen die Style-Angaben.
Selbstverständlich können die Beschriftungen geändert werden.
Dazu bitte den Editor Notepad++ verwenden und die Datei darin öffnen.
Normalerweise werden dann alle Texte in Schwarz angezeigt. Diese lassen sich dann ändern. Nach dem erneuten Hochladen auf den Server sieht man nach dem Aktualisieren das Ergebnis im Browser.

Die Datei Flugbuch_mit_RD6300_LCD_Audio.ino

Sind alle Dateien auf dem Server im selben Ordner hochgeladen?
Dann wird wieder die Datei Flugbuch_mit_RD6300_LCD_Audio.ino geöffnet.
Hier sind folgende Einträge vorzunehmen:
In Zeile 21 ist die SSID des WLAN-Netzes einzutragen.
In Zeile 22 wird das Passwort des WLAN-Zugangs eingetragen.
In Zeile 121 muss die URL zur api.php eingetragen werden. Also z.B. https://Mein_Verein.de/api.php
Der gleiche Eintrag ist in Zeile 368 vorzunehmen.

Was macht die Datei?
Die Datei stellt die WLAN-Verbindung her. Sie steuert das gesamte Management des elektronischen Flugbuches. Sie greift auf die api.php zu und überträgt alle erfassten Daten in die Datenbank. Sollte keine WLAN-Verbindung vorhanden sein, speichert sie die Daten auf der SD-Karte. Sobald die WLAN-Verbindung wieder besteht, werden diese Daten in die Datenbank übertragen.
Die Datei steuert die gesamte Hardware. Sie fragt die Check_In.wav und Check_Out.wav auf der SD-Karte ab.
Alle Vorgänge werden im LCD angezeigt.
Die Datei wird einmal auf den ESP32 WROOM geladen und steuert ab diesem Zeitpunkt das digitale Flugbuch.

Die Audio-Dateien Check_In.wav und Check_Out.wav
Die Audio-Dateien sind mit rudimentärem Text und einer weiblichen Stimme versehen.
„Herzlich willkommen. Du bist eingecheckt. Viel Spaß beim Fliegen.“
„Du bist ausgecheckt. Gute Heimfahrt.“
Wenn man eigene Audiodateien verwenden will, gibt es viele Möglichkeiten.
Man kann selbst aufnehmen oder eine kostenlose „Text to Speech“-Variante wählen. Beispiel https://speechgen.io
Den Text schreiben, eine Stimme auswählen, anhören und gegebenenfalls ändern oder speichern.

Wichtiger Hinweis:
Es kann sein, dass man die Datei in ein passendes Format umwandeln muss, damit sie abgespielt werden kann.
https://www.audacityteam.org/ bietet einen kostenlosen Audio-Editor an. Wichtig ist, die Dateien müssen beim Export in 16Bit PCM und im wav-Format gespeichert werden. Sonst lassen sie sich nicht abspielen.

Die Dateien werden auf die SD-Karte hochgeladen. Dabei den Namen der Datei nicht ändern. Es sei denn, man ändert eigenständig in der Datei Flugbuch_mit_RDM6300_LCD_Audio.ino in den Zeilen 137 und 142 die Bezeichnung der wav-Dateien.

Alles überprüfen
Wenn die Datenbank eingerichtet ist, alle Dateien wie oben beschrieben aktualisiert sind, auf den Server hochgeladen sind, die Hardware korrekt verkabelt wurde, alle Prüfungen, wie vorher beschrieben, vorgenommen worden sind, dann sollte das digitale Flugbuch funktionieren.

Der erste Test
Die nächste Aufgabe besteht darin, die RFID an die Antenne zu halten, auszulesen und im Browser auf der https://Mein_Verein.de/Flugbuchverwaltung.php mit dem Vornamen und Nachnamen des Mitglieds einzutragen. Das geht vor Ort bequem mit dem Smartphone. Nach der Bestätigung im Browser, kann der Chip erneut in den Bereich der Antenne gehalten werden und dann sollte ein Check-In erfolgen.
Jetzt sollte alles funktionieren.

Tipps und Tricks:
Als Editor für die Dateien am besten Notepad++ verwenden.

Keine Angst vor der Datenbank. Das ist eigentlich ein simples Teil. Da werden nur Daten in Tabellen und Spalten gespeichert. Alles, was dort gespeichert ist, kann dort auch bearbeitet und gelöscht werden. Das Abrufen der Daten für das digitale Flugbuch erfolgt über die diversen php-Dateien. Wenn man das Grundprinzip mal verstanden hat, sinkt der Respekt und man wird mutiger im Umgang.
Die SQL-Statements zur Einrichtung der Tabellen müssen nur einmal geladen werden.

Am besten eignet sich php-myadmin für das Arbeiten in der Datenbank. Hoster wie Strato bieten das Programm als Standard an.

Alle Bauteile in Ruhe vorbereiten. Bei manchen müssen Steckerleisten angelötet werden. Die Verkabelung kann mit Dupont-Buchsen mit 2,54 mm und passenden Kabeln hergestellt werden. Eine Crimpzange und ein Sortiment mit mehreren Buchsenreihen ist hilfreich. Suchen mit „Dupont 2.54 Buchsenleisten“.

Bestellung der Hardware:

ESP32 WROOM

Die ESP32 WROOM gibt es von verschiedenen Anbietern. Sowohl in der EU als auch in Fernost.
Das Expansion Board benötigt 38 Pins.
Der ESP 32 WROOM hat 38 Pins.
Ein Kabel USB A auf C ist erforderlich für die Verbindung vom PC zum ESP32.

RFID-Lesemodule

RDM6300


RDM6300_ohne_Antenne.jpg


Modul ohne Antenne​

Bei der Bestellung des RFID-Lesemoduls RDM6300 aufpassen, dass man nur die RDM6300 kauft.

EM4100

EM4100.jpg



Es gibt EM4100 RFID-Lesemodule, die können nur mit aufwändiger Änderung im Code der Flugbuch_mit_RDM6300_LCD_Audio.ino verwendet werden. Diese Module geben den RFID-Code im Wiegand-Format aus. Eine Datei dafür habe ich geschrieben. Aber die entsprechenden Codeteile müssen manuell in die Flugbuch_mit_RDM6300_LCD_Audio.ino eingefügt werden. Das ist eher etwas für Spezialisten unter den Lesern.


MFRC522

MFRC522.jpg


Diese Lesemodule funktionieren nicht mit den 125kHz-RFID-Chips, sondern mit 13,56 MHz. Um diese zu verwenden, muss der Code umgeschrieben werden. Das ist ebenfalls aufwändig. Eine Datei dafür habe ich geschrieben. Aber die entsprechenden Codeteile müssen gesucht werden und manuell in die Flugbuch_mit_RDM6300_LCD_Audio.ino eingefügt werden. Das ist ebenfalls nur etwas für Spezialisten unter den Lesern.

Bitte dazu auch die Read_me.txt in der Änderungsdateien.txt lesen. Bitte die Extension (Dateinamenerweiterung) von txt in zip ändern und die Dateien extrahieren.


Einbau.jpg

Sonstige Hardware
Das SD-Card-Modul, die SD-Karte, das Display LCD 1602 mit HD44780, der Taster für die Reset-Funktion, die 125kHz-Chips und der MAX98357A Audiobaustein und ein entsprechender Lautsprecher mit 8 Ohm sind überall lieferbar.

Kein WLAN vor Ort?
Das lässt sich relativ einfach lösen. Ein Vereinsmitglied (Vorstand?) mit einem Smartphone stellt einen Hotspot zur Verfügung. Die SSID und das Passwort muss in der Datei Flugbuch_mit_RDM6300_LCD_Audio.ino eingetragen werden.

Sobald das Mitglied in der Nähe des digitalen Flugbuches ist, startet die Übertragung der Daten, die auf der SD-Karte gespeichert worden sind und überträgt die Daten in die Datenbank. (ggf. einmal den Reset-Taster betätigen) Die Datenmenge ist wirklich gering. Dann kann das Mitglied über den Browser die Flugbuchverwaltung aufrufen und die Daten im Flugbuch ansehen.

Stromausfall
Kein Problem, die Daten und das digitale Flugbuch funktionieren nach dem Stromausfall wieder einwandfrei. Natürlich werden während des Ausfalls keine Daten gespeichert.

Es sei denn, in der Stromversorgung ist ein Akku integriert, der bei Ausfall der Netzspannung den ESP weiter mit Spannung versorgt.

Weitere Ideen?

Digitale Getränkekasse
Da bei uns im Verein alle Getränke den gleichen Preis haben, kam mir die Idee, ein zweites Gerät zu bauen, bei dem man nur seinen RFID-Chip an die Antenne hält und ein Getränk gebucht wird. Das läuft auf der gleichen Datenbank. Da ja die IDs zugeordnet sind, war das eine leichte Übung.

App-Alternative
Warum der ganze Aufwand, wenn es doch auch eine App für die meisten Fluggelände gibt. Das ist selbstverständlich ein Argument. Allerdings sind wir zeitlich noch weit entfernt von einem intensiven Drohneneinsatz, der die Aktivierung von Fluggeländen in Dipul erforderlich macht. Es sieht auch nicht so aus, als würde sich in absehbarer Zeit daran etwas ändern. Auch wenn die Flugbuchfunktion in der App angenehm ist.

Es gibt aber genügend Vereine, die zwar einer komfortablen, digitalen Lösung nicht entgegenstehen, aber die Datenhoheit im Verein belassen möchten. Eine Insellösung entspricht dem genau und sollte sich irgendwas irgendwann ändern, kann man immer noch auf eine App wechseln.

Erweiterungsmöglichkeiten
Es gibt Vereine, bei denen muss im Flugbuch angegeben werden, ob es sich um ein E-Flugmodell oder V-Flugmodell handelt. Das lässt sich über weitere Taster realisieren. In der Datenbank kann man eine Spalte flight_type einfügen. Auch der Flugleiter wäre so zu erfassen. Dazu muss man eine weitere Spalte in der Datenbank generieren. Es muss dann lediglich der Code ergänzt werden. Dabei kann man sich von einer KI helfen lassen. Einfach den Code der Flugbuch_mit_RDM6300_LCD_Audio.ino in die KI eingeben und schreiben, was man benötigt. Zum Beispiel: „Füge mir in diesen Code weitere Taster mit folgenden Funktionen ein: Verbrenner, Elektro, Flugleiter.“
Dann sollte der Code von der KI entsprechend ergänzt werden.
Diese neuen Funktionen müssen in der api.php, get_flightlog.php und in der Flugbuchverwaltung.php eingetragen werden. Auch dabei ist eine KI hilfreich.
Für eine neue Spalte in der Datenbank z.B. Flugleiter, kann diese komfortabel mit PHP-MyAdmin eingefügt werden oder dieses SQL-Statement als Beispiel verwendet werden:

SQL:
ALTER TABLE `timestamps` ADD `flugleiter` VARCHAR(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL ;

Wir führen die Flugleitereintragungen bzw. -wechsel in einer eigenen Liste, da untertägige Wechsel damit einfacher dokumentiert werden können.


Dokumente und Quellen:
RDM6300.pdf
LCD_Display_HD44780.pdf
HD44780_Pins.pdf
LCD_Display_Abmessungen.pdf

Micro_SD_Card_Modul_1.pdf
Micro_SD_Card_Modul_2.pdf
Check_In.wav
Check_Out.wav

GPIO_Pins.txt
Arduino_ESP32_Projektanleitung.pdf

DB_1.jpg
DB_2.jpg
DB_3.jpg



Quellen:
Roboter-Bausatz.de, ChatGPT, Microsoft Edge Cockpit, eigene Bilder, eigene Texte.
 

Anhänge

Klasse Projekt, die Komponenten sind bestellt, wir werden es testen.

Auch werden wir die Getränkefunktion testen, wir haben 2 Preise (Getränke und Café)
Danke für den Input.

Eine bitte, könntest du nochmal auf den Taster eingehen? Welchen verwendest du, auf dem Bild sieht es aus als hätte er 3 oder 4 Kontakte.

In der Anleitung finde ich nur Anschluss auf GND (das ist alles? Woher muss das Signal kommen 😅)
 
Hallo,

die Taster haben vier Anschlüsse.
Zwei für die Tastfunktion zwischen GPIO 4 (für die Reset-Funktion) und GND.
Zwei weitere sind für den LED-Ring des Tasters, also die Beleuchtung. Die gehen auf GND und 3,3V oder 5V.
Die Beleuchtung benötigt man nicht. Man kann auch Taster ohne Beleuchtung verwenden.

Wenn ihr zwei Preise habt, dann benötigt ihr zwei weitere Taster. Die schalten zwei weitere GPIOs welche ihr selber festlegt. Der Code muss entsprechend ergänzt werden. Ich würde nach dem Einlesen des RFID-Chips einen Stop setzen, im Display z.B. "Auswahl treffen" und erst nach Bestätigung der Tastfunktion die Daten weitersenden.
In der Datenbank muss dann eine zweite Spalte für beide Preise gesetzt werden. Ansonsten müssen die im Text erwähnten Dateien mit entsprechendem Code ergänzt werden.
Ganz ohne Aufwand ist das nicht. Aber das schafft ihr. 👍
 
Hallo,
sehr schön.
Damit haben wir dann 3 Apps für ein Flugbuch, das in D einsetzbar ist und eine nicht kommerzielle Lösung unter vollständiger Kontrolle des Vereins / Anwenders darstellt. Die Daten werden lokal oder auf vereinseigenen Servern gespeichert.

Das sind:
Die Lösung von Claus (RF-ID)
Die Lösung Von Stephan (https://github.com/stephanflug/digitales-Flugbuch) (RF-ID)
Die Lösung des MFSD (https://www.mfsd.de/flugbuch-app/)

Die Lösung von Stephan ist für den österischen Markt designt, passt aber auch für D. Diesse Lösung erfordert RF-ID Chips oder Tags
Die Lösung von Claus ist für den deutschen Markt und erfordert ebenfalls RF-ID Chips oder Tags.
Die MFSD-Lösung ist ebenfalls für den deutschen Markt und arbeitet mit Tablets Smartphones oder PCs unter iOS, Android ober Windows.
Es gibt in Östereich noch weitere zum Teil sehr mächtige Lösungen, die aber sehr nationalspezifisch und nicht diekt in D anwendbar sind.

Damit dürften jedenfalls elektronische Flugbuchlösungen für jede Kragenweite verfügbar sein, die die Privacy der Daten des Flugbetriebs in hohem Mass garantieren und die Daten keinefalls an kommerzielle Anwender weitergeben damit dieser diese monetarisieren oder anderweitig weiterverwenden kann.

Gruss
Frank
 
die Taster haben vier Anschlüsse.
Zwei für die Tastfunktion zwischen GPIO 4 (für die Reset-Funktion) und GND.
Zwei weitere sind für den LED-Ring des Tasters, also die Beleuchtung.
Weil ich gerade eben so einen Taster in den Fingern hatte, mal schnell zwei Bilder.
Schwarz ist GND und für den LED-Ring und die Tastfunktion gebrückt.
Rot ist Plus.
Gelb geht zum GPIO.

IMG_5367.jpeg


Diese Taster gibt es in verschiedenen Farben.

IMG_5368.jpeg


Bezugsquelle:
Wittkoware 14mm Taster beleuchtet
 
Zuletzt bearbeitet:

News

Ansicht hell / dunkel umschalten
Oben Unten