(3)(3.2) MAVLink2数据包签名(安全)

文章目录

前言

1 配置

2 使用

3 MAVLink协议说明


前言

ArduPilot 和任务计划器能够通过使用加密密钥添加数据包签名,为空中 MAVLink 传输增加安全性。这并不加密数据,只是控制自动驾驶仪是否响应 MAVLink 命令。


自动驾驶仪处于激活状态时,任何非 USB 串行端口都可以配置为只响应任务规划器的 MAVLink 命令请求,前提是这些请求包含密码。这样可以防止其他不知道密码的地面控制站 (GCS) 读取或写入参数和发送命令。这在其他情况下是可能发生的。

遥测下行链路数据不受影响。

USB 连接不受影响,允许完全连接到使用未知密钥的自动驾驶仪,并允许用户清除(禁用签名)或更改其使用的密钥。

1 配置

确保遥测端口协议设置为选项 = 2 (MAVLink2)。使用 MAVLink 1 与任何串行端口的通信都不受保护。

在任务计划器中连接自动驾驶仪,使用设置菜单和高级子菜单,然后按"Mavlink Signing"(Mavlink 签名)。

对话框将显示已为任务计划器设置的所有密码的列表。

  • 该对话框可用于使用 ADD(添加)按钮创建新键。在 PC 上选择并按下删除键,然后按下保存键(SAVE)5350,即可从列表中删除密钥。你也可以在未连接的情况下执行此操作;
  • 要设置自动驾驶仪使用列表中的按键,请在连接时按下按键上的 USE 按钮

单击用于选择连接端口的通讯端口下拉框下的 "Stats...(统计...)",即可检查链接是否已签署。

要删除和禁用已连接自动驾驶仪的签名,请按禁用签名(Disable Signing)按钮。

2 使用

自动驾驶仪使用签名后,USB 连接不受影响,但通过使用 MAVLink2 协议的 SERIAL 端口进行的任何链接只有在与自动驾驶仪使用的密钥签名后才会响应 MAVLink 命令。但是,即使未使用激活密钥签名,链接仍可接收遥测更新。

当你通过签名链接连接任务规划器时,它会查看其密钥表中是否存储有您之前设置的正确密钥。如果有,连接将使用该密钥,自动驾驶仪将执行命令,包括在连接时下载参数。如果连接成功,但没有进行参数下载,则说明密钥不存在。添加密钥并重新连接。

3 MAVLink协议说明

MAVLink 是一种非常轻量级的消息传输协议, 用于地面控制终端(地面站)与无人机之间 (以及机载无人机组件之间) 进行通信。

Mavlink 遵循现代混合发布-订阅和点对点设计模式:数据流作为 topics 发送/发布的, 而配置子协议 (如 路径点协议 或 参数协议)是基于重传机制的点对点模式。

消息内容定义于与之关联的xml 文件中。 每个 xml 文件对应一个特定的 MAVLink 系统,并为该系统定义了专属的消息集(亦被称之为“语支dialect”)。 大部分 地面站和自动驾驶仪所采用的“通用消息集”定义于 common.xml 中 (大多数“语支”均是基于“通用消息集构建 的:即,大多数“语支”所对应的 xml 文件里,均包含了 common.xml) 。

Note

基于C封装的 MAVLink 库,是一个 header-only , 其针对资源受限系统有限的 ram 和闪存,进行了高度优化。 这种库,已经过现场验证, 并部署在许多产品中, 充当不同厂家组件之间的交互性接口。

MAVLink 于2009年初由 Lorenz Meier 首次发布, 目前为止,已拥有数量可观的贡献者。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/429897.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

未来已来!AI大模型引领科技革命

未来已来!AI大模型正以惊人的速度引领着科技革命。随着科技的发展,人工智能在各个领域展现出了非凡的能力和潜力,大模型更是成为了科技领域的明星。从自然语言处理到图像识别,从智能推荐到语音识别,大模型的应用正在改…

python自学3

第一节第六章 数据的列表 列表也是支持嵌套的 列表的下标索引 反向也可以 嵌套也可以 列表的常用操作 什么是列表的方法 学习到的第一个方法,index,查询元素在列表中的下标索引值 index查询方法 修改表功能的方法 插入方法 追加元素 单个元素追加 多…

如何应对IT服务交付中的问题?

如何应对IT服务交付中的问题? 按需交付服务的挑战IT服务体系的复杂性恶性循环的形成学会洞察的重要性书籍简介参与方式 按需交付服务的挑战 一致性、可靠性、安全性、隐私性和成本效益的平衡:成功的按需交付服务需要满足这些要求,这需要服务…

2024年UI排版风格解析,经典模板一键复用!

在UI设计工作中,如何保证版式设计的“美观 合理”是经常需要考虑问题。经过了多年的设计工作后,笔者发现新人设计师的尤其容易陷入对流行趋势的简单模仿,缺失对排版本身的逻辑性认知。在这篇文章中,笔者将盘点10个经典UI排版案例…

PCL中的点云分割模型的部分常用参数含义

PCL中的SacModel类别常用参数含义 1、SACMODEL_PLANE2、SACMODEL_LINE(三维直线)3、SACMODEL_CIRCLE2D(二维圆)4、SACMODEL_CIRCLE3D(三维圆)5、SACMODEL_SPHERE(球)6、SACMODEL_CYL…

Jenkins 将shell脚本启动方式修改为bash

