Rpanion-server 0.9.0 User Manual

This page describes how to use Rpanion-server version 0.9.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.

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.

  • FlightLogs: Add automatic processing of tlogs to kml files
  • Video: Add option to overlay timestamp
  • FlightController: Remove unused MAVLink dialect option
  • Add VPN configuration GUI for Zerotier and Wireguard
  • Allow user to download Rpanion-server logfile
  • FlightController: Add UDP server option
  • NetworkManager: Scan for available Wifi networks
  • FlightController: Add extra baudrates
  • Video: Add Mission Planner connection strings
  • Add upgrade control to “About” page
  • NetworkManager: allow editing of ssid
  • Add rate limiting to server (50 requests/min) to mitigate denial-of-service attacks
  • Add cloud upload of flight logs
  • Video: Fix streaming config interval
The Raspberry Pi Zero may have poor performance running multiple Rpanion-server functions simultaneously. It is highly recommended to upgrade to the Pi Zero 2

The Network page allows the companion computer's network settings to be viewed and changed. This includes both Wifi and wired (Ethernet) based connections.

Network management is done on an adapter (hardware device) and connection (collection of network settings) basis. Each adapter can have one connection active at a time.

Connections for an adapter can be added, edited or deleted via the named buttons.

Connections can be shared across adapter of the same type (i.e. Wifi) unless the “Attach to specific adapter” option is used.

When a connection is “Active” that means the adapter is active and using that connection's settings.

Settings are saved between reboots.

If debugging of network settings is required, the “nmcli” tool can be used for checking the connections.

To disable all WiFi interfaces (also known as Flight Mode), toggle the “Wifi Interfaces Enabled” button. When disabled, the Wifi connections will not be able to be edited.

The Flight Controller page controls the telemetry (MAVLink) input and outputs from a connected flight controller.

To enable telemetry from a connected flight controller, ensure the correct device, baudrate and MAVLink version are selected, then click the “Start Telemetry” button. If successful, the “Status” section of the page will show incrementing packet numbers, the vehicle type, firmware type, firmware version and connection state.

Any status text (statustext MAVLink message) from the flight controller will be displayed in the text box marked “Console Output”.

To forward telemetry across a network via UDP, enter the destination in “IP:port” format in the “Add new output” text box, then click “Add”.

To stop telemetry, click the “Stop Telemetry” button. This will also allow the connection settings to be changed.

The connection settings will be saved between reboots.

If desired, telemetry can be output over TCP, using the “Enable TCP Server” option, which will start a TCP server at port 5760 on all network interfaces.

A UDP server is available via the “UDP Server” option. Ground stations can connect to the specified port on all network interfaces.

The Raspberry Pi Zero is not compatible with the 1500000 baud rate

The Flight Logs page manages the telemetry logs (tlogs) and dataflash (bin) logs from the connected flight controller.

If logging is enabled (via the checkbox on the page), Rpanion-server will log all received MAVLink packets to a tlog file. These logs can be downloaded via clicking on the log file name in the table.

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.

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.

The Video Streaming page controls the ability to stream video from a connected camera to the network via an RTSP or UDP stream.

Any official Raspberry Pi cameras or USB cameras are supported.

For the video streaming options, Rpanion-server will automatically detect any webcams or the Raspberry Pi camera (if fitted) and query each device for its available resolutions. Options are also given for video rotation and datarate. When running, Rpanion-server will use GStreamer to start an RTSP server and will transmit H.264 compressed video to any connected video clients.

If desired, video can be output over UDP instead (such as for QGroundControl). This will send a H.264 RTP stream to a single destination client, defined by the IP and port.

Connection strings for popular software packages will be shown on the page. If the companion computer is running on multiple networks, ensure the correct IP address is used.

If the selected video device does not natively output H.264, it will automatically be converted and compressed to H.264. On less powerful companion computers, real-time compression may not be possible at higher video resolutions.

Note that only one video device can be streaming at a time.

Note that if VLC is used, there may be up to 2 seconds of video latency. If low latency is required, consider reducing the “caching” option in VLC or using GStreamer instead.

The connection settings will be saved between reboots.

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.

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.

This page allows the user to configure a wireless adapter to use Adhoc“ mode.

Due to the backend software used here (iwconfig), enabling Adhoc mode on an adapter makes it unusable in the Network Config page.

Note that if using WEP security, passwords are limited to 10 or 26 characters. Also note that WEP is considered unsecure.

Adhoc Wifi settings are not saved between reboots

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 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.

  • software/rpanion_server_v09.txt
  • Last modified: 2022/12/12 08:35
  • by stephen