As described in their documentation,
mavp2p is a flexible and efficient Mavlink proxy / bridge / router, implemented in the form of a command-line utility. It is used primarily to link UAV ight controllers, connected through a serial port, with ground stations on a network, but can be used to build any kind of routing involving serial, TCP and UDP, allowing communication across different physical layers or transport layers.
Doodle Labs has compiled mavp2p for Mesh Rider radios, and it is available as a standalone package which can be installed on Mesh Rider firmware (tested on firmware-2023-09.04).
Software Note: You can find detailed information on how mavp2p works in its github repository.
Advanced Settings
in the bottom left-hand corner of the screen.System -> Software
.mavp2p_v1.2.0-1_mips_24kc.ipk
. Then, clickUPLOAD AND INSTALL
.Output: Successfully installed
afterwards.Choose File
and select the file luci-app-mavp2p_git-23.342.21127-c286d421_all.ipk
. Then, click UPLOAD AND INSTALL
./tmp
folder in the Mesh Rider radio using the scp utility via command line or an application such as WinSCP.2.0-1_mips_24kc.ipk
luci-app-mavp2p_git-23.342.21127-c286d42-1_all.ipk
opkg install /tmp/mavp2p_v1.2.0-1_mips_24kc.ipk
opkg install /tmp/luci-app-mavp2p_git-23.342.21127-c286d42-1_all.ip
mavp2p can be configured over either the web UI, or the CLI. mavp2p works by linking MAVLink endpoints together. Endpoints are either UDP, TCP, or UART based.
/dev/uart0
points to the default UART interface on the Mesh Rider radio.Navigate to Services -> Mavp2p
in the web UI. A screenshot is shown in Fig. 2.
From here you can de ne any number of mavp2p endpoints to be bridged together. Only a single instance of mavp2p can be run at a time. After you are done, click Save & Apply
.
You can now connect to mavp2p.
uci show mavp2p
. The default configuration is shown below.
root@smartradio:~# uci show mavp2p
mavp2p.mavp2p=general
mavp2p.mavp2p.enabled='0'
mavp2p.@uartendpoint[0]=uartendpoint
mavp2p.@uartendpoint[0].name='DoodleUART'
mavp2p.@uartendpoint[0].device='/dev/uart0'
mavp2p.@uartendpoint[0].baud='57600'
mavp2p.@uartendpoint[0].mode='serial'
mavp2p.@udpendpoint[0]=udpendpoint
mavp2p.@udpendpoint[0].name='DoodleUDP'
mavp2p.@udpendpoint[0].address='0.0.0.0'
mavp2p.@udpendpoint[0].port='2000'
mavp2p.@udpendpoint[0].mode='udps'
b. If you are unsure of the parameters, we suggest that you first reconfigure mavp2p over the web UI, and then see how the UCI le was updated. To enable mavp2p, you can run
root@smartradio:~# uci set mavp2p.mavp2p.enabled='1'
root@smartradio:~# uci commit
root@smartradio:~# /etc/init.d/mavp2p restart
With the default configuration enabled, you can connect to mavp2p from QGroundControl by following this guide. Here we assume your ight controller is connected to the UART port on your Mesh Rider radio. When creating a new comm link in QGC, use the IP address of the Mesh Rider radio running mavp2p, and port 2000.