Drobotics logo DROBOTICSTechnical Library

Network Guide

Rpanion-Server 完整配置指南 | Jetson MAVLink 遥测与视频管理

All Network

Rpanion‑Server 完整配置指南

Jetson 平台 · MAVLink 遥测管理 · Web 可视化转发 · 视频流集成

MAVLink 路由 Web 界面:3000 systemd 服务 sudoers 免密配置 UDP 转发至 Mission Planner
概述

Rpanion‑server 是专为机载计算机(Jetson / 树莓派)设计的网页版 MAVLink 遥测与视频流管理工具,提供设备管理、串口/UDP 转发、飞行日志记录和实时视频推流能力。

主要功能:Web 配置面板 (http://<Jetson-IP>:3000) · UDP/Serial 转发 · 网络适配器管理 · 飞行日志 · 视频流支持
安装步骤
Step 1: 使用 NVM 安装 Node.js
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash source ~/.bashrc nvm install 16.20.2 nvm use 16.20.2 which node # 应显示 /home/nvidia/.nvm/versions/node/v16.20.2/bin/node
Step 2: 下载并解压 Rpanion‑server
cd ~ wget https://github.com/stephendade/Rpanion-server/archive/refs/heads/master.zip unzip master.zip mv Rpanion-server-master Rpanion-server cd Rpanion-server
Step 3: 安装依赖
npm install
Step 4: 安装 mavlink‑router(必须依赖)
cd ~ git clone https://github.com/mavlink-router/mavlink-router.git cd mavlink-router sudo apt install meson ninja-build -y meson setup build. ninja -C build sudo ninja -C build install which mavlink-routerd # 应显示 /usr/bin/mavlink-routerd cd ~/Rpanion-server/mavlink-router git submodule update --init --recursive npm config set registry https://registry.npmmirror.com npm config get registry npm cache clean --force cd ~/Rpanion-server npm install --legacy-peer-deps
Systemd 服务配置
sudo nano /etc/systemd/system/rpanion.service
[Unit] Description=Rpanion Server Service After=network.target [Service] WorkingDirectory=/home/nvidia/Rpanion-server User=nvidia Environment="PORT=3000" ExecStart=/home/nvidia/.nvm/versions/node/v16.20.2/bin/node server/index.js Restart=on-failure [Install] WantedBy=multi-user.target
sudo systemctl daemon-reload sudo systemctl enable rpanion sudo systemctl start rpanion sudo systemctl status rpanion
● active (running) → 服务正常运行
Sudoers 配置(修复密码/TTY 错误)
Rpanion 会调用 sudo cat /var/lib/NetworkManager/dnsmasq-*.leases 读取 DHCP 客户端列表,若没有正确配置 sudoers,会因缺少 TTY 和密码交互而失败。
创建自定义 sudoers 文件
sudo visudo -f /etc/sudoers.d/99-nvidia-rules
Defaults:nvidia !requiretty nvidia ALL=(ALL) NOPASSWD: /usr/bin/cat /var/lib/NetworkManager/dnsmasq-*.leases
'
配置行作用
Defaults:nvidia !requiretty为 nvidia 用户禁用终端强制要求
nvidia ALL=(ALL) NOPASSWD: /usr/bin/cat...允许免密读取 dnsmasq 租约文件
可选:创建缺失的租约文件
sudo touch /var/lib/NetworkManager/dnsmasq-wlp1p1s0.leases sudo chmod 644 /var/lib/NetworkManager/dnsmasq-wlp1p1s0.leases
验证免密 sudo 生效
sudo -k sudo cat /var/lib/NetworkManager/dnsmasq-wlp1p1s0.leases
无密码提示、无 TTY 错误即配置成功
MAVLink 配置
方法 A:Rpanion Web 界面(推荐)
访问 http://<Jetson-IP>:3000 → MAVLink 选项卡 → 配置 Serial Device /dev/ttyACM0 波特率 921600 → 添加 UDP Output 目标(Windows 电脑 IP + 14550)→ 保存并应用
方法 B:命令行 (mavlink-router)
sudo systemctl stop rpanion mavlink-routerd -e <WINDOWS_PC_IP>:14550 /dev/ttyACM0:921600 # 示例: mavlink-routerd -e 192.168.1.14:14550 /dev/ttyACM0:921600
验证与测试
sudo systemctl status rpanion sudo journalctl -u rpanion -f --no-pager curl -I http://localhost:3000
MAVLink 原始数据检查
sudo timeout 3 cat /dev/ttyACM0 | xxd | head -3
应看到 fdfe 模式 (MAVLink 帧头)
Mission Planner 连接
Windows 电脑设置静态 IP(如 192.168.1.14)→ Mission Planner → 选择 UDP 连接 → 端口 14550 → 连接成功
故障排查表
错误原因解决方法
status=203/EXECExecStart 路径错误使用 which node 获取正确路径并更新 service 文件
sudo: a terminal is required缺少 sudoers 配置按上文创建 99-nvidia-rules 并重启服务
Cannot find module 'server/server.js'入口点错误将 server/server.js 改为 server/index.js
Address already in use:::3000端口 3000 被占用sudo netstat -tulpn | grep 3000 并 kill 对应进程
MODULE_NOT_FOUND依赖未安装cd ~/Rpanion-server && npm install
Mission Planner 无数据防火墙/UDP 目标 IP 错误关闭 Windows 防火墙,确保 UDP 14550 目标 IP 正确
完整工作配置清单
[Service] # /etc/systemd/system/rpanion.service WorkingDirectory=/home/nvidia/Rpanion-server User=nvidia Environment="PORT=3000" ExecStart=/home/nvidia/.nvm/versions/node/v16.20.2/bin/node server/index.js [ Sudoers ] # /etc/sudoers.d/99-nvidia-rules Defaults:nvidia !requiretty nvidia ALL=(ALL) NOPASSWD: /usr/bin/cat /var/lib/NetworkManager/dnsmasq-*.leases [ Directory ] /home/nvidia/Rpanion-server/ server/index.js node_modules/ settings.json [ Network ] Jetson IP: 192.168.1.17 Windows PC: 192.168.1.14 UDP 端口: 14550 飞控串口: /dev/ttyACM0, 921600
常用命令速查
命令用途
sudo systemctl start rpanion启动服务
sudo systemctl stop rpanion停止服务
sudo systemctl restart rpanion重启服务
sudo systemctl status rpanion查看状态
sudo journalctl -u rpanion -f实时日志
curl -I http://localhost:3000测试 Web 接口
总结
Node.js 通过 NVM 安装且路径正确
服务入口为 server/index.js
sudoers 已配置免密 + 无 TTY 要求
mavlink-router 作为 MAVLink 后端
飞控串口 /dev/ttyACM0 且波特率 921600
Mission Planner 可通过 UDP 14550 接收遥测
打开浏览器访问 http://<Jetson-IP>:3000 即可通过可视化面板完成 MAVLink 转发管理。