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

ops/2025/1/12 3:52:29/

文章目录

  • 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.ppmy.cn/ops/149340.html

相关文章

Kali系统(Debian 10.3) 遇到的问题

目录 问题一:非问题 kali 基础官网与安装 问题二: 问题三: Kali系统 MySQL问题Cant connect to local MySQL server through socket /run/mysqld/mysqld.sock (2) 问题四:重新安装MySQL 也就是MariaDB(MariaDB 含 MySQL相关…

集成Log4j2以及异步日志

文章目录 1.环境搭建1.在sunrays-common下创建一个单独的模块2.依赖关系1.继承父模块的版本和通用依赖 3.创建自动配置相关1.目录2.pom.xml3.Log4j2AutoConfiguration.java 自动配置类4.META-INF/spring.factories 指定自动配置类 2.集成Log4j2以及异步日志1.目录2.引入依赖3.l…

(五)ROS通信编程——参数服务器

前言 参数服务器在ROS中主要用于实现不同节点之间的数据共享(P2P)。参数服务器相当于是独立于所有节点的一个公共容器,可以将数据存储在该容器中,被不同的节点调用,当然不同的节点也可以往其中存储数据,关…

【JVM】总结篇之GC日志分析 和 案例

文章目录 GC日志参数GC日志格式GC日志分类MinorGCFullGC 文件概念 OOMOOM案例1:堆溢出OOM案例2:元空间溢出OOM案例3:GC overhead limit exceededOOM案例4:线程溢出 GC日志参数 GC日志格式 GC日志分类 MinorGC MinorGC(或young …

探索微软 M365 安全:全方位守护数字世界

在当今这个科技呈井喷式飞速发展,数字化浪潮以汹涌澎湃、锐不可当之势席卷全球的时代,企业与个人仿若置身于一片浩瀚无垠、信息奔涌的海洋之中,尽情畅享着技术革新所带来的无穷无尽便利。然而,恰如平静海面下潜藏着暗礁与汹涌暗流,网络安全问题恰似隐匿在暗处、随时可能给…

trf 4.10安装与使用-生信工具42

01 背景 DNA 中的串联重复(Tandem Repeat)指的是两个或多个相邻且近似的核苷酸模式的拷贝。Tandem Repeats Finder (TRF) 是一个程序,用于定位并显示 DNA 序列中的串联重复。用户只需提交一个以 FASTA 格式编写的序列,无需指定重…

视频转码对画质有影响吗?视频融合平台EasyCVR支持哪些转码格式?

视频转码过程是将视频文件从一种编码格式转换为另一种格式的过程,这一过程在现代数字媒体中扮演着至关重要的角色。众所周知,视频转码不仅仅是简单的格式转换,它涉及多个关键参数的改变,例如视频编码格式、比特率、分辨率以及帧率…

Linux第一个系统程序---进度条

进度条---命令行版本 回车换行 其实本质上回车和换行是不同概念,我们用一张图来简单的理解一下: 在计算机语言当中: 换行符:\n 回车符:\r \r\n:回车换行 这时候有人可能会有疑问:我在学习C…