无人机GB42590接收端 +接收端,同时支持2.4G与5.8G双频WIFI模组

news2024/10/6 8:36:35

严格按照GB42590的协议开发的发射端,通过串口和模块通讯,默认波特率 921600

http://www.doit.am/首页-深圳四博智联科技有限公司-淘宝网icon-default.png?t=N7T8https://shop144145132.taobao.com/?spm=a230r.7195193.1997079397.2.71f6771dJHT2r0

二、接口文档

单片机和模组之间通信数据格式和之前一样,如下表。

包头

参数长度

包类型

参数

校验

包尾

0X56

0X53

1字节

1字节

若干字节

1字节

0x23

  1. 数据包头:固定2字节ASCII码VS,对应16进制为 0x56 0x53;
  2. 参数长度:固定一字节,16进制数值,注意仅为参数长度,不是整个包的长度。
  3. 参数:可变长度,填充具体的参数内容。
  4. 校验1字节:校验方法为除了包头包尾所有数据取异或,即

校验=长度包类型参数

  1. 包尾:固定为#

校验函数为

unsigned char CRC8 (unsigned char *buffer, unsigned int len)

{

   unsigned char crc = 0;

unsigned int j;

    for (j =0; j < len; j++)

    {

        crc ^= buffer[j];

     }

    return crc;

}

三、接口说明

数据包类型和说明如下(从模组到单片机返回值为方便解析,默认追加\r\n)

包类型

通信方向

参数长度

说明

1

单片机发给模组

不定

设置SSID名称指令,参数内容为SSID名称

2

单片机发给模组

1

获取目前模组的固件及SSID信息

3

单片机发给模组

1

恢复出厂

4

单片机发给模组

1

设置WIFI模式,1代表所有,2代表2.4G,5代表5.8G,默认5.8G

5

单片机发给模组

25的整数倍

发送每个UAV内容报文

    1. 设置SSID指令

模块SSID为XXXXXX_A12F,其中XXXXXX为设置指令里的SSID名称, 默认为“UAV_GB42590”,最后4位固定为模块MAC地址后4位,加上“_”,共有5个字节是模组根据MAC追加的,所以能通过设置的SSID长度不能超过27,比如设置模块的SSID名称为EXD15,那么发送的指令为 56 53 05 01 45 58 44 31 35 59 23,其中绿色为参数内容,设置成功后ESP串口返回OK(默认后面有\r\n)。

    1. 获取固件的版本号、SSID、工作在哪个模式、及设备MAC地址信息

发送的指令为56 53 00 02 02 23,其中绿色为参数内容,16进制数值,设置成功后ESP串口返回“固件版本|SSID名称”,比如 “2.0.5|UAV_GB42590|5.8|9C:63:B0:7D:70:BC”。

    1. 恢复出厂

发送 56 53 00 03 03 23,此时模组会把已经设置的SSID信息恢复成出厂的“UAV_GB42590”返回OK。

    1. UAV数据发送

按照GB42590

每个报文长度25个字节,共6种类型报文,其中第一个字节为报文类型及协议版本,后面24个字节依据每个报文不同组织内容,单片机仅需要发送每种报文的即可,最多一次可以发送6种,一个长度必须是25个字节。如果发送一个报文长度25,两个同时发送长度为50.

比如发送基本ID 报文,类型为0x00

UAV包:00 12 31 31 32 36 32 34 31 35 30 41 39 30 45 33 41 45 31 45 43 30 00 00 00

加上包头和包尾的包:

56 53 19 05 00 12 31 31 32 36 32 34 31 35 30 41 39 30 45 33 41 45 31 45 43 30 00 00 00 05 23

两个

56 53 32 05 00 12 31 31 32 36 32 34 31 35 30 41 39 30 45 33 41 45 31 45 43 30 00 00 00 00 12 31 31 32 36 32 34 31 35 30 41 39 30 45 33 41 45 31 45 43 30 00 00 00 37 23

3.5设置工作在2.4G或是5.8G,或是同时在2.4G及5.8G,默认仅在5.8G(仅对5.8G双频起作用)

参数类型为 0x04,值为 1代表2.4及5.8G,2代表2.4G,5代表5.8G

  1. 工作在2.4G及5.8G发送56 53 01 04 01 04 23,返回OK,模组仅工作在2.4G及5.8G,会同时发包,因为模式间切换需要时间,建议仅工作在5.8G。
  2. 工作在2.4G  发送56 53 01 04 02 07 23
  3. 工作在5.8G  发送 56 53 01 04 05 00 23

