![]() |
![]() |
Der Serial-to-Ethernet Konverter der UAV-DEV GmbH ermöglicht eine deutlich höhere Datenrate im Vergleich zu klassischer UART-Telemetrie. Über die serielle Schnittstelle des Autopiloten sind Übertragungsraten bis zu 12,5 Mbit/s realisierbar.
Ein besonderer Vorteil der Ethernet-Integration: Mehrere parallele Netzwerkverbindungen laufen über eine einzige serielle Schnittstelle des Autopiloten.
Beispielsweise gleichzeitig:
Das Ethernet-Interface verteilt die Daten IP-basiert, ohne zusätzliche UART-Ports am Autopiloten zu belegen – ein großer Vorteil bei STM32H7-Autopiloten mit begrenzten Schnittstellen.
Dank Ethernet-Anbindung können Flight Logs erheblich schneller aus dem ArduPilot ausgelesen werden:
Gerade bei datenintensiven Missionen spart dies wertvolle Zeit im Feld und im Labor.
![]() |
![]() |
JST-GH 4 Pin
| Pin | Signal |
| 1 | +5V |
| 2 | CAN_H |
| 3 | CAN_L |
| 4 | GND |
JST-GH 4 Pin
| Pin | Signal |
| 1 | RX- |
| 2 | RX+ |
| 3 | TX- |
| 4 | TX+ |
| Pin | Signal |
| 1 | +5V |
| 2 | RX |
| 3 | TX |
| 4 | RTS |
| 5 | CTS |
| 6 | GND |
| ArduPilot | ja ≥ Version 4.5 |
| PX4 | nein |
Der Adapter wird über seinen Port SERIAL1 mit einer seriellen Schnittstelle des Autopiloten verbunden. Für die volle Datenrate von 12,5 Mbit/s ist autopilotseitig ein Port mit Hardware-Flusssteuerung (RTS/CTS) erforderlich, bei den meisten Autopiloten sind das SERIAL1 oder SERIAL2. Ohne Flusssteuerung ist die Baudrate auf maximal 921.600 Baud begrenzt.
Die Steckerbelegung der SERIAL-Ports am Adapter ist so ausgelegt, dass die Verbindung mit einem handelsüblichen 1:1-Kabel (JST-GH, 6-polig) hergestellt wird. Ein Kreuzen der RX/TX- oder RTS/CTS-Leitungen ist nicht erforderlich, das Standard-Telemetriekabel des Autopiloten kann direkt verwendet werden.
SERIAL2 des Adapters ist nicht für die PPP-Verbindung vorgesehen, sondern steht als freier serieller Port für weitere Anwendungen zur Verfügung, etwa zum Anschluss zusätzlicher serieller Geräte, deren Daten über die Firmware des Adapters in das Netzwerk gebrückt werden.
Der ETHERNET-Port wird mit dem Netzwerk verbunden, zum Beispiel direkt mit einem Companion Computer, einer Bodenstation oder dem UAV-DEV Ethernet-Switch. Kabellängen von 1 bis 2 Metern lassen sich mit verdrillten Adernpaaren (22 bis 24 AWG) realisieren, für längere Strecken empfiehlt sich CAT5-Kabel oder besser.
Hinweis: PPP kann nicht auf Autopiloten mit eigenem Ethernet-MAC genutzt werden. Pro Autopilot ist genau eine PPP-Verbindung über genau einen seriellen Port möglich.

