当前位置: 首页 > article >正文

大疆无人机指令飞行JWT认证

无人机一键起飞后,进入指令飞行模式报错: Error:{errorCode=514304, errorMsg=DRC link is refused.}; Failed to enter command flight control mode, please try again later!

确保emqx的8883端口开放

在这里插入图片描述

emqx创建JWT认证

  • JWT 来自于password
  • 加密方式:hmac-based
  • Secret为application.yml文件中的jwt.secret,将密钥复制到此处即可
  • 不要勾选base64加密
  • 不要勾选过期后断开连接
    在这里插入图片描述

将JWT认证前置到第一位
在这里插入图片描述

调大过期时间

为了便于测试,调大过期时间,默认的过期时间为3600毫秒。时间非常短,如果网络连接有延迟,基本上100%会报错:Error: Connection refused: Bad User Name or Password

在这里插入图片描述
为了便于测试,修改为20秒。

RedisConst.DRC_MODE_ALIVE_SECOND=20000

而且不修改此时间,前台ws连接重连时,会再次报错
bad_username_or_password
未找到此处一直重连的原因在这里插入图片描述

下面代码为JWT Token生成代码(可跳过)

MqttPropertyConfiguration.getMqttBrokerWithDrc(param.getDockSn() + "-" + System.currentTimeMillis(), param.getDockSn(),
    RedisConst.DRC_MODE_ALIVE_SECOND.longValue(),
    Map.of(MapKeyConst.ACL, objectMapper.convertValue(JwtAclDTO.builder()
			.pub(List.of(subTopic))
            .sub(List.of(pubTopic))
            .build(), new TypeReference<Map<String, ?>>() {})))

MQTTX测试

在这里插入图片描述
此时就可以调试mq消息了

进入指令模式

以上步骤完成后,就可以进入指令飞行模式了
在这里插入图片描述


http://www.kler.cn/a/548559.html

相关文章:

  • HTTP 参数污染(HPP)详解
  • c++中什么时候应该使用final关键字?
  • 【在idea中配置两个不同端口,同时运行两个相同的主程序springboot】
  • 5G与物联网的协同发展:打造智能城市的未来
  • nginx的十一个阶段详解
  • unity学习40:导入模型的 Animations文件夹内容,动画属性和修改动画文件
  • Mongodb数据管理
  • Apollo 9.0 速度动态规划决策算法 – path time heuristic optimizer
  • python旅游推荐系统+爬虫+可视化(协同过滤算法)
  • 【Leetcode 每日一题】1552. 两球之间的磁力
  • 1-2 gitee创建远程仓库
  • Docker与容器交互——attach和exec
  • 【DeepSeek】解决 DeepSeek 服务器不响应指南
  • Pytest快速入门
  • 软考网络工程师笔记
  • LeetCodehot 力扣热题100 二叉树的右视图
  • 如何正确安装Stable Diffusion Web UI以及对应的xFormers
  • mysql的rpm包安装
  • 【C++指南】不允许你不了解C++命名空间
  • Spring Boot 定时任务:轻松实现任务自动化