发送56 53 01 06 00 07 23,返回OK,模组会停止发送UAV的基本报文包。

3.6测试模式

发送56 53 01 06 01 06 23,返回OK,模组会自动发送UAV的基本报文包。

发送56 53 01 06 00 07 23,返回OK,模组会停止发送UAV的基本报文包。

接收端

二 接口文档

模组输出完整的

UAV包,串口通讯,接上即可工作。

默认在 2.4G的第6信道,和5.8G的149信道工作。

因为信道切换需要大概100ms时间,建议使用两个模组,分别工作在2.4的第6信道和5.8G的149信道。

支持如下AT指定

  1. 查看固件版本,返回版本号及目前工作在2.4G或是5.8G

AT+VERSION_MODE=?\r\n

  1. 控制串口输出波特率,默认是 921600,可以通过AT指令进行更改

AT+BAUD=115200\r\n

  1. 控制采集模块,默认是在5.8G采集,可以通过AT指令进行更改

AT+MODE=2.4\r\n 仅采集2.4G的第6信道

AT+MODE=5.8\r\n 仅采集5.8G的第149信道

AT+MODE=1\r\n 采集2.4G的第6信道和和5.8G的第149信道

  返回OK\r\n

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

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

相关文章

【web3技术】什么是 WEB3?

Web3 简介 中心化网络已经帮助数十亿人融入了互联网,并在其上创建了稳定、可靠的基础设施。 与此同时,少数中心化巨头几乎垄断了互联网,甚至可以为所欲为。 Web3 是摆脱这一困境的方案。 不同于科技巨头垄断的传统互联网,Web3 采用去中心化,由所有用户构建、运营和拥有。…

探索数据结构:顺序串与链式串的深入理解

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ &#x1f388;&#x1f388;养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属专栏&#xff1a;数据结构与算法 贝蒂的主页&#xff1a;Betty’s blog 1. 串的定义 串是一种特殊的顺序表&#xff0c;即每一个元素都是单独一…

Matlab 2024安装教程(附免费安装包资源)

鼠标右击软件压缩包&#xff0c;选择“解压到MatlabR2024a“。 2.打开解压后的文件夹&#xff0c;鼠标右击“MATHWORKS_R2024A“选择装载。 鼠标右击“setup“选择”以管理员身份运行“。点击“是“&#xff0c;然后点击”下一步“。复制一下密钥粘贴至输入栏&#xff0c;然后…

移动开发避坑指南——内存泄漏

在日常编写代码时难免会遇到各种各样的问题和坑&#xff0c;这些问题可能会影响我们的开发效率和代码质量&#xff0c;因此我们需要不断总结和学习&#xff0c;以避免这些问题的出现。接下来我们将围绕移动开发中常见问题做出总结&#xff0c;以提高大家的开发质量。本系列文章…

爬虫的目的是做什么

通过网站域名获取HTML数据解析数据&#xff0c;获取想要的信息存储爬取的信息如果有必要&#xff0c;移动到另一个网页重复过程 这本书上的代码的网址是 &#xff1a; GitHub - REMitchell/python-scraping: Code samples from the book Web Scraping with Python http://shop.…

低代码集成Java系列:高效构建自定义插件

前言 随着软件开发的快速发展和需求的不断增长&#xff0c;开发人员面临着更多的压力和挑战。传统的开发方法需要花费大量的时间和精力&#xff0c;而低代码开发平台的出现为开发人员提供了一种更加高效、快速的开发方式。今天小编就以构建命令插件为例&#xff0c;展示如何使…

不要顺从胃的指示进食

没有人喜欢一直胖着&#xff0c;但想瘦&#xff0c;运动力、运动量、毅力、耐力、坚持、饮食管控方面等都不可缺&#xff0c;道理懂得都懂&#xff0c;但大多数超重胖子却都是有心而无力的。原因&#xff0c;除了生理体积影响了行动外&#xff0c;更重要的一点是&#xff1a;由…

汽车抗疲劳驾驶测试铸铁试验底座技术要求有哪些

铸铁平台试验台底座的主要技术参数要求 1、 试验台底座设计制造符合JB/T794-1999《铸铁平板》标准。 2、 试验铁底板及所有附件的计量单位全部采用 单位&#xff08;SI&#xff09;标准。 3、铸铁平台平板材质&#xff1a;用细密的灰口铸铁HT250或HT200&#xff0c;强度符…

Mysql的事务隔离级别以及事务的四大特性。

