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

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

http://www.doit.am/首页-深圳四博智联科技有限公司-淘宝网https://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

相关推荐
Aaron158815 分钟前
RFSOC+VU13P/VU9P+GPU多通道同步一体化解决方案
人工智能·嵌入式硬件·算法·matlab·fpga开发·硬件架构·基带工程
Evand J37 分钟前
【MATLAB】多无人机编队协同控制与三维航迹规划仿真。障碍物斥力避障,输出编队误差、控制输入、三维轨迹等
开发语言·matlab·无人机
所见即所得1111140 分钟前
stm32烧录过程中串口问题(串口被占用无法使用)
stm32·单片机·嵌入式硬件
Freak嵌入式1 小时前
WIZnet-EVB-Pico2开始,用MicroPython玩转以太网开发
arm开发·人工智能·python·嵌入式硬件·机器人·嵌入式·micropython
黑白园1 小时前
STM32F103C8TC使用ST-Link下载
stm32·单片机·嵌入式硬件
时空自由民.2 小时前
嵌入式MCU的中断系统工作流程及其原理
单片机·嵌入式硬件
LCG元2 小时前
STM32实战:基于STM32F103的智慧教室环境监控系统(CO₂+光照+人数统计)
前端·stm32·嵌入式硬件
振南的单片机世界2 小时前
推挽输出:上管推、下管拉,驱动强但不“合群”
arm开发·stm32·单片机·嵌入式硬件
森利威尔电子-3 小时前
森利威尔SL7140|2.5–24V 宽压 / 10mA–2A / PWM 调光 线性 LED 恒流驱动
单片机·嵌入式硬件·集成电路·芯片·电源芯片
VALENIAN瓦伦尼安教学设备3 小时前
填补国内空白!瓦伦尼安发布首台船机机械故障诊断振动实验台
大数据·人工智能·嵌入式硬件