MobiFlight
MobiFlight ist eine Open-Source-Middleware für den Bau von Home-Cockpits. Die Software verbindet Mikrocontroller (Arduino, Raspberry Pi Pico) mit X-Plane und übersetzt Simulator-Variablen in physische Ausgaben (LEDs, 7-Segment-Anzeigen, Stepper-Motoren) und umgekehrt physische Eingaben (Schalter, Encoder, Potentiometer) in Simulator-Befehle. Der MobiFlight Connector ist ausschließlich für Windows verfügbar — unter Linux ist ein Netzwerk-Split (Connector auf einem Windows-Rechner oder einer KVM/QEMU-VM) erforderlich.
Hintergrund
- Entwickler: Sebastian Möbius (Community-Projekt, MIT-Lizenz)
- Website: mobiflight.com
- GitHub: MobiFlight/MobiFlight-Connector
- Plattformen: Nur Windows 10+ (.NET Framework 4.8, Windows Forms)
- Kompatibilität: X-Plane 11/12, MSFS 2020/2024, Prepar3D
Funktionsumfang
- DataRef-Zugriff: Lesen und Schreiben beliebiger X-Plane DataRefs über UDP (Port 49000)
- Commands: Auslösen von X-Plane Commands (z.B.
sim/autopilot/heading_up) - Aircraft-Erkennung: Automatischer Wechsel der Konfiguration je nach geladenem Flugzeug
- HubHop-Presets: Über 7.000 Community-Presets für verschiedene Aircraft (Zibo 737, ToLiss A320 u.a.)
- Hardware-Support: Arduino Mega/Nano/Pro Micro, Raspberry Pi Pico, MIDI-Controller, HID-Geräte, kommerzielle Panels (Winwing, VKB, Octavi)
- Kein X-Plane-Plugin nötig: Die Kommunikation nutzt X-Planes eingebaute UDP-Schnittstelle — kein zusätzliches Plugin erforderlich
KVM-Setup
Da der MobiFlight Connector nicht unter Linux läuft (Wine/Proton ist aufgrund tiefer Windows-API-Abhängigkeiten nicht praktikabel), gibt es zwei Wege:
Netzwerk-Split (empfohlen)
MobiFlight kommuniziert mit X-Plane über UDP — das Protokoll ist netzwerkbasiert und plattformunabhängig. Damit lässt sich ein Split-Setup betreiben:
- Linux-PC: X-Plane 12 (nativ)
- Windows-PC oder -VM: MobiFlight Connector + angeschlossene Hardware
In MobiFlight die IP-Adresse des Linux-PCs eintragen (statt 127.0.0.1). X-Plane akzeptiert UDP-Verbindungen standardmäßig auf Port 49000.
Windows-VM mit USB-Passthrough
Steht kein zweiter Rechner zur Verfügung, kann eine Windows-VM (KVM/QEMU) auf dem Linux-Host den Connector ausführen. Die Arduino-Hardware wird per USB-Passthrough an die VM durchgereicht (siehe Docker & Virtualisierung für KVM-Grundlagen).
Voraussetzungen
- Windows 10+ Guest in KVM/QEMU
- USB-Passthrough für Arduino/Pico-Boards konfiguriert
- Bridged oder NAT-Netzwerk mit Host-Zugriff (für UDP Port 49000)
Für das UDP-Forwarding zwischen VM und nativem X-Plane auf dem Host eignet sich SayIntentionsForMac — das Projekt stellt sudppipe.exe und eine Dummy-X-Plane.exe bereit, die die UDP-Verbindung direkt an den Host weiterleiten. Damit entfällt die Installation eines zusätzlichen Plugins in X-Plane. Dieses Setup wurde erfolgreich getestet.