Rpanion-server 0.11.0 User Manual
This page describes how to use Rpanion-server version 0.11.0.
The installation instructions can be found at the main Rpanion-server page
This manual assumes that Rpanion-server is up and running at http://10.0.2.100:3000.
A video demonstrating installation and basic functions is available on Youtube
Features
Rpanion-server assists and automates the managing of commonly used functions of a Companion Computer.
This includes network configuration for Wifi and wired networks, low latency video streaming, NTRIP streaming, MAVLink telemetry streaming and tlog/binlog management. It is all managed from a Web based GUI.
Security
The Web GUI is protected by a username and password. The default username is admin
and password admin
.
New in this version
- Add support for Raspberry Pi 5
- Add support for NVIDIA Jetson Orin
- Add support for nodejs 22
- Flight Controller: Rpanion-server can send it's own MAVLink HEARTBEAT messages
- Add support for RasPiOS Bookworm
- Video: Better detection of Cameras
- Video: Add support for the Raspbery Pi GS Camera
- Video: Latency reductions
- Logging: Moved tlog handling to mavlink-router
- Video: More reliable detection (and usage) of hardware H264 encoding
- Video: Rpanion-server can send it's own MAVLink VIDEO_STREAM_INFORMATION messages
- Video: Basic implementation of MAVLink camera protocol
- Add username/password protection to Web GUI
- Network: Major bug fixes when adding and removing networks
- Various security fixes to Web GUI
Screens
Network
The Network page enables viewing and changing the companion computer's network settings, including both Wi-Fi and Ethernet connections. Network management is performed on an adaptor (hardware device) and connection (network settings) basis. Each adaptor can have one active connection at a time. Connections can be added, edited, or deleted using the respective buttons. For Wi-Fi connections, available networks will be displayed for selection.
Connections can be shared across adaptors of the same type unless the “Attach to specific adaptor” option is enabled. Active connections mean the adaptor is using the specified settings. If a new connection is established, any ongoing Web UI connection will need the new IP address.
Priority is given to connecting to an existing Wi-Fi network. If none is found, a Wi-Fi hotspot will start automatically, ensuring accessibility even outside known networks. Settings are saved between reboots. For network debugging, the “nmcli” tool may be used.
To disable all Wi-Fi interfaces (Flight Mode), toggle the “Wi-Fi Interfaces Enabled” button.
Flight Controller
The Flight Controller page manages telemetry (MAVLink) input and output from a connected flight controller. To enable telemetry, select the correct device, baud rate, and MAVLink version, then click “Start Telemetry”. The status section displays packet numbers, vehicle type, firmware details, and connection state. Status text from the flight controller appears in the “Console Output” box.
To forward telemetry via UDP, enter the destination in “IP:port” format and add it. Use the “UDP” connection option in Mission Planner or “udpin” option in MAVProxy. To stop telemetry, click “Stop Telemetry”.
Telemetry can also be output over TCP using the “Enable TCP Server” option, starting a server at port 5760. A single ground station can connect to a UDP server via the “UDP Server” option. Multiple connections result in high packet loss. If no ground station is connected, enabling “Enable datastream requests” triggers full telemetry stream transmission at 4Hz.
Enable telemetry logging (tlogs) by selecting the relevant checkbox. Logs are available on the Flight Logs page
dtoverlay=pi3-miniuart-bt
line may need to be added to /boot/config.txt
to have a working telemetry link
Flight Logs
The Flight Logs page manages telemetry logs (tlogs) and dataflash (bin) logs from the flight controller. When logging is enabled, all received MAVLink packets are logged to a tlog file. These logs can be downloaded by clicking on the file name.
Dataflash logs will be logged according to the settings on the flight controller. In ArduPilot, set the LOG_BACKEND_TYPE parameter to use “MAVLink” to enable Dataflash logging to Rpanion-server.
A baud rate of 921600 or higher to the flight controller is recommended. Some (F4-based) flight controllers may struggle with high-rate logging - the ``LOG_BITMASK`` Ardupilot parameter will need to be reduced in some cases.
Rpanion-server will start a new tlog:
- On boot
- When flight telemetry is started on the Flight Controller page
- When the user clicks the “Start new Logfile” button
A logfile can be downloaded via clicking on the logfile name.
To delete all inactive (not currently being used for logging) logfiles, click the “Clear inactive logs” button for each log type.
If desired, KMZ (zipped KML) files can be automatically generated from flight logs via the “Enable” button in the “KMZ files” section. The KMZ files are generated every 20 seconds, based upon the available telemetry logs.
Video Streaming
The Video Streaming page controls camera video streaming to the network via RTSP or UDP streams. Supported cameras include libcamera-supported CSI cameras and standard USB cameras. Rpanion-server detects webcams or Raspberry Pi cameras, querying each for available resolutions. Options include video rotation, timestamp overlays, bitrate and datarate.
Rpanion-server uses GStreamer to start an RTSP server, transmitting H.264 compressed video. Video can also be streamed over UDP to a single client (RTP). Connection strings for popular software packages are provided. Ensure correct IP addresses if running on multiple networks.
If the video device does not natively output H.264, it will be converted and compressed to H.264 (using hardware compression where available). Less powerful computers may struggle with real-time compression at higher resolutions. Only one video device can stream at a time. VLC may introduce up to 2 seconds of latency; consider reducing VLC’s “caching” option or using GStreamer for low latency.
Broadcasting video stream details to a GCS via MAVLink is possible by enabling the MAVLink Video Streaming Service.
The connection settings are saved between reboots.
About
The about page displays high level hardware and software information about the companion computer - including the OS version, node.js version and Rpanion-server version.
The companion computer can be shutdown from here, by clicking the “Shutdown” button.
In the case of the Raspberry Pi, it will also show any connected HAT devices.
For debugging any issues, the Rpanion-server logfile can be downloaded. This will show any errors encountered during operation.
To upgrade to a more recent version of Rpanion-server, the “Upgrade to latest Github Master” button will download and build the latest codebase.
NTRIP Config
The NTRIP Config page allows the user to stream a web-based NTRIP correction service to the flight controller. This requires that the GPS modules on the flight controller support RTCM input.
The “Status” section will advise if a connection to the NTRIP server was successful and if valid data is being recieved.
The connection settings will be saved between reboots.
User Management
This page configures usernames and passwords for accessing the Web GUI. Users can be created, passwords changed, and users deleted. Both usernames and passwords must be 2-20 characters long. The last remaining user cannot be deleted.
Usernames and passwords are stored in the user.json
file in the Rpanion-server folder. Resetting this file (via git checkout user.json
when remoted into the system) will reset the username/password back to it's default of admin
/admin
.
Access Point Clients
If a wireless adapter on the companion computer is configured to be an AP (Access point), this page will show the name and IP address of all connected clients.
VPN
VPN connections can be activated and deactivated from this page. The Zerotier and Wireguard services are supported.
For Zerotier, the Network ID can be entered or removed.
For Wireguard, the network configuration (.conf
) file can be uploaded and the activated or deactivated as required.
The connection settings will be saved between reboots.
Cloud
From this section, all bin
logs from the “Flight Logs” section can be uploaded to a remote network location via an ssh connection, using rsync
.
Files are uploaded every 20 seconds and includes any in-progress logs.
The ssh connection only supports publickey authentication, so the remote location must have one of the listed publickeys loaded.