Token wird nur in der aktuellen Browser-Sitzung gespeichert (nie dauerhaft, nur bei API-Anfragen übertragen).
| Datum | Pilot | Drohne | Mission | Start | Landung | Flugzeit | Akku1 (Start→Ende) | Akku2 (Start→Ende) |
|---|---|---|---|---|---|---|---|---|
| – Logbuch laden – | ||||||||
| Seriennummer | Name | Notizen | Zuletzt gesehen | |
|---|---|---|---|---|
| – keine Akkus registriert – | ||||
Zugangsdaten aus der DJI Developer-Konsole (Cloud API App). App-Key und App-Lizenz werden nur geschrieben und nie vom Server zurückgegeben.
Workspace / Plattform-Info (in DJI Pilot 2 angezeigt)
Medien-Upload (Pilot2)
JWT-Secret zum Signieren von Viewer-Zugangs-Tokens. Leer lassen um vorhandenen Wert zu behalten.
Das Kopplungs-Secret schützt den Zugang zu DJI-Zugangsdaten über die H5-Pilotenseite. DJI Pilot 2 muss dieses Secret angeben um ein Sitzungs-Token zu erhalten. Leer lassen um vorhandenen Wert zu behalten.
Pilot H5-URL:
Zusätzliche Hosts für WebRTC ICE-Kandidaten (NAT-Durchquerung via MediaMTX). Öffentliche Server-IP oder Hostname angeben, kommagetrennt.
Wird sofort in mediamtx.yml geschrieben und MediaMTX neu gestartet. Für NAT: öffentliche WAN-IP hier eintragen.
UDP 8189 → Server (WebRTC ICE / SRTP)TCP 8889 → Server (WebRTC HTTP/WHEP vom Browser)TCP 8554 → Server (RTSP von der DJI-Drohne)
TURN wird automatisch als Fallback verwendet wenn keine direkte Verbindung möglich ist (z.B. verschiedene Netze, Mobilfunk). Coturn muss auf dem StabServer installiert sein.
Konfiguriert den Live-Stream-Modus für DJI Pilot 2 (JSBridge). Wird über /api/pilot/config an die Pilot-App übertragen.
Typ 0 = deaktiviert, 1 = Agora, 2 = RTMP, 3 = RTSP, 4 = GB28181.
FlightHub-Verbindung testen:
Stream-Weiterleitung (RTMP)
200101 fehl.
Ordnet Geräte-/Gateway-Seriennummern Stream-IDs zu.
Einfach: {"SN":"streamId"} oder erweitert: {"SN":{"streamId":"...","model":"m30"}}
Beim Speichern wird ADMIN_TOKEN aktualisiert. Das Sitzungs-Token wird ebenfalls automatisch erneuert.
DJI-Traffic-Logging: MQTT, Pilot HTTP (Session/STS/Media-Callback), Pilot WebSocket (Marker) und WHEP-Signalling als JSONL speichern. Tägliche Rotation. Nur für Diagnose aktivieren.
Log-Dateien herunterladen (nur verfügbar wenn Logging aktiv war):
SMTP-Konfiguration für den automatischen E-Mail-Versand aus dem Teilen-Modal (Leitstelle). Passwort leer lassen um vorhandenen Wert zu behalten.
Speichern über den globalen Save Config-Button oben. Zum Testen: Teilen-Modal in der Leitstelle öffnen → Video-Link teilen → E-Mail-Tab.
FTP-Zugangsdaten für den automatischen Bild-Upload vom Server. Passwörter leer lassen um vorhandene Werte zu behalten.
2. Benutzer (Lese-Zugriff / Link-Freigabe)
Dieser Benutzer hat nur Lesezugriff. Seine Zugangsdaten werden optional in die
E-Mail eingebettet, damit Empfänger die hochgeladenen Bilder abrufen können.
Die FTP-URL wird serverseitig aufgebaut — Passwörter gelangen nie ins Frontend.
🌐 Web-Laufwerk (HTTP/WebDAV-URL)
Öffentliche oder interne URL zum FTP-Verzeichnis als Web-Laufwerk (z.B. Apache
Directory Listing, WebDAV, Nextcloud). Diese URL wird beim manuellen E-Mail-Versand
als klickbarer Link eingebettet — ohne Zugangsdaten.
Leer lassen wenn kein Web-Laufwerk konfiguriert ist.
Speichern über den globalen Save Config-Button oben.
📊 Auto-Upload Status
Dedup-Cache: verhindert dass dasselbe Bild doppelt hochgeladen wird. Löschen wenn Uploads unerwartet übersprungen werden.
Feed-URLs für externe Kartenplattformen (lagekarte.info, Google Earth, QGIS). Die URLs enthalten den Viewer-Token — nicht öffentlich teilen.
Viewer-Tokens steuern den Zugang zu viewer.html, leitstelle.html, voice.html und akku-management.html.
Tokens werden in data/config.json gespeichert.