MySQL 的事务隔离级别是数据库管理系统中的一个重要概念&#xff0c;它决定了事务如何隔离和影响其他并发事务。MySQL 支持四种事务隔离级别&#xff0c;分别是&#xff1a;读未提交&#xff08;READ UNCOMMITTED&#xff09;、读已提交&#xff08;READ COMMITTED&#xff09;…

Collection与数据结构 二叉树(二):二叉树精选OJ例题(上)

1. 判断是否为相同的二叉树 OJ链接 public boolean isSameTree(Node p, Node q) {if (p null && q ! null || p ! null && q null){//结构不同return false;}if (p null && q null){//结构相同,都是空树return true;}if (p.value ! q.value){//…

STC89C52学习笔记(十二)

STC89C52学习笔记&#xff08;十二&#xff09; 一、AD/DA 1.定义 AD能够将模拟信号转化为数字信号&#xff0c;DA能够将数字信号转化为模拟信号。 2.两种类型的DA转换器 &#xff08;1&#xff09;PWM型DA滤波器 由于PWM是通过脉冲调制的方法来调整的&#xff0c;低通滤…

【数字IC/FPGA】什么是无符号数?什么是有符号数?

进制 虽然在日常生活中&#xff0c;我们已经习惯了使用10进制数字&#xff0c;但在由数字电路构成的数字世界中&#xff0c;2进制才是效率更高的选择。 10进制与2进制 10进制&#xff08;decimal&#xff09;计数法&#xff08;一般也叫阿拉伯计数法&#xff09;是在日常生活…

C++ | Leetcode C++题解之第19题删除链表的倒数第N个结点

题目&#xff1a; 题解&#xff1a; class Solution { public:ListNode* removeNthFromEnd(ListNode* head, int n) {ListNode* dummy new ListNode(0, head);ListNode* first head;ListNode* second dummy;for (int i 0; i < n; i) {first first->next;}while (fi…

UE4_导入内容_骨架网格体

FBX 导入支持 骨架网格体&#xff08;Skeletal Mesh&#xff09; 。这提供了一种简化的处理流程来将有动画的网格体从 3D应用程序中导入到虚幻引擎内&#xff0c;以便在游戏中使用。除了导入网格体外&#xff0c;如果需要&#xff0c;动画和变形目标都可以使用FBX格式 在同一文…

IDA导入jni.h头文件步骤

源地址&#xff1a;https://www.ctvol.com/asreverse/2273.html 导入步骤1&#xff1a; 点击IDA Pro 菜单项“File->Load file->Parse C header file ” 选择jni.h头文件。 导入步骤2&#xff1a; 1、点击IDA Pro 主界面上的“Structures”选项卡。 2、按下Insert键…

为什么会有c++内存模型

1. 引言 c的内存模型主要解决的问题是多线程的问题。怎么理解多线程呢&#xff1f;单核时候&#xff0c;只有1个CPU内核处理多线程&#xff0c;各线程之间随着时间的推进&#xff0c;会不断的切换&#xff0c;如下图形便于理解。 实际上线程间的切换是非常快的&#xff0c;所以…

OpenHarmony实战开发-异步并发概述 (Promise和async/await)。

Promise和async/await提供异步并发能力&#xff0c;是标准的JS异步语法。异步代码会被挂起并在之后继续执行&#xff0c;同一时间只有一段代码执行&#xff0c;适用于单次I/O任务的场景开发&#xff0c;例如一次网络请求、一次文件读写等操作。 异步语法是一种编程语言的特性&…

信息系统项目管理师——管理类计算

风险管理——风险曝光度 风险曝光度概率*影响&#xff0c;概率指风险发生的概率&#xff0c;影响指风险一旦发生&#xff0c;受到影响的项。 题号【GX20061101](61) 知识点[风险曝光度] 风险的成本估算完成后&#xff0c;可以针对风险表中每个风险计算其风险曝光度。某软件小…

h5 笔记4 表格与表单

<table></table>设置表格&#xff1b; <tr></tr>设置行数&#xff1b; <td></td>设置列数&#xff1b; <caption></caption>设置表格标题&#xff1b; <th></th>设置列标题。 直列&#xff1a;column&#xf…

LeetCode 678——有效的括号字符串

阅读目录 1. 题目2. 解题思路3. 代码实现 1. 题目 2. 解题思路 需要两个栈&#xff0c;一个用来保存左括号所在的位置索引&#xff0c;一个用来保存星号所在的位置索引。 从左往右遍历字符串&#xff0c;如果是左括号或者星号&#xff0c;则将位置索引分别入栈&#xff0c;如…