Rpanion-Server is an Open-Source software package for a managing the companion computer (such as the Raspberry Pi) connected to an ArduPilot flight controller. It will run on most Linux-based systems.
Rpanion-Server consists of a network manager, MAVLink telemetry routing, flight logging and a low latency video streaming server. All are able to be managed via a web-based user interface.
would it be possible to add a list of connected clients (for AP setups) to the network screen?
This would be helpful for “follow me” mode and my antenna tracker/relay.
Great! I will update my rovers and my tracker and give it a try!
Edit: I just updated Rpanion server on my tracker and the client list works well!
This makes things a whole lot easier!
Great! I am not that knowledgeable in this area and only had a quick glance at it. Hopefully our team can do some testing and contribute to your development.
Finally, after 9 months with the RPI hat in hand, I put it on the quad yesterday. I tested some python scripts, and everything worked very well. I intend to keep the setup ready. If there are any tests I wanted to replicate, just say so.
However, I have a doubt. When I open a port on 127.0.0.1 (like 127.0.0.1:4000 it is accessible by a local python script. When I used the mission planner address (ip:port) it worked fine as well.
I am missing something. Are you checking the IP to choose between forwarding the connection or wait for a connection locally?
I was able to play around the new software Rpanion server 0.7 to my raspberrypi 3B. I confirm Flight telemetry is working either by using GPIO TxRx or via usb). I can see packets received in bytes and status display.Video streaming is not looking great as i look into my MP hud with lots of pixelite & delayed. The same results when i used my gorpo cam connected via csi adapter. Is there any other solution to improve so I can tested? And lastly, It is failing to connect to my GCS running MP even though I copied from the web UI destination IP ports address. I use UDP as per documentation. Any suggestion please. Thank you.
Video should be fine if the selected resolution and bitrate make sense and the wifi connection has enough bandwidth.
Start with a low resolution (640x480) and 1000kbps for example. Higher resolutions require a higher bitrate to look good. If you are using the RPi3s internal wifi, the results will be limited by it. The range may only be a few meters. I get about 300m video range with Alfa wifi adapters on both ends of the connection.
To receive the telemetry, make sure both, the vehicle and the GCS are in the same network ( I guess that is a given, because the video is working) and enter the IP of your GCS computer in the rpanion web ui with the port 14550 as a new output. Missionplanner will pick up any telemetry stream on that port automatically.
Hi Stephen,
I just checked “on the table” my setup: Ardupilot (Pixhawk 2.4.8) - RPi 3b+ - GSM modem - VPN (zerotier) - QGroundControl (on ubuntu) – with new Rpanion-server on RPi and it’s works fine.
For MissionPlaner it’s should works fine too.
Basic steps:
Connect RPI to your local network (i use ethernet cable to router) for preparation (you need internet available on RPi)
2.0 Connect through ssh user pi pass raspberry and update RPI OS
2.1 Setup your GSM modem
2.2 Setup your VPN
2.3 In Rpanion Web GUI (ip address of RPI on your local network, not 10.0.2.100:300) on Flight Controller page - set ad new output: IP address of your QGroundControl computer in your VPN network
2.4 Check that you can connect to RPi through VPN
2.5 Disconnect from you local network
On QGroundControl add new UDP connection and save as it is (port 14550), without changes.
Hey,
For me everything is working fine, also video streaming with different usb cameras and so on. Just the raspberry pi camera itself is not streaming when connected. It also appears as a device, and i can choose the resolution but there is no stream arriving on the other side. The IPs, and network can not be the problem because all the other cameras are working.
The camera itself is also working as tested on the raspberry pi itself.
Do you have any idea what could be the problem?