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

news2024/11/19 21:16:06

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

http://www.doit.am/
深圳四博智联科技有限公司icon-default.png?t=N7T8https://shenzhendoit.taobao.com/category-1734422372.htm?spm=a1z10.1-c-s.0.0.560c74d77eT01G&search=y&catName=GB42590%CE%DE%C8%CB%BB%FA

二、接口文档
单片机和模组之间通信数据格式和之前一样,如下表。

二、接口文档

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

包头

参数长度

包类型

参数

校验

包尾

0X56

0X53

1字节

1字节

若干字节

1字节

0x23

  1. 数据包头:固定2字节ASCII码VS,对应16进制为 0x56 0x53;
  2. 参数长度:固定一字节,16进制数值,注意仅为参数长度,不是整个包的长度。
  3. 参数:可变长度,填充具体的参数内容。
  4. 校验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)

数据包类型和说明如下(从模组到单片机返回值为方便解析,默认追加\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内容报文

设置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)。

获取固件的版本号、SSID、工作在哪个模式、及设备MAC地址信息
发送的指令为56 53 00 02 02 23,其中绿色为参数内容,16进制数值,设置成功后ESP串口返回“固件版本|SSID名称”,比如 “2.0.5|UAV_GB42590|5.8|9C:63:B0:7D:70:BC”。

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

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

工作在2.4G及5.8G发送56 53 01 04 01 04 23,返回OK,模组仅工作在2.4G及5.8G,会同时发包,因为模式间切换需要时间,建议仅工作在5.8G。
工作在2.4G  发送56 53 01 04 02 07 23
工作在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指定

查看固件版本,返回版本号及目前工作在2.4G或是5.8G
AT+VERSION_MODE=?\r\n

控制串口输出波特率,默认是 921600,可以通过AT指令进行更改
AT+BAUD=115200\r\n

控制采集模块,默认是在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/1629265.html

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

相关文章

MySQL数据库安装——zip压缩包形式

安装压缩包zip形式的 MySQL 8数据库 一 、先进入官网下载 https://dev.mysql.com/downloads/mysql/ 二、解压到某个文件夹 我解压到了D:\mysql\mysql8 下面 然后在这个文件夹下手动创建 my.ini 文件和 data 文件夹 my.ini 内容如下&#xff1a; 注意 basedir 和 datadi…

Docker数据管理、网络通信和Dockerfile

一.数据管理 数据卷是一个供容器使用的特殊目录&#xff0c;位于容器中。可将宿主机的目录挂载到数据卷上&#xff0c;对数据卷的修改操作立刻可见&#xff0c;并且更新数据不会影响镜像&#xff0c;从而实现数据在宿主机与容器之间的迁移。数据卷的使用类似于 Linux 下对目录…

面试算法题精讲:最长回文子串

面试算法题精讲&#xff1a;最长回文子串 题目来源&#xff1a;5. 最长回文子串 题目描述&#xff1a; 给你一个字符串 s&#xff0c;找到 s 中最长的回文子串。 如果字符串的反序与原始字符串相同&#xff0c;则该字符串称为回文字符串。 解法1&#xff1a;动态规划 对于…

ubuntu22.04安装TensorRT(过程记录)

重要说明&#xff1a;此贴经过多次修改。第一次安装的的为trt8.6.1版本。第二次安装的10.0.0.6版本。有些地方可能没改过来&#xff0c;比如链接向导&#xff0c;我懒得改了&#xff0c;但是流程是对的。 cuda和cudnn版本对应关系 tensorRT历史发行版本 CUDA历史发行版本 cudn…

【Godot4.2】有序和无序列表函数库 - myList

概述 在打印输出或其他地方可能需要构建有序或无序列表。本质就是构造和维护一个纯文本数组。并用格式化文本形式&#xff0c;输出带序号或前缀字符的多行文本。 为此我专门设计了一个类myList&#xff0c;来完成这项任务。 代码 以下是myList类的完整代码&#xff1a; # …

Android 设置头像 - 相册拍照

Android开发在个人信息管理中&#xff0c;如果设置头像&#xff0c;一般都提供了从相册选择和拍照两种方式。下午将针对设置用户头像相册和拍照两种方式的具体实现进行详细说明。 在实际实现过程中需要使用到权限管理&#xff0c;新版本的Android需要动态申请权限&#xff0c;权…

【JAVA】一文掌握Java并发编程

Java 开发中&#xff0c;并发编程属于相当重要的一个知识点&#xff0c;可以说&#xff0c;Java 的并发能力&#xff0c;是成就今日 Java 地位的因素之一。Java 的并发编程由浅入深实质上是包含 Java&#xff08;API&#xff09;层、JVM&#xff08;虚拟机&#xff09;层、内核…

Mac下使用homebrew管理多版本mysql同时启动