platform"arm x86" if [[ "$platform" ~ "arm" ]] thenecho "arm" fi最近在调试Jenkins实现的一些功能,发现在本地可以运行的脚本内容到了Jenkins里面就没办法运行了,不是提示unexpected operator就是提示[[ : …

Uni-ControlNet: All-in-One Control toText-to-Image Diffusion Models——【论文笔记】

本文发表于NeurIPS 2023 项目官网:Uni-ControlNet: All-in-One Control to Text-to-Image Diffusion Models 一、Introduction 近两年来,扩散模型在图像合成任务中表现优异,尤其是文本到图像(T2I)扩散模型已成为合成高…

WebGIS开发0基础必看教程:地图显示——根据地理范围换算出瓦片行列号

2.影像金字塔简介 我们之前反复提到了影像金字塔这个概念,但是没有对其做一个大概的介绍,这里我将这个概念补充一下。 2.1 为什么要出现影像金字塔这个概念 现在,我假设我们的服务器上有一个1G的影像,需要将其在前端进行显示。…

2024全网最全Excel函数与公式应用

💂 个人网站:【 海拥】【神级代码资源网站】【办公神器】🤟 基于Web端打造的:👉轻量化工具创作平台💅 想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】 引言 Excel是一款广泛应用于商业、教育和个人…

hnust 湖南科技大学 2022 数据挖掘课设 完整代码+报告+图源文件+指导书

hnust 湖南科技大学 2022 数据挖掘课设 完整代码报告图源文件指导书 目录 实验一 Apriori算法设计与应用 - 1 - 一、 背景介绍 - 1 - 二、 实验内容 - 1 - 三、 实验结果与分析 - 2 - 四、 小结与心得体会 - 3 - 实验二 KNN算法设计与应用 - 4 - 一、 背景介绍 - 4 - 二、 实…

头条小程序DIY源码系统 带完整的安装代码包以及搭建部署教程

在过去几年中,小程序市场经历了飞速的发展,各种小程序平台如雨后春笋般涌现。作为其中的佼佼者,头条小程序凭借其强大的用户基础和完善的生态体系,吸引了众多开发者的关注。然而,对于许多初学者和中小企业而言&#xf…

C语言qsort函数介绍

前言 学到了函数指针,那这篇博客我们可以根据函数指针,了解一个函数qsort的应用与模拟实现 欢迎关注个人主页:小张同学zkf 若有疑问 评论区见 目录 1.回调函数 2.qsort函数使用 3.qsort模拟实现 1.回调函数 讲这个东西之前我们来认识一下…

春日特惠,爱基百客限时放送,开启您的学术新篇章!

春回大地,万物复苏, 正是探索未知、启发新思的最佳时节。 在这个充满生机的季节里, 我们推出了春季大促活动, 旨在助力每一位科研工作者在新的一年里实现更多突破。 让我们一起迎接科研人的春天, 开启智慧的花朵…

基本设计模式

单例模式 ES5 function Duck1(name:string){this.namenamethis.instancenull }Duck1.prototype.getNamefunction(){console.log(this.name) }Duck1.getInstancefunction(name:string){if(!this.instance){this.instance new Duck1(name)} } const aDuck1.getInstance(a) const…

Jetpack Compose: Hello Android

Jetpack Compose 是一个现代化的工具包,用于使用声明式方法构建原生 Android UI。在本博文中,我们将深入了解一个基本的 “Hello Android” 示例,以帮助您开始使用 Jetpack Compose。我们将探讨所提供代码片段中使用的函数和注解。 入门 在…

C++ //练习 10.31 修改前一题的程序,使其只打印不重复的元素。你的程序应使用unique_copy(参见10.4.1节,第359页)。

C Primer(第5版) 练习 10.31 练习 10.31 修改前一题的程序,使其只打印不重复的元素。你的程序应使用unique_copy(参见10.4.1节,第359页)。 环境:Linux Ubuntu(云服务器&#xff09…

基于ERNIR3.0的文本多分类

还在用BERT做文本分类?分享一套基于预训练模型ERNIR3.0的文本多分类全流程实例【文本分类】_ernir 文本分类-CSDN博客 /usr/bin/python3 -m pip install --upgrade pip python3-c"import platform;print(platform.architecture()[0]);print(platform.machine…

深度学习500问——Chapter02:机器学习基础(3)

文章目录 2.10 主成分分析(PCA) 2.10.1 主成分分析(PCA)思想总结 2.10.2 图解PCA核心思想 2.10.3 PCA算法推理 2.10.4 PCA算法流程总结 2.10.5 PCA算法主要优缺点 2.10.6 降维的必要性及目的 2.10.7 KPCA与PCA的区别 2.11 模型评估…

什么是跨站脚本攻击(XSS)

厦门微思网络​​​​​​https://www.xmws.cn 华为认证\华为HCIA-Datacom\华为HCIP-Datacom\华为HCIE-Datacom Linux\RHCE\RHCE 9.0\RHCA\ Oracle OCP\CKA\K8S\ CISP\CISSP\PMP\ ​ 跨站脚本攻击(Cross-site Scripting,通常称为XSS)&#xf…

MCU设计--M3内核详解(2)

内核架构 FETCH取指单元DEC指令译码EXEC执行LSU内存取数ETM_INTF调试接口STATUS状态上报 内核-寄存器 不同指令集支持不同的寄存器分配。R13用于主堆栈指针(MSP),进程堆栈指针(PSP)R13 连接寄存器存储子程序指针,提高速度R15 程序计数器PC 剩下的一些 …