您现在的位置是:首页 >学无止境 >大疆无人机指令飞行JWT认证网站首页学无止境

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

敏捷利齐 2026-05-10 00:01:04
简介大疆无人机指令飞行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消息了

进入指令模式

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

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。