Ardupilot 使用 APSync 作为 MAVLink 图数传的方案:
APSync - Dev documentation
Raspbian-Server:
Rpanion-Server
板载计算机连接至云服务器官方采用连接至AWS云,但是在国内由于网络限制等原因,AWS速度较慢,因此这里我们用阿里云替代AWS实现如下功能。
Rpanion连接至云服务器:
RPanion+AWS+AP_Cloud to upload and process logs in the cloud
如何上传SSH公钥:
【SSH密钥生成与使用】_Silence.Wang的博客-CSDN博客_ssh密钥生成
Node.js 后台运行:
包名:forever
node.js如何在后台运行_清风丶的博客-CSDN博客_node 后台运行
注:
-
目前版本为0.8,还未添加 cloud upload 功能,可参考下面的步骤升级组件
# ssh to rpanion cd Rpanion-server/deploy ./upgrade.sh sudo reboot now
-
安装PyYAML和mavproxy的步骤直接运行可能会报错:
# 先运行下面这一步 pip3 install future pip3 install PyYAML mavproxy --user
-
node index.js这里会报错,应该是找不到express二进制包:
手动安装一下该二进制包即可:
npm install express
-
Node这里采用宝塔的PM2管理器安装最新版本,需要修改以下命令
sudo setcap 'cap_net_bind_service=+ep' echo "$whereis node"
AP_Cloud 配置文件内容说明:
位置:AP_Cloud/config/default.json
webserver填写的是本机地址(0.0.0.0或者是127.0.0.1或者是localhost都可以,不建议填公网IP,否则内网下无法访问)
ssh_private_key这里填写的是服务器端的私钥(注意:需要在Rpanion端新建文件:~/.ssh/authorized_key,并且将服务器端的公钥复制粘贴进去,如果是有多台无人机的话,需要每台无人机都粘贴服务器的公钥)
dronelist这里有几台无人机需要配置就填写几台
ssh_enable这里指是否通过服务器端向Rpanion端建立ssh连接
logs_folder填写的是存放于本机的路径(从AP_Cloud根目录算起)
remote_logs_folder填写的是远端的log路径(从系统根目录/算起)
Answer:
AP_Cloud与Rpanion之间有两种通信方式,
-
AP_Cloud can get logs from the drone/s a few diffetent ways, one of them assumes the server can ssh TO the drones , using that private key, and it will try to “pull” logs off any drones that are turned on, and on the network, using ssh/rsync and that private key.
-
if you don’t know how private-key/public-key and ssh works, google it. eg: https://www.digitalocean.com/community/tutorials/understanding-the-ssh-encryption-and-connection-process
the server or drone that INITIATES the connection needs to know the private key, and the place its connecting TO needs to have the public key. so, one setup is that the AP_Cloud initiates, and the drones are the destination… but its totally ok to do it the other way, and there are diffeerent pro-s and cons to each.
使用Zerotier实现VPN组网:
Zerotier组网穿透速度太慢,因此使用阿里云搭建Moon中转服务器:
使用Zerotier在私有云服务器中搭建Moon服务器_Adair~Z的博客-CSDN博客_zerotier搭建moon没用
已知相关问题:
- Zerotier Android端不支持连接至Moon服务器,解决办法:



