0. 一些概念
- 参考:MAVLink2 Signing
- mavlink2支持签名功能。
ArduPilot和Mission Planner能够通过使用加密密钥添加数据包签名,为空中MAVLink传输增加安全性。这并不加密数据,只是控制自动驾驶仪是否会响应MAVLink命令。这可防止其他不知道密钥的地面控制站读取或写入参数以及发送命令给飞控。 - 应用场景:数据链路保护
- USB连接不受影响,不需要秘钥对飞控进行控制。
USB连接不受影响,允许使用未知密钥完全连接到自动驾驶仪,并允许用户擦除(禁用签名)或更改其使用的密钥。 - 遥测数据链路不受影响
没有秘钥的链路仍然可以接收到飞控发出的mavlink数据如(状态信息参数信息),但是飞控不会响应该未签名链路的任何mavlink指令。 - 参数配置
将串口协议配置为mavlink2 - 使用
add ~> save ~> use
- 查看当前连接的签名状态
注意,必须是非USB连接才可以看到签名状态,因为USB连接不需要签名也可以连接上。
您可以通过单击用于选择要连接的端口的通信端口下拉框下的“Stats…”来检查链接是否正在签名。 - 禁用
Disable Signing 按钮 - 注意事项
当您通过正在签名的链接连接Mission Planner时,它将查看您之前设置的密钥表中是否存储了正确的密钥。如果是这样,连接将使用该键,自动驾驶仪将执行命令,包括连接时的参数下载。如果您进行了连接,但没有进行参数下载,则说明密钥不存在。添加密钥,然后重新连接。
1. 测试
- 飞控使用USB与PC连接
- 打开地面站 mission planner 1,此地面站与飞控的连接通过USB实现。
- 在mission planner 1中添加一个 UDP forward,该 UDP forward 为遥控器上的安卓版mission palnner 提供mavlink连接。
1)遥控器与PC要在同一个局域网。
2)已知遥控器MK32的IP地址为192.168.2.100
3)在mission planner 1中添加一个 UDP forward:
- 在没有使用任何MAVLink签名的情况下,遥控器上的missionplanner可以通过上一步设置的UDP轻松连接上飞控,并且可以控制飞控:
- 在mission planner 1 中开启MAVLink2 Signing功能。
- 遥控器MK32中的mission planner没有使用任何签名秘钥,因此无法连接上飞控,无法顺利下载飞控参数:
- 在遥控器MK32中的mission planner中添加正确的签名秘钥,使得顺利连接上飞控:
2. 如何删除mission planner中的秘钥?
-
如果mission planne安装在windows上,删除以下文件并重启mission planne即可:
Documents\Mission Planner下面的几个缓存文件:
-
如果mission planne安装在安卓设备上,删除以下文件并重启mission planne即可:
com.michaeloborne.MissionPlanner/files/Mission Planner/authkeys.xml
com.michaeloborne.MissionPlanner/files/Mission Planner/config.xml