大疆上云API连接遥控器和无人机

文章目录

  • 1、部署大疆上云API
  • 关于如何连接我们自己部署的上云API
  • 2、开启无人机和遥控器并连接自己部署的上云API
    • 如果遥控器和无人机没有对频的情况下即只有遥控器没有无人机的情况下
    • 如果遥控器和无人机已经对频好了的情况下
  • 4、订阅无人机或遥控器的主题信息
    • 4.1、订阅无人机实时返回的数据如经纬度信息等
    • 4.2、订阅遥控器返回的数据如经纬度等

1、部署大疆上云API

关于大疆上云API的部署,可以看我写的另一篇文章,大疆上云API基于源码部署-CSDN博客。或者看官网上云API (dji.com),里面也有相关的部署教程。注意了,阅读本篇文章,需要看一下大疆上云API基于源码部署-CSDN博客,这篇文章。不然本文章提到的上云API后台管理界面,EMQX管理界面是什么可能都一头雾水。

关于如何连接我们自己部署的上云API

关于如何连接我们自己部署的上云API,大家可以看官网上云API (dji.com),官网有视频教程,建议先看一遍官网,然后再看以下这篇文章,这篇文章也是根据官网来进行学习的,只不过是记录了我在连接遥控器的这个过程中遇到的一些问题,方便我后面排查问题。

在这里插入图片描述
在这里插入图片描述

2、开启无人机和遥控器并连接自己部署的上云API

下面是遥控器的界面,打开 pilot 2,进入主页面,点击云服务进入。

在这里插入图片描述

屏幕像手机一样下拉,保证遥控器跟电脑连的是同一个WiFi或者热点!!!保证遥控器跟电脑连的是同一个WiFi或者热点!!!保证遥控器跟电脑连的是同一个WiFi或者热点!!!
在这里插入图片描述
点击类似云的那个图标
在这里插入图片描述
在这里插入图片描述