Mac下使用homebrew管理多版本mysql同时启动 思路 给每个版本分配不同的数据目录和配置文件即可 本文尝试了使用 brew 安装管理多个MySQL版本&#xff0c;同时运行、直接切换 安装 如果已有数据文件请自行备份以及使用 安装 mysql 5.7 brew install mysql5.7在 /opt/home…

运维笔记:基于阿里云跨地域服务器通信(上)

运维笔记 阿里云&#xff1a;跨地域服务器通信&#xff08;上&#xff09; - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this a…

C语言编译的优化等级应该选哪个?O0、O1、O2还是O3

在使用IDE开发STM32程序时&#xff0c;IDE一般都会提供优化等级设置的选项&#xff0c;例如下图中KEIL软件优化等级的设置。 从上图中也可以看出&#xff0c;设置不同的优化等级&#xff0c;实际上是修改了编译器的编译参数。这个编译器是由ARM公司提供的C/C编译器armclang或者…

opencv4.8 系列一环境搭搭建

open 运行环境&#xff1a; vs2017 下载地址&#xff1a;https://www.123pan.com/s/cVyRVv-ydPWh.html 一&#xff1a;新建项目 二&#xff1a;核心代码&#xff1a; 在这里插入代码片 #include<opencv2/opencv.hpp>int main(int argc,char** argv) {cv::Mat src cv…

【软考高项】二十六、范围管理基础内容

一、管理基础 产品范围和项目范围 产品范围强调结果&#xff0c;项目范围强调结果 管理的新实践 &#xff1a;需求一直是项目管理的关注重点&#xff0c;需求管理过程结束于需求关闭&#xff0c;即把产品、服务或成果移交给接收方&#xff0c;以便长期测量、监控、实现并维持收…

ptyhon画图显示中文

import matplotlib.pyplot as plt import matplotlib# 设置中文字体 matplotlib.rcParams[font.sans-serif] [SimHei] matplotlib.rcParams[font.family]sans-serifplt.plot([1, 2, 3, 4]) plt.xlabel(这是x轴) plt.ylabel(这是y轴) plt.title(这是标题) plt.show()用这个代码…

anaconda安装python 3.8环境

打开anaconda命令行窗口 在命令行窗口中&#xff0c;输入命令&#xff1a;conda create -n py38 python3.8 执行命令后&#xff0c;显示conda版本、安装路径和安装的包 然后提醒是否安装&#xff0c;输入y 等待安装完成。然后进入python3.8&#xff0c;执行命令&#xff1a;con…

收藏:什么是协程的通俗解析

不错的视频&#xff1a;到底该怎么理解协程&#xff1f;_哔哩哔哩_bilibili 重点的要点&#xff1a; 比如这个函数&#xff1a; python中&#xff0c;使用yield关键字来做协程&#xff0c;就是暂停可以去执行其他东西&#xff0c;然后其他东西执行完后&#xff0c;继续执行yiel…

抓包理解协议

用的Wireshark 抓包 1.抓包网卡选择 - WLAN 无线网卡&#xff0c;其他是本地虚拟机的网卡 这里分别是开始捕获、停止捕获、重新捕获、网卡选择&#xff0c;下面是可以过滤选择 过滤tcp包 3次握手&#xff1a; source是源地址&#xff0c; destination是目标地址&#xff0c;in…

Mysql用语句创建表/插入列【示例】

一、 创建表 COMMENT表示字段或列的注释 -- 新建student表 CREATE TABLE student (id BIGINT NOT NULL COMMENT 学生id, enroll_date DATE NOT NULL COMMENT 注册时间, NAME VARCHAR(18) DEFAULT NOT NULL COMMENT 学生姓名, deal_flag TINYINT(1) DEFAULT 0 NOT NULL COMM…

创新入门|从点击到转化:AI个性化登陆页助力潜在客户转化

在数字营销的竞争格局中&#xff0c;采用先进技术对于旨在区分自己并吸引受众的企业至关重要。人工智能 &#xff08;AI&#xff09; 成为一项关键技术&#xff0c;尤其是在制作个性化登录页面的艺术方面。这些页面不仅仅是品牌与其潜在客户之间的第一个接触点;它们是吸引兴趣、…

vue-admin-template项目实现中英文切换

实现效果&#xff1a; 1.安装 *注意版本号 npm install vue-i18n8.24.5 -S2.新建文件夹 在src目录下新建lang文件夹&#xff0c;里面有3个文件 // index.js import Vue from vue import VueI18n from vue-i18n import Cookies from js-cookie import elementEnLocale fr…

Redis 服务等过期策略和内存淘汰策略解析

redis服务是基于内存运行的&#xff0c;所以很多数据都存放在内存中&#xff0c;但是内存又不是无限的&#xff0c;所以redis就引出了key的过期和淘汰策略。 一、Redis的过期策略&#xff1a; 我们在set key的时候&#xff0c;可以给它设置一个过期时间&#xff0c;比如expire …