大疆上云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发布的主题的文章,毕竟拿到无人机这个实时的经纬度信息,我们如果在三维地图或者二维地图开发时,可以让无人机飞行,将实时拿到的无人机经纬度在地图上更新显示,类似地图中的某一点根据无人机飞行实时移动位置。还是需要使用到的。
相关文章:
大疆上云API连接遥控器和无人机
文章目录 1、部署大疆上云API关于如何连接我们自己部署的上云API2、开启无人机和遥控器并连接自己部署的上云API如果遥控器和无人机没有对频的情况下即只有遥控器没有无人机的情况下如果遥控器和无人机已经对频好了的情况下 4、订阅无人机或遥控器的主题信息4.1、订阅无人机实时…...
JS逆向-atob和btoa分析
声明:本文只作学习研究,禁止用于非法用途,否则后果自负,如有侵权,请告知删除,谢谢! 故事是这样的,有位读者朋友需要模拟登录一个网站: aHR0cDovL3d3dy56bGRzai5jb20v 我…...
primitive 编写着色器材质
import { nextTick, onMounted, ref } from vue import * as Cesium from cesium import gsap from gsaponMounted(() > { ... })// 1、创建矩形几何体,Cesium.RectangleGeometry:几何体,Rectangle:矩形 let rectGeometry new…...
计算机视觉算法实战——车道线检测
✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连✨ 车道线检测是计算机视觉领域的一个重要研究方向,尤其在自动驾驶和高级驾驶辅助…...
网络安全-安全散列函数,信息摘要SHA-1,MD5原理
安全散列函数 单向散列函数或者安全散列函数之所以重要,不仅在于消息认证(消息摘要。数据指纹)。还有数字签名(加强版的消息认证)和验证数据的完整性。常见的单向散列函数有MD5和SHA 散列函数的要求 散列函数的目的是文件、消息或者其它数据…...
树莓派-5-GPIO的应用实验之GPIO的编码方式和SDK介绍
文章目录 1 GPIO编码方式1.1 管脚信息1.2 使用场合1.3 I2C总线1.4 SPI总线2 RPI.GPIO2.1 PWM脉冲宽度调制2.2 静态函数2.2.1 函数setmode()2.2.2 函数setup()2.2.3 函数output()2.2.4 函数input()2.2.5 捕捉引脚的电平改变2.2.5.1 函数wait_for_edge()2.2.5.2 函数event_detect…...
《零基础Go语言算法实战》【题目 2-10】接口的实现
《零基础Go语言算法实战》 【题目 2-10】接口的实现 请指出下面代码中存在的问题。 type Programmer struct { Name string } func (p *Programmer) String() string { return fmt.Sprintf("print: %v", p) } func main() { p : &Programmer{} p.String()…...
Win32汇编学习笔记10.OD插件
Win32汇编学习笔记10.OD插件-C/C基础-断点社区-专业的老牌游戏安全技术交流社区 - BpSend.net 筛选器异常插件 被调试程序: 📎TestUnh.zip 我们用OD条试试发现,无法断下 筛选器异常 异常产生之后 异常首先会给调试器 调试器不处理就会给 SEH , SEH 不处理的话有又给…...
在vscode中已经安装了插件Live Server,但是在命令面板确找不到
1、VS Code缓存问题: 有时VS Code的缓存可能导致插件无法正确加载。尝试删除VS Code缓存文件夹(如C:\Users\你的用户名\AppData\Roaming\Code)中的文件,并重启VS Code。 2、重新安装插件: 尝试卸载Live S…...
C# SQL ASP.NET Web
留学生的课程答疑 按照要求完成程序设计、数据库设计、用户手册等相关技术文档; 要求 1. 计算机相关专业,本科以上学历,至少有1年以上工作经验或实习经历。 2. 熟练掌握WinForm程序开发,或ASP.NET Web编程。 3. 熟悉C#中网络…...
联想java开发面试题及参考答案
IP 协议是哪一层的? IP 协议(Internet Protocol)属于网络层协议。 网络层主要负责将数据从源节点传输到目标节点,它在整个网络通信体系中起到了承上启下的关键作用。在分层网络模型中,下层(如数据链路层)为网络层提供物理链路的连接和帧传输服务。数据链路层关注的是在相…...
Node.js中的fs模块:文件与目录操作(写入、读取、复制、移动、删除、重命名等)
在Node.js中,fs模块提供了多种方法来处理文件和目录操作,使得数据的持久性保存和文件管理变得简单。下面将介绍文件读写、文件复制、文件移动、文件重命名、文件删除、文件夹创建与删除以及查看资源状态等常用操作。 首先,在使用写入和读取功…...
代码的形状:重构的方向
大概2周前写了一篇《代码的形状:从外到内的探索与实践》 涵树:代码的形状:从外到内的探索与实践 觉得这个话题还可以继续,它是一个从无形到有形的过程,而这个过程感觉就是王阳明先生说的“心即理”的探寻过程。 我讨论代码的形状ÿ…...
2021 年 3 月青少年软编等考 C 语言五级真题解析
目录 T1. 红与黑思路分析T2. 密室逃脱思路分析T3. 求逆序对数思路分析T4. 最小新整数思路分析T1. 红与黑 有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上,只能向相邻的黑色瓷砖移动。请写一个程序,计算你总共能够到达多少块黑色的…...
华为C语言编程规范总结
1.头文件更改会导致所有直接或间接包含该头文件的的C文件重新编译,会增加大量编译工作量,延长编译时间,因此: 1.1 头文件里尽量少包含头文件 1.2 头文件应向稳定的方向包含 2.每一个.c文件应有一个同名.h文件,…...
XML 解析器:深入解析与高效应用
XML 解析器:深入解析与高效应用 引言 XML(可扩展标记语言)作为一种重要的数据交换格式,被广泛应用于各种系统和平台中。为了有效地处理和解析XML数据,XML解析器发挥着至关重要的作用。本文将深入探讨XML解析器的原理…...
《系统爆破:MD5易破,后台登录可爆破?》
声明:笔记的只是方便各位师傅学习知识,以下代码、网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负。 爆破Sales系统 一、爆破MD5 场景:已知MD5的加密字符串,如何得知明…...
基于微信小程序的书籍销售系统设计与实现(LW+源码+讲解)
专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…...
SpringData-Redis缓存
Spring Framework是领先的全堆栈Java/JEE应用程序框架。它提供了一个轻量级容器和一个通过使用依赖注入、AOP和可移植服务抽象实现的非侵入性编程模型。 NoSQL存储系统为传统RDBMS提供了一种横向可扩展性和速度的替代方案。就实现而言,键值存储代表NoSQL空间中最大…...
Hadoop3.3.4伪分布式环境搭建
文章目录 前言一、准备1. 下载Hadoop2. 配置环境变量3. 配置免密 二、Hadoop配置1. hadoop-env.sh2. hdfs-site.xml3. core-site.xml4. mapred-site.xml5. yarn-site.xml 三、格式化四、启动 前言 hadoop学习——伪分布式环境——普通用户搭建 一、准备 1. 下载Hadoop 2. 配…...
【VUE 指令学习笔记】
v-bind :单向绑定解析表达式,可简写为:xxx v-model :双向数据绑定。 v-for:遍历数组/对象/字符串 v-on:绑定事件监听,可简写为。 v-if:条件渲染(动态控制节点是否存存在) v-else:条件渲染(动态控制节点是否存存在) v-show:条件渲染…...
【深度学习】布匹寻边:抓边误差小于3px【附完整链接】
布匹寻边 项目简介 布匹寻边是指布料裁剪过程中,通过AI寻边技术自动识别布匹的边缘,将检测到的边缘信息输出,确保裁剪的准确性,减少浪费,并提高生产效率。 项目需求 将打满针眼的布匹边缘裁剪掉,且误差小…...
【学习笔记】理解深度学习的基础:机器学习
1. 机器学习基础 1.1 机器学习的定义与重要性 定义:深度学习是机器学习的一种特定形式。为了深入理解深度学习,必须牢固掌握机器学习的基本原理。机器学习算法是一种能够从数据中学习的算法,通过经验E在任务T上提高性能度量P(Mi…...
提升租赁效率的租赁小程序全解析
内容概要 在如今快节奏的生活中,租赁小程序俨然成为了提升租赁效率的一把利器。无论是个人还是企业,都会因其便捷的功能而受益。简单来说,租赁小程序能让繁琐的租赁流程变得轻松、高效。在这里,我们将带您畅游租赁小程序的海洋&a…...
Windows自动化Python pyautogui RPA操作
依赖包 import time import pyautogui import pyperclip import os import psutil from pywinauto.application import Application睡眠: pyautogui.sleep(1)鼠标事件: pyautogui.moveTo(100, 100, duration0.25) pyautogui.click(100, 100, duration0.…...
蓝桥杯_B组_省赛_2022(用作博主自己学习)
题目链接算法11.九进制转十进制 - 蓝桥云课 进制转换 21.顺子日期 - 蓝桥云课 时间与日期 31.刷题统计 - 蓝桥云课 时间与日期 41.修剪灌木 - 蓝桥云课 思维 51.X 进制减法 - 蓝桥云课 贪心 61.统计子矩阵 - 蓝桥云课 二维前缀和 71.积木画 - 蓝桥云课 动态规划 82.扫雷 - 蓝桥…...
RK3568 Android 13 内置搜狗输入法小计
问:为什么写? 答:网上搜出来的都试过了,不行!下面直接上代码和注意事项! 首先到这个目录(/RK3568/Rockchip_Android13_SDK_Release/device/rockchip/rk356x/tl3568_evm/preinstall)…...
单片机Day1
目录 一.什么是单片机? 二.单片机的组成 三.封装形式 四.优势 五.分类 通用型: 专用型: 按处理的二进制位可以分为: 六.应用: 七.发展趋势 1.增加CPU的数据总线宽度。 2.存储器的发展。 3.片内1/0的改进 …...
《机器学习》之贝叶斯(Bayes)算法
目录 一、前言 二、贝叶斯算法原理解析 1、贝叶斯公式 2、朴素贝叶斯算法 3、计算步骤 4、例题: (1)、 计算先验概率 (2)、计算条件概率 (3)、计算后验概率 (4)…...
Redis实现高效的负载均衡算法
1. Redis存储设计 我们需要在 Redis 中存储以下信息: 配置列表(List<Config>):存储所有配置项。总权重:存储所有配置的总权重。当前轮询状态:存储当前的轮询状态(如当前随机值或索引&am…...
企业网站推广方式和策略/专业软文发布平台
宁波市第23届中小学生计算机程序设计竞赛复赛试题(小学组)宁波市第2届中小学生计算机程序设计竞赛复赛试题(小学组)题目一览试题名称 排名导游奖品英文代号 paimingdaoyoujiangpin程序名 .pas/c/cpp paiming.pas/c/cpp daoyou.pas/c/cpp jiangpin.pas/c/cpp 输入文件名 .in pai…...
深圳手机网站公司/推广是什么意思
// 前导0 function padLeftZero(str) {return (00${str}).substring(str.length) }/*** 日期格式化为本地日期* param {str} time 时间戳* param {str} fmt 格式* return {str} 格式后日期*/ export const formatDate (time, fmt) > {const date new Date(time);const yea…...
如何做淘宝联盟网站主/seo网站的优化方案
2020庚子年,天干地支纪年第37位;一次大疫情举国哗。平白的多了近10日的假期,习惯上班下班的程序猿类居然开始有些不习惯无所事事,没有指令的工作节奏。 闲来无事难得可以连上网络,索性找些事情做做,以了却…...
武汉seo软件/苏州seo关键词优化外包
随机产生一些直线,当直线相交时产生交点,直线不断移动,交点的位置也随之改变。 <!doctype html> <html> <head> <meta charset"utf-8"> <title>Canvas绘制点线相交</title> <style>body…...
网站建设制作及推广/怎样建立一个自己的网站
今天刚好同事遇到一个关于将 【药品名称】转换为【拼音简写】的问题,如:复方草珊瑚含片---FFCSHHP, 研究了以下,参考了网上的一些方法,写了如下的标量值函数来解决这个问题。 create function fun_getPY(str nvarchar(…...
如何免费建设自己稳定的网站/新闻头条最新消息今天发布
py基础系列(三):python容器数据类型(下)可变类型和不可变类型不可变数据类型可变数据类型不可变数据变量之间的赋值可变数据变量之间的赋值问题不可变类型可以作为键浅复制和深复制浅复制深复制可变类型和不可变类型 …...