输入前端访问地址(默认地址:http://ip:8080/pilot-login ,此处“ip”需要替换为用户实际使用的ip地址。),点击右上角的“连接”按钮进入。
在这里插入图片描述
输入完成版之后,点击右上角的连接按钮。
在这里插入图片描述
连接成功之后,会进入一个登录界面,如果是源码部署,用户名和密码默认会帮我们填上的。直接点击几登录即可。
在这里插入图片描述
这段文字说明结合下面的一张图片看,如果主页面显示 Connected,说明已经登录成功,遥控器已经连接上 emqx 服务器,并且开始推送数据。现在demo 就已经跑起来了,你可以点击遥控器上的返回按钮返回主页面了,只要不点击右上角的 Log Out 按钮,你就仍然处于登录状态。当Test Group One中出现Connected。说明遥控器成功连接到我们部署的上云API了。

如果遥控器和无人机没有对频的情况下即只有遥控器没有无人机的情况下

如果出现device not connect说明遥控器没有连接无人机。也就是说无人机可能没开机。
在这里插入图片描述
电脑端,登录后台管理界面http://localhost:8080/project,然后在后台管理界面也可以看到无人机没有连接,遥控器连接上了。
在这里插入图片描述
在这里插入图片描述
回到遥控器,点击返回按钮,回到登录界面。然后,我们开启无人机,让遥控器和无人机拦截上。
在这里插入图片描述

如果遥控器和无人机已经对频好了的情况下

你已经可以在主页面看到工作空间的信息了,只要字体是深黑色,说明你依旧处于登录状态,遥控器以及飞机的数据会持续的推送中。如果想要退出工作空间,只需要再次点击进入,然后点击右上角的退出按钮就可以退出了,遥控器和飞机就不会再推送数据了。连接上遥控器之后,根据下面的图片步骤,重新进入登录界面。
在这里插入图片描述
因为没有点击退出登录,所以上面图片那里直接点击的时候,就直接省去了登录步骤了,能够直接进入下面的图片界面,这段后面的文字结合下面的图片看,刚进入的时候可以看到Remote Control Sn:遥控器的SN码。Aircraft Sn:飞机的SN码。然后点击图片中红色箭头指的那里,绑定无人机。
在这里插入图片描述
在这里插入图片描述

如果不绑定,电脑端的页面看到的还是,遥控器连接了,飞机还是没有连接上。
在这里插入图片描述
绑定成功之后,在后端即电脑端的页面看到的还是,遥控器连接了,飞机也连接上了。
在这里插入图片描述
在这里插入图片描述
到这里说明无人机和遥控器都连接上我们自己部署的上云API了。

4、订阅无人机或遥控器的主题信息

4.1、订阅无人机实时返回的数据如经纬度信息等

登录emqx的管理界面,http://localhost:18083/,在首页我们可以看到20多个主题和订阅数
在这里插入图片描述
我们点击26主题数那里,可以发现对应的主题列表。看到主题列表的时候,我们可以到官网找对应的主题说明进行查找订阅。
在这里插入图片描述
上云API (dji.com),可以到官网这里找对应的主题说明。
在这里插入图片描述
官网上说的类似thing/product/{device_sn}/osd这个,{device_sn} 表示该物模型属性的所属设备的 SN ,这里可以是遥控器、也可以是无人机的SN。所以,在emqx管理页面中直接搜索osd可以看到,对应的主题会有两个,一个是遥控器的主题,一个是无人机的主题。如下图所示,图片中的SN码我模糊处理了,如果想要订阅的主题是,无人机还是遥控器的主题,通过遥控器那里看一下就知道了,文章上面连接的时候也说过这个,具体看一下就知道了,总之这个SN码可以通过遥控器找到。可以在emqx管理界面直接找到对应的主题赋值即可。
在这里插入图片描述
在这里插入图片描述
使用MQTTX客户端订阅,至于MQTTX客户端如何使用,看我的另一篇文章EMQX允许匿名访问和关闭匿名访问_emqx匿名访问-CSDN博客,可以看到对应的信息内容。
在这里插入图片描述
订阅成功之后,每隔一段时间就会收到无人机返回的信息
在这里插入图片描述
以下是无人机返回的信息详细字段

{"bid": "00000000-0000-0000-0000-000000000000","data": {"66-0-0": {"gimbal_pitch": 0,"gimbal_roll": 0,"gimbal_yaw": -79,"payload_index": "66-0-0","zoom_factor": 0.56782334384858046},"activation_time": 1684465935,"attitude_head": -79,"attitude_pitch": 4.3,"attitude_roll": 0,"battery": {"batteries": [{"capacity_percent": 60,"firmware_version": "08.75.02.17","high_voltage_storage_days": 0,"index": 0,"loop_times": 34,"sn": "4ERPKCSEA1941Q","sub_type": 0,"temperature": 35.2,"type": 0,"voltage": 15568}],"capacity_percent": 60,"landing_power": 0,"remain_flight_time": 0,"return_home_power": 0},"cameras": [{"camera_mode": 0,"liveview_world_region": {"bottom": 0.572773039340973,"left": 0.41576647758483887,"right": 0.547674596309662,"top": 0.4417940080165863},"payload_index": "66-0-0","photo_state": 0,"record_time": 0,"recording_state": 0,"remain_photo_num": 4464,"remain_record_duration": 0,"wide_calibrate_farthest_focus_value": 26,"wide_calibrate_nearest_focus_value": 75,"wide_exposure_mode": 1,"wide_exposure_value": 16,"wide_focus_mode": 0,"wide_focus_state": 0,"wide_focus_value": 24,"wide_iso": 7,"wide_max_focus_value": 75,"wide_min_focus_value": 26,"wide_shutter_speed": 26,"zoom_calibrate_farthest_focus_value": 26,"zoom_calibrate_nearest_focus_value": 75,"zoom_exposure_mode": 1,"zoom_exposure_value": 16,"zoom_factor": 7,"zoom_focus_mode": 0,"zoom_focus_state": 0,"zoom_focus_value": 24,"zoom_iso": 7,"zoom_max_focus_value": 75,"zoom_min_focus_value": 26,"zoom_shutter_speed": 26}],"distance_limit_status": {"distance_limit": 8000,"is_near_distance_limit": 0,"state": 1},"elevation": 0,"exit_wayline_when_rc_lost": 0,"firmware_version": "10.01.0017","gear": 1,"height": 1881.01611328125,"height_limit": 500,"home_distance": 0,"horizontal_speed": 0,"is_near_height_limit": 0,"latitude": 0,"longitude": 0,"maintain_status": {"maintain_status_array": [{"last_maintain_flight_sorties": 0,"last_maintain_flight_time": 0,"last_maintain_time": 0,"last_maintain_type": 1,"state": 0},{"last_maintain_flight_sorties": 0,"last_maintain_flight_time": 0,"last_maintain_time": 0,"last_maintain_type": 2,"state": 0},{"last_maintain_flight_sorties": 0,"last_maintain_flight_time": 0,"last_maintain_time": 0,"last_maintain_type": 3,"state": 0}]},"mode_code": 0,"night_lights_state": 0,"obstacle_avoidance": {"downside": 1,"horizon": 1,"upside": 1},"position_state": {"gps_number": 0,"is_fixed": 0,"quality": 0,"rtk_number": 0},"rc_lost_action": 2,"rth_altitude": 100,"storage": {"total": 60082000,"used": 14325000},"total_flight_distance": 899443.07084439753,"total_flight_sorties": 204,"total_flight_time": 123809.71723263711,"track_id": "","vertical_speed": 0,"wind_direction": 0,"wind_speed": 0},"tid": "00000000-0000-0000-0000-000000000000","timestamp": 1736411578239,"gateway": "5YSZKCC00212VA"
}

4.2、订阅遥控器返回的数据如经纬度等

在这里插入图片描述
在这里插入图片描述
以下是遥控器返回的信息详细字段

{"bid": "00000000-0000-0000-0000-000000000000","data": {"app_version": "170507","capacity_percent": 73,"height": 0,"latitude": 25.071488888301314,"longitude": 102.7189911396629,"wireless_link": {"4g_freq_band": 5.8,"4g_gnd_quality": 0,"4g_link_state": 0,"4g_quality": 0,"4g_uav_quality": 0,"dongle_number": 0,"link_workmode": 0,"sdr_freq_band": 5.8,"sdr_link_state": 1,"sdr_quality": 5}},"tid": "00000000-0000-0000-0000-000000000000","timestamp": 1736411740242,"gateway": "5YSZKCC00212VA"
}

后续会考虑写一篇JS如何订阅EMQX发布的主题的文章,毕竟拿到无人机这个实时的经纬度信息,我们如果在三维地图或者二维地图开发时,可以让无人机飞行,将实时拿到的无人机经纬度在地图上更新显示,类似地图中的某一点根据无人机飞行实时移动位置。还是需要使用到的。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LLM的数据并行DDP,模型分片FSDP技术

LLM的数据并行DDP,模型分片FSDP技术: DDP(DistributedDataParallel)技术简介 概念: DDP是PyTorch中用于分布式训练的一种技术。它的核心思想是在多个进程(通常是在多个GPU上)之间并行地训练模型,每个进程都有一份完整的模型副本。这些副本在训练过程中会同步它们的梯度…

[OPEN SQL] 限定选择行数

本次操作使用的数据库表为SCUSTOM&#xff0c;其字段内容如下所示 航班用户(SCUSTOM) 该数据库表中的部分值如下所示 指定查询多少行数据&#xff0c;我们可以使用语法UP TO n ROWS来实现对数据前n项的查询 语法格式 SELECT * FROM <dbtab> UP TO n ROWS 参数说明 db…

机器视觉3-线性分类器

机器视觉3-线性分类器 前言一、整体流程二、其他相关内容 图像的表示图像类型黑白图像灰度图像彩色图像 图像表示为向量一、基本概念二、表示方法三、优点四、局限性五、应用场景 线性分类器一、神经网络的层级结构形成非线性模型二、支撑向量机的高维映射形成非线性模型 线性分…

JavaScript基础概述:脚本定义、输出方式与数据类型

JavaScript是网页开发中的核心技术之一&#xff0c;它赋予网页交互功能和动态效果。 1. JavaScript脚本的定义方式 JavaScript脚本可以通过内联方式或外联方式嵌入到HTML页面中。 内联JS 直接将JavaScript代码写在<script>标签中&#xff1a; <!DOCTYPE html>…

解决“无法定位程序输入点 av_buffer_create 于动态链接库 XXX\Obsidian.exe 上”问题

解决“无法定位程序输入点 av_buffer_create 于动态链接库 XXX\Obsidian.exe 上”问题 问题描述 本人在使用zotero中的zotero one&#xff08;青柠学术插件&#xff09;的时候&#xff0c;使用插件跳转obsidian中的对应笔记&#xff0c;出现上图情况。&#xff08;错误中提到的…

增量导入和全量导入的区别是什么?

定义 全量导入&#xff1a;是指将数据源中的所有数据一次性全部导入到目标系统中。例如&#xff0c;一个电商公司要将其旧数据库中的所有商品信息&#xff08;包括商品名称、价格、库存等&#xff09;全部迁移到新的数据库系统中&#xff0c;这个过程就是全量导入。这种方式会覆…

【数据结构高阶】B-树

目录 一、常见的搜索结构 二、B树 2.1 B树的概念 2.2 B树插入数据的分析 2.3 B树的性能分析 2.4 模拟实现B树 2.4.1 B树节点的定义 2.4.2 B树数据的查找 2.4.3 B树节点的数据插入 2.4.4 B树的遍历 2.4.5 模拟实现B树实现的完整代码 三、B树 3.1 B树的概念 3.2 B树…

《CPython Internals》阅读笔记:p97-p117

《CPython Internals》学习第 7 天&#xff0c;p97-p117 总结&#xff0c;总计 21 页。 一、技术总结 1.词法分析(lexical analysis) 根据《Compilers-Principles, Techniques, and Tools》(《编译原理》第2版)第 5 页&#xff1a;The first phase of a compiler is called …

2.两数相加--力扣

给你两个 非空 的链表&#xff0c;表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的&#xff0c;并且每个节点只能存储 一位 数字。 请你将两个数相加&#xff0c;并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外&#xff0c;这两个数都不会以 0 …

第31章 汇编语言--- 安全性考量

汇编语言是一种低级编程语言&#xff0c;它与特定的计算机架构紧密相关。编写安全的汇编代码是至关重要的&#xff0c;因为汇编代码直接操作硬件和内存&#xff0c;任何错误都可能导致严重的后果&#xff0c;如系统崩溃、数据泄露或被恶意利用。在第31章中讨论汇编语言的安全性…

2501d,d作者,炮打C语言!

原文 标准C定期改进,现在为C23.但是还是没有解决一些怪东西.Dlang社区在D语言编译器中嵌入了一个C编译器,这样可编译C. 该C编译器(又名ImportC)是从头开始构建的.它提供了使用现代编译器技术来修复这些缺点的机会.为什么标准C不修复它们? 1,计算常式 2,编译时单元测试 3,前…

口碑很好的国产LDO芯片,有哪些?

在几乎任何一个电路设计中&#xff0c;都可能会使用LDO&#xff08;低压差线性稳压器&#xff09;这个器件。 虽然LDO不是什么高性能的IC&#xff0c;但LDO芯片市场竞争异常激烈。最近几年&#xff0c;诞生了越来越多的精品国产LDO&#xff0c;让人看得眼花缭乱。 业内人士曾经…

搜索引擎的设计与实现【源码+文档+部署讲解】

目 录 目 录 1 绪论 1.1 项目背景 1.2 国内外发展现状及分类 1.3 本论文组织结构介绍 2 相关技术介绍 2.1什么是搜索引擎 2.2 sqlserver数据库 2.3 Tomcat服务器 3 搜索引擎的基本原理 3.1搜索引擎的基本组成及其功能 3.2搜索引擎的详细工作流程 4 系统分析与…

计算机系统组成(计算机组成原理 基础)

文章目录&#xff1a; 一&#xff1a;体系结构 1.系统组成 1.1 硬件系统 1.2 软件系统 2.工作原理 2.1 冯诺依曼体系 2.2 指令和指令系统 3.性能指标 二&#xff1a;硬件系统 1.主机 1.1 CPU 1.2 内存 2.外设 2.1 外存 2.2 输入设备 2.3 输出设备 2.4 适配器 …

一些计算机零碎知识随写(25年1月)-1

我原以为世界上有技术的那批人不会那么闲&#xff0c;我错了&#xff0c;被脚本真实了。 今天正隔着画画呢&#xff0c;手机突然弹出几条安全告警通知。 急忙打开服务器&#xff0c;发现问题不简单&#xff0c;直接关服务器重装系统..... 首先&#xff0c;不要认为小网站&…

Go Ebiten小游戏开发:贪吃蛇

贪吃蛇是一款经典的小游戏&#xff0c;玩法简单却充满乐趣。本文将介绍如何使用 Go 语言和 Ebiten 游戏引擎开发一个简单的贪吃蛇游戏。通过这个项目&#xff0c;你可以学习到游戏开发的基本流程、Ebiten 的使用方法以及如何用 Go 实现游戏逻辑。 项目简介 贪吃蛇的核心玩法是…

FCPX插件:100组二维卡通动漫流体线条MG动画元素包 MotionVfx – mzap

mZap 是一款由 motionVFX 公司出品的 Final Cut Pro X 模板&#xff0c;提供 100 种卡通动漫流体 MG 动画元素和标题效果。这套模板专为视频制作者设计&#xff0c;添加流畅且生动的动画效果&#xff0c;提升视频的创意表现力。 丰富预设&#xff1a;提供 100 种卡通动漫流体 M…

linux下实现U盘和sd卡的自动挂载

linux下实现U盘和sd卡的自动挂载 Chapter0 linux下实现U盘和sd卡的自动挂载 Chapter0 linux下实现U盘和sd卡的自动挂载 原文链接&#xff1a;https://blog.csdn.net/EmSoftEn/article/details/45099699 目的&#xff1a;使U盘和SD卡在Linux系统中进行插入和拔除时能自动挂载和…

Taro+react 开发第一节创建 带有redux状态管理的项目

Taro 项目基于 node&#xff0c;请确保已具备较新的 node 环境&#xff08;>16.20.0&#xff09;&#xff0c;推荐使用 node 版本管理工具 nvm 来管理 node&#xff0c;这样不仅可以很方便地切换 node 版本&#xff0c;而且全局安装时候也不用加 sudo 了。 1.安装 npm inf…

六年之约day12

今日开心&#xff1a;今天通过小红书找到了一个板友群&#xff0c;晚上约了一个男生一个女生一块玩滑板&#xff08;虽然有些冷&#xff0c;但滑着滑着就不冷了。也算是迈出了重要的一步”以板会友“。今后&#xff0c;持续社交吧&#xff0c;拒绝当社畜。 今日不开心&#xf…