PPP ist ab ArduPilot 4.5 verfügbar, jedoch nicht in jeder Standard-Firmware enthalten. Die Unterstützung lässt sich auf zwei Wegen aktivieren:
--enable-PPP an waf übergeben.Beim CubeOrangePlus ist PPP bereits in der Standard-Firmware enthalten.
Im Beispiel wird SERIAL1 des Autopiloten verwendet:
| Parameter | Wert | Bedeutung |
|---|---|---|
| SERIAL1_PROTOCOL | 48 | PPP |
| SERIAL1_BAUD | 12500000 | 12,5 MBaud (nur mit RTS/CTS) |
| BRD_SER1_RTSCTS | 2 | Flusssteuerung automatisch (Standardwert) |
Anschließend den Autopiloten neu starten. Wird ein Port ohne Flusssteuerung verwendet, SERIAL2_BAUD auf maximal 921600 setzen.
| Parameter | Wert | Bedeutung |
|---|---|---|
| NET_ENABLE | 1 | Netzwerk-Stack aktivieren |
Nach einem Neustart sind die weiteren NET_-Parameter sichtbar.
Standardmäßig ist DHCP aktiviert. Der Autopilot bezieht seine IP-Adresse, Subnetzmaske und Gateway damit automatisch vom DHCP-Server des angeschlossenen Netzwerks. Die zugewiesene Adresse lässt sich am einfachsten in der Lease-Übersicht des Routers bzw. DHCP-Servers ablesen.
Alternativ kann eine statische Konfiguration verwendet werden:
| Parameter | Wert | Bedeutung |
|---|---|---|
| NET_DHCP | 0 | DHCP deaktivieren |
| NET_IPADDR0..3 | z.B. 192.168.144.14 | IP-Adresse des Autopiloten |
| NET_NETMASK | 24 | Subnetzmaske 255.255.255.0 |
| NET_GWADDR0..3 | z.B. 192.168.144.1 | Gateway |
Eine statische Adresse empfiehlt sich insbesondere, wenn der Autopilot als Server angesprochen wird (TCP-Server, Webserver), damit die Adresse über Neustarts hinweg konstant bleibt. Der Adapter arbeitet als PPP-Gegenstelle und Ethernet-Gateway und leitet die Pakete transparent in das angeschlossene Netzwerk weiter.
ArduPilot stellt vier logische Netzwerk-Ports bereit (NET_P1 bis NET_P4). Jeder Port kann als UDP-Client (1), UDP-Server (2), TCP-Client (3) oder TCP-Server (4) arbeiten. Nach dem Setzen von NET_Px_TYPE ist ein Neustart erforderlich, damit die zugehörigen Parameter sichtbar werden.
Beispiel 1: UDP-Client, der Autopilot sendet an die Bodenstation
| Parameter | Wert | Bedeutung |
|---|---|---|
| NET_P1_TYPE | 1 | UDP-Client |
| NET_P1_IP0..3 | 192.168.144.10 | Ziel-IP, hier die Bodenstation |
| NET_P1_PORT | 14550 | Zielport |
| NET_P1_PROTOCOL | 2 | MAVLink2 |
Der Autopilot ist hier der aktive Teilnehmer: Er schickt seine Daten von sich aus an die angegebene IP-Adresse und den angegebenen Port. Die Gegenstelle muss nichts aufbauen, sondern nur auf dem Port lauschen. In Mission Planner oder QGroundControl genügt dafür eine UDP-Verbindung auf Port 14550, die Bodenstation empfängt die Pakete dann automatisch. Mit der Ziel-IP 255.255.255.255 sendet der Autopilot per Broadcast an alle Geräte im Netzwerk, dann muss die IP der Bodenstation nicht bekannt sein.
Beispiel 2: UDP-Server, die Gegenstelle sendet zuerst an den Autopiloten
| Parameter | Wert | Bedeutung |
|---|---|---|
| NET_P1_TYPE | 2 | UDP-Server |
| NET_P1_IP0..3 | 0.0.0.0 | Auf allen Adressen lauschen |
| NET_P1_PORT | 14550 | Port, auf dem der Autopilot lauscht |
| NET_P1_PROTOCOL | 2 | MAVLink2 |
Hier ist es umgekehrt: Der Autopilot wartet passiv auf eingehende Pakete. Die Gegenstelle, zum Beispiel ein Companion Computer oder MAVProxy, muss zuerst ein Paket an die IP des Autopiloten auf Port 14550 senden. Erst danach kennt der Autopilot die Absenderadresse und schickt seine Daten dorthin zurück. Diese Variante eignet sich, wenn die IP-Adresse der Gegenstelle vorab nicht bekannt ist oder wechselt.
Beispiel 3: TCP-Client, der Autopilot verbindet sich mit einem Server
| Parameter | Wert | Bedeutung |
|---|---|---|
| NET_P2_TYPE | 3 | TCP-Client |
| NET_P2_IP0..3 | 192.168.144.20 | IP des Servers, z.B. Companion Computer |
| NET_P2_PORT | 5760 | Port des Servers |
| NET_P2_PROTOCOL | 2 | MAVLink2 |
Der Autopilot baut aktiv eine TCP-Verbindung zu der angegebenen Gegenstelle auf. Diese muss dafür bereits als TCP-Server laufen und auf dem Port lauschen, bevor der Autopilot startet bzw. sich verbindet. Typischer Anwendungsfall ist ein Companion Computer, auf dem z.B. mavlink-router oder MAVProxy als TCP-Server läuft und die Daten weiterverteilt.
Beispiel 4: TCP-Server, die Bodenstation verbindet sich mit dem Autopiloten
| Parameter | Wert | Bedeutung |
|---|---|---|
| NET_P2_TYPE | 4 | TCP-Server |
| NET_P2_IP0..3 | 0.0.0.0 | Auf allen Adressen lauschen |
| NET_P2_PORT | 5760 | Port, auf dem der Autopilot lauscht |
| NET_P2_PROTOCOL | 2 | MAVLink2 |
Der Autopilot lauscht auf dem angegebenen Port und wartet auf eingehende Verbindungen. Die Gegenstelle baut die Verbindung aktiv auf: In Mission Planner oder QGroundControl wird dazu eine TCP-Verbindung mit der IP-Adresse des Autopiloten und Port 5760 eingerichtet. Diese Variante ist praktisch, wenn der Autopilot eine feste bzw. bekannte IP hat und sich Bodenstation oder Tools bei Bedarf verbinden sollen, etwa für Konfiguration und Log-Download.
Als Merkregel gilt: Der Client baut die Verbindung auf bzw. sendet zuerst, der Server wartet. Autopilot und Gegenstelle müssen daher immer komplementär konfiguriert sein, also UDP-Client zu UDP-Server bzw. TCP-Client zu TCP-Server.
Beispiel 5: ROS 2 Companion Computer (DDS über UDP)
| Parameter | Wert | Bedeutung |
|---|---|---|
| DDS_ENABLE | 1 | DDS/micro-ROS aktivieren |
| DDS_UDP_PORT | 2019 | Port des micro-ROS Agent |
| DDS_IP0..3 | 192.168.144.20 | IP des Companion Computers |
Die Beispiele 1 bis 4 zeigen jeweils Alternativen für denselben logischen Port. In der Praxis werden die vier Ports NET_P1 bis NET_P4 kombiniert, zum Beispiel P1 als UDP-Client zur Bodenstation, P2 als TCP-Server für Log-Download und parallel dazu DDS für ROS 2. Alle Verbindungen laufen gleichzeitig über die eine serielle Schnittstelle.
Mission Planner oder QGroundControl verbinden sich wie gewohnt über UDP (Port 14550) oder TCP (IP des Autopiloten, Port 5760). Es sind mehrere gleichzeitige Verbindungen möglich, zum Beispiel Bodenstation und MAVProxy parallel.
Nach dem Neustart lässt sich die Verbindung von einem PC im selben Netzwerk prüfen:
ping <IP-Adresse des Autopiloten>
Zu beachten: Bei aktiviertem DHCP ist die IP-Adresse nicht fest, sie kann sich nach einem Neustart oder Ablauf der Lease ändern. Eine zuvor notierte Adresse ist also nicht garantiert noch gültig. Die aktuell gültige Adresse lässt sich auf zwei Wegen ermitteln:
Antwortet der Autopilot auf den Ping, steht die PPP-Verbindung und das Routing über den Adapter funktioniert.
Flight Logs können über die Netzwerkverbindung deutlich schneller heruntergeladen werden als über klassische UART-Telemetrie:
net_webserver.lua stellt einen Webserver auf dem Autopiloten bereit. Damit lassen sich Logs direkt per Browser von der SD-Karte laden: http://192.168.144.14:8080
Dieses Produkt enthält Softwarebestandteile aus dem Open-Source-Projekt ArduPilot (GPLv3).
Quellcode und Änderungen: https://github.com/mirkix/ardupilot/tree/uav-dev-ethernet
Lizenztext: https://www.gnu.org/licenses/gpl-3.0.de.html
Das Gerät unterstützt das Aufspielen eigener Firmware.
40 mm x 30 mm
PPP Serial zu Ethernet im UAV-DEV GmbH Webshop
| Entwicklung | DE |
| PCB | CN |
| Bestückung | CN |
| Konfiguration und Test | DE |
| Verpackung und Versand | DE |