跳转至

使用手册

1概述

Air5101系列是一款基于BLE 5.2技术的低功耗蓝牙(BLE)透传模块,兼具高性能与低功耗特性。本系列模块提供完整的AT指令集配置接口和透明数据传输模式,极大简化了无线通信应用的开发流程。

Air5101系列作为独立蓝牙模组,可与现有4G模组(780系列) 完美搭配,通过“外挂”方式实现功能升级,让您的产品以极小的硬件改动获得蓝牙功能,真正实现低成本、高效率的解决方案。

系列型号说明:

● Air5101S:工作于从模式,可被手机、主机等连接。

封装尺寸:

6 * 15.3 * 2.25mm

蓝牙技术规格

● 蓝牙版本:BLE 5.2;

● 协议标准:低功耗蓝牙(BLE);

● 通信距离:参考距离10~20米(注:具体距离取决于环境和使用条件);

● 数据传输率:物理层理论支持 1Mbps,短包格式传输;

● 发射功率:-40dBm~6dBm;

● 接收灵敏度 < -96 dBm;

工作模式

● AT指令模式:通过串口发送AT指令配置模块参数,默认串口波特率为 9600bps,可设置115200等其它波特率;

● 透传模式:建立连接后数据透明传输,无需协议封装;

● 快速切换:支持两种工作模式的热切换,默认为透传模式,可以发送“AT+UA”进入AT指令模式;

应用场景

本模块适用于各类物联网设备和无线通信应用,包括但不限于:

● 灯控、玩具控制;

● 数据透传模块;

● 无线传感设备;

● 其他专用设备;

功耗说明:

Air5101S 支持三种功耗模式,常规模式0、低功耗模式1和低功耗模式3;

具体功耗与广播,连接的工作间隔有关,具体请参考第三章节的功耗说明,以下是三种功耗模式的对比:

注意:低功耗模式1和低功耗模式3的功耗相同,只是唤醒后的行为不一致;

1. 常规模式0:蓝牙正常工作;

2. 低功耗模式1:可被发现和连接,唤醒后,会在80ms后再次进入低功耗模式1。

3. 低功耗模式3:可被发现和连接,唤醒后,自动退出低功耗模式3,进入常规模式0;

Air5101S两项实用功能:

除了稳定的蓝牙连接,Air5101系列还内置了两项提升系统可靠性与智能化的实用功能:

1. 🔒 硬件看门狗

模块可配置为系统的独立守护者。当主控运行异常、未能在设定时间内“喂狗”时,蓝牙模组能通过SWITCH引脚自动输出指定电平,强制重启主控,确保设备在无人值守环境下也能自恢复。

此功能要在AT指令模式下使用, 若在透传模式下,需注意喂狗超时时间,在超时时间内切换为AT指令模式进行喂狗操作,否则会触发看门狗复位。

示例指令:

  • 设置看门狗,超时45秒后拉高SWITCH 100ms复位主控。

  • AT+WDCFG=1,45,1,100

更详细的说明,请参考Air5101S使用手册的6.7.1章节。

2. ⚡️ 智能低功耗唤醒

专为4G+蓝牙 双模设备优化。在4G模组休眠时,蓝牙可保持低功耗连接。一旦发生蓝牙连接断开或收到数据等关键事件,蓝牙模块能通过WAKEUP引脚立即唤醒主控系统,实现真正的按需工作。

示例指令:

  • 设置蓝牙断链唤醒,蓝牙断开连接后拉高WAKEUP 100ms 唤醒主控。

  • AT+WAKEUP=1,1,100

更详细的说明,请参考Air5101S使用手册的6.7.3章节。

2 硬件说明

脚位说明

表1 Air5101模组管脚定义

引脚号 引脚名 类型 功能
1 GND 电源地
2 RXD 输入 串口数据接收(同时也是SWD烧录口:SWCLK)
3 TXD 输出 串口数据发送(同时也是SWD烧录口:SWDIO)
4 GND 电源地
5 VBAT 电源 模组工作电源输入,输入范围为3.3V-5.5V,建议4V供电
6 GND 电源地
7 WAKEUP 输出 注意是Air5101唤醒对端主控,不是Air5101被主控唤醒
8 SWITCH 输出 看门狗控制主控的reset复位
9 RESET 输入 主控复位Air5101的信号,拉低可复位Air5101
10 GND 电源地

电平说明

Air5101内置LDO,输出3.3V为系统供电;因此,Air5101的全部IO电平固定3.3V;

天线说明

集成板载PCB天线;

天线设计注意事项:

1,推荐伸出板外;

2,若不能伸出板外,外沿和PCB齐平,那天线区域两侧需要各镂空30mm,整体镂空区域就是(天线左侧30mm+模块宽度6mm+天线右侧30mm)*5.5mm

温度

-40°C~+85°C

(这个温度范围,也就是大家常说的“工业级”)

供电

通过VBAT给Air5101模块供电,供电范围3.3V--5.5V,建议使用4V供电。

模组封装

资料中心 - product@air5101 - 合宙模组资料中心

3 功耗说明

注意:低功耗模式1和低功耗模式3的功耗数据相同,只是唤醒后的行为不一致,故低功耗模式1和低功耗模式3在下方的功耗表中 统称为低功耗模式。

工作状态 发射功率 (dbm) 功耗模式 工作间隔 (ms) 底电流 (uA) 平均电流 (uA)
广播 6 常规模式 30 2160 2700
100 2160 2330
500 2160 2220
1000 2160 2180
低功耗模式 30 76.48 1100
100 26 490
200 26 260
500 26 120
1000 26 75
3000 26 45
5000 26 38
10000 26 32
连接 常规模式 50 2170 2290
380 2170 2240
500 2170 2190
1000 2170 2185
低功耗模式 35 75 650
50 26 550
500 26 100
1000 26 70

4 蓝牙服务说明

4.1 设备基本信息

默认设备名称-“Air5101S”

4.2 蓝牙服务定义

Service UUID:

{0x16,0x0a,0x10,0x40,0xd1,0x9f,0x4c,0x6c,0xb4,0x55,0xe3,0xf7,0x00,0xff,0x00,0x00}

Characteristic1 UUID:

{0x16,0x0a,0x10,0x40,0xd1,0x9f,0x4c,0x6c,0xb4,0x55,0xe3,0xf7,0x01,0xff,0x00,0x00}

特征属性:NOTIFY | INDICATE

Characteristic2 UUID:

{0x16,0x0a,0x10,0x40,0xd1,0x9f,0x4c,0x6c,0xb4,0x55,0xe3,0xf7,0x02,0xff,0x00,0x00}

特征属性:WRITE | WRITE NO RESPONSE

5 串口传输说明

数据传输分为 AT 指令模式和透传模式,两者可以随时切换;默认为透传模式,可以发送“AT+UA”进入AT指令模式。

5.1 AT指令模式

AT指令模式默认为ASCII通讯,ASCII 通讯方式有大端模式和小端模式两种,具体应用去请查看对应指令。

通过特定 AT 指令,可以设置通讯模式或蓝牙参数,可以通过“AT+BLEUART”指令切换为透传模式;返回信息有回车换行符(\r\n)。

5.2 透传模式

纯数据交互,APP(串口)输入什么数据,同时串口(APP)传出什么数据,但是它会响应“AT+BLEATCMD”指令切换为 AT 指令模式。

5.3 配置保存

1. 首先,不要在有低功耗的情况下更改配置信息,包括 MAC 地址、波特率、设备名、广播内容、广播间隔、广播类型、发射功率值等;

2. 其次,如果需要执行低功耗,且更改了上述信息,需要执行“AT+SAVE”指令,将上述信息保存到 flash中,因为每次唤醒,芯片会从 flash 中读取配置信息并应用,如果没有保存,将使用默认信息。

5.4 系统重启

可以拉低 RST引脚(≥2ms)重启,或者“AT+RESTART”指令重启;复位后默认透传模式。

5.5 系统重置

可以通过“AT+DEFAULT”指令重置,恢复默认出厂设置。

5.6 蓝牙重启

由于修改蓝牙部分参数时,需要重启蓝牙部分才能应用更改,因此在用 AT 指令修改蓝牙参数时,芯片会判断蓝牙是否处于连接状态;如果处于非连接状态,蓝牙部分会立即重启应用;如果处于连接状态,参数不会立即更新应用,需要等待断开连接时,才会立即更新;参数包括广播内容、广播间隔、设备名称等。

6 指令说明

6.1基本操作指令

6.1.1获取软件版本信息:AT+VER

功能说明:

获取模块当前运行的软件版本信息。

语法规则:

命令类型 语法 返回
执行命令 AT+VER AT:<软件版本信息>(\r\n)

举例:

命令(→)/返回(←) 实例 解释和说明
AT+VER 获取软件版本信息
AT:1.5.0-2507041634(\r\n) 返回查询结果

6.1.2显示所有配置信息:AT+CFG

功能说明:

显示模块所有当前配置信息,包括名称、版本、波特率、连接状态、MAC地址、广播参数等。

语法规则:

命令类型 语法 返回
执行命令 AT+CFG
Name:<蓝牙名称>
Version:<软件版本>
Baudrate:<串口波特率>
DataFormat:<通信数据格式>
Connected:<当前的蓝牙连接状态>
MacAddr:<蓝牙 mac地址>
AdvType:<广播类型>
AdvData:<广播数据>
ScanRsp:<扫描响应数据>
TxPwr:<发射功率>
AdvIntv:<广播间隔>
SleepMode:<低功耗模式设置>

举例:

命令(→)/返回(←) 实例 解释和说明
AT+CFG 显示所有配置信息
Name = Air5101S
Version = 1.5.0-2507041634
Baudrate = 9600
DataFormat = ASCII
Connected = False
MacAddr = 0x7F0400086BDD
AdvType = 0x03
AdvData = 0x0201060303121803190000
ScanRsp = 0x0A094D47D24C6966652D43
TxPwr = 15
SleepMode = 0
返回查询结果

6.1.3保存配置信息:AT+SAVE

功能说明:

将当前所有配置参数保存至 Flash,掉电或重启后仍有效。

注意事项:

1. 保存的配置信息内容包含 MAC 地址、波特率、UUID、设备名、广播内容、广播间隔、广播类型、发射功率值等;如果不执行该指令,芯片进入低功耗、掉电或重启时,以上信息会复位。

2. 低功耗模式下唤醒(无论是蓝牙自己唤醒起来广播,还是串口、IO 唤醒),都会重新从 flash 内读取配置信息,所以不要在有低功耗的情况下更改以上配置;或者在执行低功耗命令前先执行该命令立即保存,然后再执行低功耗。

语法规则:

命令类型 语法 返回
执行命令 AT+SAVE AT:OK(\r\n)

举例:

命令(→)/返回(←) 实例 解释和说明
AT+SAVE 保存配置
AT:OK(\r\n) 保存成功

6.1.4恢复出厂设置:AT+DEFAULT

功能说明:

恢复模块所有配置为出厂默认值,并重启模块。

注意事项:

1. 执行AT+SAVE指令保存的信息也会被擦除。

2. 执行后模块会重启。

语法规则:

命令类型 语法 返回
执行命令 AT+DEFAULT AT:OK(\r\n)

6.1.5模组重启:AT+RESTART

功能说明:

软重启模块。

注意事项:

重启后未保存的配置将丢失。

语法规则:

命令类型 语法 返回和说明
执行命令 AT+RESTART AT:OK(\r\n)

6.1.6获取当前设定的串口波特率:AT+GETBAUD/AT+GD

功能说明:

获取当前设定的串口波特率。

注意事项:

返回值为整数,如 9600、115200 等。

语法规则:

命令类型 语法 返回
执行命令 AT+GETBAUD AT:<baud>
执行命令(简略版) AT+GD AT:<baud>

参数定义:

参数 定义 取值 对取值的说明
<baud> 串口波特率 整数 常见值:9600, 19200, 38400, 57600, 115200等; 最高支持到921600

举例:

命令(→)/返回(←) 实例 解释和说明
AT+GETBAUD 查询串口波特率
AT:9600(\r\n) 返回当前值

6.1.7设置串口波特率:AT+SETBAUD/AT+SD

功能说明:

设置串口波特率。

注意事项:

1. 默认波特率为9600。

2. 回复完成后,会按设定的波特率初始化串口,然后需要在新波特率下发送AT+SAVE保存当前波特率配置。

语法规则:

命令类型 语法 返回
执行命令 AT+SETBAUD=<baud> AT:OK(\r\n)
执行命令(简略版) AT+SD=<baud> AT:OK(\r\n)

参数定义:

参数 定义 取值 对取值的说明
<baud> 串口波特率 整数 常见值:9600, 19200, 38400, 57600, 115200等; 最高支持到921600

举例:

命令(→)/返回(←) 实例 解释和说明
AT+SETBAUD=9600 设置串口波特率为9600
AT:OK(\r\n) 设置成功

6.2模式切换指令

6.2.1蓝牙切换为透传模式:AT+BLEUART/AT+AU

功能说明:

将模块切换为蓝牙透传模式,此时串口数据将通过蓝牙透明传输。

注意事项:

透传模式下仍然响应 AT+BLEATCMD 或 AT+UA 指令。

语法规则:

命令类型 语法 返回
执行命令 AT+BLEUART UT:OK(\r\n)
执行命令(简略版) AT+AU UT:OK(\r\n)

举例:

命令(→)/返回(←) 实例 解释和说明
AT+BLEUART 进入透传模式
UT:OK(\r\n) 切换成功

6.2.2切换为AT指令模式:AT+BLEATCMD/AT+UA

功能说明:

将模块从透传模式切换回AT指令模式。

语法规则:

命令类型 语法 返回和说明
执行命令 AT+BLEATCMD AT:OK(\r\n)
执行命令(简略版) AT+UA AT:OK(\r\n)

举例:

命令(→)/返回(←) 实例 解释和说明
AT+BLEATCMD 进入AT指令模式
AT:OK(\r\n) 切换成功

6.3设备信息配置指令

6.3.1获取蓝牙的设备名称:AT+GETNAME/AT+GN

功能说明:

获取当前蓝牙设备的名称。

注意事项:

1. 设备名称最大长度为20个字符。

2. 模块使用ASCII编码,此时每个字符占用1字节。

语法规则:

命令类型 语法 返回
执行命令 AT+GETNAME AT:<name>
执行命令(简略版) AT+GN AT:<name>

参数定义:

参数 定义 取值 对取值的说明
<name> 蓝牙设备名称 字符串 ASCII字符,最大长度20个字符。

举例:

命令(→)/ 返回(←) 实例 解释和说明
AT+GETNAME 查询蓝牙设备名称
AT:Air5101S(\r\n) 返回查询的蓝牙设备名称

6.3.2设置设备名称:AT+SETNAME/AT+SN

功能说明:

设置蓝牙设备的名称。

注意事项:

1. 设备名称最大长度为20个字符。

2. 模块使用ASCII编码,此时每个字符占用1字节。

3. 设置后需执行AT+SAVE保存配置。

语法规则:

命令类型 语法 返回和说明
执行命令 AT+SETNAME=<name> AT:OK(\r\n)
执行命令(简略版) AT+SN=<name> AT:OK(\r\n)

参数定义:

参数 定义 取值 对取值的说明
<name> 蓝牙设备名称 字符串 ASCII字符,最大长度20个字符。

举例:

命令(→)/ 返回(←) 实例 解释和说明
AT+SETNAME=Air5101S 设置蓝牙设备名称
AT:OK(\r\n) 设置成功

6.3.3获取蓝牙的MAC地址:AT+GETMAC/AT+GM

功能说明:

获取模块的蓝牙 MAC 地址。

注意事项:

1. 返回值为 14个字符的字符串,格式为 ”0x” + 12 位十六进制数。

2. 实际 MAC 地址需按字节反序解读(小端模式)。

语法规则:

命令类型 语法 返回和说明
执行命令 AT+GETMAC AT:<MAC>
执行命令(简略版) AT+GM AT:<MAC>

参数定义:

参数 定义 取值 对取值的说明
<MAC> 蓝牙MAC地址 14个字符的字符串,格式为"0x" + 12位十六进制数 示例:"0x1234567890AB"

举例:

命令(→)/ 返回(←) 实例 解释和说明
AT+GETMAC 查询蓝牙MAC地址
AT:0x1234567890AB(\r\n) 返回查询的蓝牙MAC地址

6.3.4设置蓝牙的MAC地址:AT+SETMAC/AT+SM

功能说明:

设置模块的蓝牙 MAC 地址。

注意事项:

1. MAC地址为14个字符的字符串,格式为 ”0x” + 12 位十六进制数。

2. 实际 MAC 地址需按字节反序解读(小端模式)。

3. 设置后需执行AT+SAVE命令保存配置,否则重启后恢复原地址。

4. 字母不区分大小写。

语法规则:

命令类型 语法 返回和说明
执行命令 AT+SETMAC=<MAC> AT:OK(\r\n)
执行命令(简略版) AT+SM=<MAC> AT:OK(\r\n)

参数定义:

参数 定义 取值 对取值的说明
<MAC> 蓝牙的 MAC 地址 14个字符的字符串,格式为"0x" + 12位十六进制数 示例:"0x1234567890AB"
1. 必须以"0x"开头
2. 12位十六进制数(0-9, A-F)
3. 字母不区分大小写

举例:

命令(→)/ 返回(←) 实例 解释和说明
AT+SETMAC=0x1234567890AB 设置蓝牙MAC地址
由于反序规则,实际将设置地址为:AB:90:78:56:34:12
AT:OK(\r\n) 设置成功
AT+GETMAC 验证设置的MAC地址
AT:0x1234567890AB(\r\n) 返回查询的蓝牙MAC地址
AT+SAVE 保存MAC地址配置
AT:OK(\r\n) 保存成功

6.4蓝牙通信参数指令

6.4.1 获取广播类型:AT+GETADVTYPE/AT+GAT

功能说明:

获取当前蓝牙模块的广播类型设置。

注意事项:

1. 广播类型决定了设备是否可被其他蓝牙设备连接。

2. 更改广播类型后需执行AT+SAVE命令保存配置。

3. 广播类型会影响设备的被发现和连接行为。

语法规则:

命令类型 语法 返回
执行命令 AT+GETADVTYPE AT:<type>
执行命令(简略版) AT+GAT AT:\<type>

参数定义:

参数 定义 取值 对取值的说明
<type> 获取的蓝牙广播类型 0x02
0x03
0x02-不可连接广播包:设备只广播数据,不接受连接请求
0x03-可连接广播包:设备广播数据并接受连接请求

举例:

命令(→)/ 返回(←) 实例 解释和说明
AT+GETADVTYPE 获取当前广播类型
AT:0x03(\r\n) 返回当前广播类型为可连接广播

6.4.2 设置广播类型:AT+SETADVTYPE/AT+SAT

功能说明:

设置蓝牙模块的广播类型,控制设备是否允许被其他蓝牙设备连接。

注意事项:

1. 广播类型决定了设备是否可被其他蓝牙设备连接。

2. 更改广播类型后需执行AT+SAVE命令保存配置。

3. 广播类型会影响设备的被发现和连接行为。

语法规则:

命令类型 语法 返回
执行命令 AT+SETADVTYPE=<type> AT:OK(\r\n)
执行命令(简略版) AT+SAT=<type> AT:OK(\r\n)

参数定义:

参数 定义 取值 对取值的说明
<type> 蓝牙广播类型 0x02
0x03
0x02-不可连接广播包:设备只广播数据,不接受连接请求
0x03-可连接广播包:设备广播数据并接受连接请求

举例:

命令(→)/ 返回(←) 实例 解释和说明
AT+SETADVTYPE=0x03 设置广播类型为0x03
AT:OK(\r\n) 设置成功
AT+SAVE 保存广播类型设置
AT:OK(\r\n) 保存成功

6.4.3 获取广播包内容:AT+GETADV/AT+GA

功能说明:

获取当前蓝牙模块的广播数据包内容。

注意事项:

1. 广播数据包最大长度为31字节(十六进制)。

2. 数据内容以十六进制字符串形式返回,前缀为"0x"。

3. 广播数据格式遵循蓝牙AD Structure格式。

语法规则:

命令类型 语法 返回
执行命令 AT+GETADV AT:<data>
执行命令(简略版) AT+GA AT:<data>

参数定义:

参数 定义 取值 对取值的说明
<data> 蓝牙广播包内容 十六进制字符串 格式:"0x" + 十六进制数据
最大长度:62字符(31字节数据)

举例:

命令(→)/返回(←) 实例 解释和说明
AT+GETADV 获取当前广播包内容
AT:0x0201060303121803190000(\r\n) 返回当前广播包内容
数据解析:
02 01 06 → [长度2字节][类型1-广播标志][06-通用发现模式]
03 03 12 18 → [长度3字节][类型3-16位UUID][0x1812]
03 19 00 00 → [长度3字节][类型19-设备外观][0000-未知设备]

6.4.4 设置广播包内容:AT+SETADV/AT+SA

功能说明:

设置蓝牙模块的广播数据包内容。

注意事项:

1. 广播数据包最大长度为31字节(十六进制)。

2. 数据必须以"0x"前缀的十六进制字符串格式输入。

3. 修改广播数据后需执行AT+SAVE保存配置。

4. 广播数据格式需遵循蓝牙AD Structure规范。

语法规则:

命令类型 语法 返回
执行命令 AT+SETADV=<data> AT:OK(\r\n)
执行命令(简略版) AT+SA=<data> AT:OK(\r\n)

参数定义:

参数 定义 取值 对取值的说明
<data> 蓝牙广播包内容 十六进制字符串 格式:"0x" + 十六进制数据
最大长度:62字符(31字节数据)

举例:

命令(→)/返回(←) 实例 解释和说明
AT+SETADV=0x020106 设置广播数据为基本广播标志
解析:
02 01 06 → [长度2][类型1-广播标志][06-通用发现模式]
AT:OK(\r\n) 设置成功
AT+SAVE 保存广播数据配置

6.4.5 获取模块预设的扫描响应数据:AT+GETSCANRSP/AT+GSR

功能说明:

获取蓝牙模块的预设的扫描响应数据。扫描响应数据是在设备收到扫描请求时返回的附加信息,用于提供设备名称等补充信息,不占用广播数据包的有效载荷。扫描响应数据拥有自己独立的、最大31字节的有效载荷空间。

注意事项:

1. 数据以"0x"前缀的十六进制字符串返回,最大62字符(31字节)。

2. 此指令获取的是模块中预设的扫描响应数据内容,与当前是否被扫描无关。

3. 修改扫描响应数据后需执行AT+SAVE保存配置。

4. 扫描响应数据格式需遵循蓝牙AD Structure规范。

语法规则:

命令类型 语法 返回
执行命令 AT+GETSCANRSP AT:<data>(\r\n)
执行命令(简略版) AT+GSR AT:<data>(\r\n)

参数定义:

参数 定义 取值 对取值的说明
<data> 扫描响应数据 十六进制字符串 格式:"0x" + 十六进制数据
最大长度:62字符(31字节数据)

举例:

命令(→)/返回(←) 实例 解释和说明
AT+GETSCANRSP 获取扫描响应数据
AT:0x080941697235313031(\r\n) 获取成功
数据解析:
0x080941697235313031
08 = 长度字节 (1字节类型 + 7字节数据 = 8字节)
09 = 数据类型 (09表示完整设备名称)
41 69 72 35 31 30 31 = "Air5101"的ASCII码

6.4.6 设置扫描响应数据:AT+SETSCANRSP/AT+SSR

功能说明:

设置蓝牙模块的扫描响应数据。扫描响应数据是在设备收到扫描请求时返回的附加信息,用于提供设备名称等补充信息,不占用广播数据包的有效载荷。扫描响应数据拥有自己独立的、最大31字节的有效载荷空间。

注意事项:

1. 数据必须以"0x"前缀的十六进制字符串格式输入,最大62字符(31字节)。

2. 修改扫描响应数据后需执行AT+SAVE保存配置。

3. 扫描响应数据格式需遵循蓝牙AD Structure规范。

语法规则:

命令类型 语法 返回
执行命令 AT+SETSCANRSP=<data> AT:OK
执行命令(简略版) AT+SSR=<data> AT:OK

参数定义:

参数 定义 取值 对取值的说明
<data> 扫描响应数据 十六进制字符串 格式:"0x" + 十六进制数据
最大长度:62字符(31字节数据)

举例:

命令(→)/返回(←) 实例 解释和说明
AT+SETSCANRSP=0x080941697235313031 设置扫描响应数据
AT:OK(\r\n) 设置成功
AT+SETSCANRSP=0x00 清空扫描响应数据,恢复默认空状态
AT:OK(\r\n) 设置成功
AT+SAVE 保存配置
AT:OK(\r\n) 保存成功

6.4.7 获取广播间隔:AT+GETADVINTERV/AT+GAI

功能说明:

获取当前蓝牙模块的广播间隔设置。

注意事项:

1. 单位时间:0.625ms。

2. 取值范围:最大为 10000ms,最小不低于 20ms。

3. 返回值为十六进制格式,需要转换为十进制后乘以0.625ms得到实际时间。

语法规则:

命令类型 语法 返回
执行命令 AT+GETADVINTERV AT:<interval>(\r\n)
执行命令(简略版) AT+GAI AT:<interval>(\r\n)

参数定义:

参数 定义 取值 对取值的说明
<interval> 广播间隔 十六进制字符串 格式:"0x" + 十六进制数据
单位时间:0.625ms
范围:0x0020-0x3E80 (20ms-10000ms)

举例:

命令(→)/返回(←) 实例 解释和说明
AT+GETADVINTERV 获取广播间隔
AT:0x0030(\r\n) 获取成功
广播间隔:30ms(0x30 * 0.625ms)

6.4.8 设置广播间隔:AT+SETADVINTERV/AT+SAI

功能说明:

设置当前蓝牙模块的广播间隔设置。

注意事项:

1. 单位时间:0.625ms。

2. 取值范围:最大为 10000ms,最小不低于 20ms。

3. 数据必须以"0x"前缀的十六进制字符串格式输入。

4. 修改广播间隔后需执行AT+SAVE保存配置。

语法规则:

命令类型 语法 返回
设置命令 AT+SETADVINTERV=<interval> AT:OK(\r\n)
设置命令(简略版) AT+SAI=<interval> AT:OK(\r\n)

参数定义:

参数 定义 取值 对取值的说明
<interval> 广播间隔 十六进制字符串 格式:"0x" + 十六进制数据
单位时间:0.625ms
范围:0x0020-0x3E80 (20ms-10000ms)

举例:

命令(→)/返回(←) 实例 解释和说明
AT+SETADVINTERV=0x0050 设置广播间隔为50ms
50ms /0.625ms = 80,对应的十六进制为0x0050
AT:OK(\r\n) 设置成功
AT+SAVE 保存配置
AT:OK(\r\n) 保存成功

6.4.9 获取连接间隔:AT+GETCONINTERV/AT+GCI

功能说明:

获取当前蓝牙连接时主从设备之间的实际通信间隔。

注意事项:

1. 需要在蓝牙连接时调用,否则会报错。

2. 单位时间:1.25ms,返回值需乘以1.25ms得到实际时间间隔

3. 取值范围:最大为 2000ms,最小不低于 7.5ms

4. 返回值为十六进制格式,需要转换为十进制后乘以1.25ms得到实际时间。

语法规则:

命令类型 语法 返回
执行命令 AT+GETCONINTERV AT:<interval>(\r\n)
执行命令(简略版) AT+GCI AT:<interval>(\r\n)

参数定义:

参数 定义 取值 对取值的说明
<interval> 连接间隔 十六进制字符串 格式:"0x" + 4位十六进制数据
单位:1.25ms
范围:0x0006-0x0640 (7.5ms-2000ms)
示例:0x0018 = 30ms (0x18 × 1.25ms)

举例:

命令(→)/返回(←) 实例 解释和说明
AT+GETCONINTERV 获取连接间隔
AT:0x0018(\r\n) 获取成功
连接间隔:30ms(0x18 × 1.25ms)

6.4.10 设置连接间隔:AT+SETCONINTERV/AT+SCI

功能说明:

设置蓝牙连接时主从设备之间的通信间隔。

注意事项:

1. 需要在蓝牙连接时调用,否则会报错。

2. 单位时间:1.25ms。

3. 取值范围:最大为 2000ms,最小不低于 7.5ms。

4. 数据必须以"0x"前缀的十六进制字符串格式输入。

5. 修改广播间隔后需执行AT+SAVE保存配置。

语法规则:

命令类型 语法 返回
设置命令 AT+SETCONINTERV=<interval> AT:OK(\r\n)
设置命令(简略版) AT+SCI=<interval> AT:OK(\r\n)

参数定义:

参数 定义 取值 对取值的说明
<interval> 连接间隔 十六进制字符串 格式:"0x" + 4位十六进制数据
单位:1.25ms
范围:0x0006-0x0640 (7.5ms-2000ms)
示例:0x0018 = 30ms (0x18 × 1.25ms)

举例:

命令(→)/返回(←) 实例 解释和说明
AT+SETCONINTERV=0x0018 设置蓝牙连接间隔为30ms
AT:OK(\r\n) 设置成功
AT+SAVE 保存配置
AT:OK(\r\n) 保存成功

6.4.11 获取蓝牙连接时的MTU长度:AT+GETMTU/AT+GMT

功能说明:

获取当前蓝牙连接的 MTU(Maximum Transmission Unit,最大传输单元)长度。MTU 决定了单次蓝牙数据传输的最大字节数。

注意事项:

1. 必须在蓝牙已连接状态下使用,未连接时会返回错误。

2. 实际单包有效数据最大为 MTU-3字节(MTU 值减去 3 字节 ATT 头)。

3. MTU 范围:23~512字节。

4. 返回值为当前连接协商后的实际 MTU 大小。

语法规则:

命令类型 语法 返回
设置命令 AT+GETMTU AT:<len>(\r\n)
设置命令(简略版) AT+GMT AT:<len>(\r\n)

参数定义:

参数 定义 取值 对取值的说明
<len> MTU长度 整数 单位:字节
范围:23~512字节
默认值:23
实际有效数据:MTU-3字节

举例:

命令(→)/返回(←) 实例 解释和说明
AT+GETMTU 获取当前 MTU 长度
AT:23(\r\n) 返回 MTU 长度为 23 字节

6.4.12 设置蓝牙连接时的MTU长度:AT+SETMTU/AT+SMT

功能说明:

设置蓝牙连接的 MTU(Maximum Transmission Unit,最大传输单元)长度。MTU 决定了单次蓝牙数据传输的最大字节数。

注意事项:

1. 必须在蓝牙已连接状态下设置,未连接时会返回错误。

2. 实际有效数据长度为 MTU-3字节(MTU 值减去 3 字节 ATT 头)。

3. MTU 设置范围为 23~512 字节。

4. 实际 MTU 长度是主从设备协商的结果,可能与设置值不一致。因此在设置完 MTU 后需等待 3 个以上的连接时间,然后通过 AT+GETMTU 回读实际 MTU 值,以获得实际通讯的MTU。

5. 设置后需执行 AT+SAVE 保存配置。

语法规则:

命令类型 语法 返回
设置命令 AT+SETMTU=<len> AT:OK(\r\n)
设置命令(简略版) AT+SMT=<len> AT:OK(\r\n)

参数定义:

参数 定义 取值 对取值的说明
<len> MTU长度 整数 单位:字节
范围:23~512字节
默认值:23
建议值:根据实际数据传输需求设置

举例:

命令(→)/返回(←) 实例 解释和说明
AT+SETMTU=50 设置 MTU 长度为 50 字节
AT:OK(\r\n) 设置成功
AT+GETMTU 等待 3 个连接间隔后回读实际 MTU
AT:158(\r\n) 返回协商后的实际 MTU 长度
AT+SAVE 保存 MTU 配置
AT:OK(\r\n) 保存成功

6.5 功耗与控制指令

6.5.1 设置功耗模式:AT+SETLOWPOWER/AT+LP

功能说明:

设置功耗模式。

注意事项:

1. 模式介绍

1)AT+LP=0,代表恢复到常规模式0,蓝牙正常工作;

2)AT+LP=1,代表进入低功耗模式1,可被发现和连接,唤醒后,会在80ms后再次进入低功耗模式1。

3)AT+LP=3,代表进入低功耗模式3,可被发现和连接,唤醒后,自动退出低功耗模式3,进入常规模式0;。

2. 唤醒方式

串口RX引脚检测到低电平(保持一定时间)即可唤醒模块。实际操作中,通过串口向模块发送任意数据即可产生起始位低电平,从而触发唤醒。芯片唤醒时间约600μs。

注意:≤ 115200波特率,低电平持续时间≥1us;大于115200波特率,低电平持续时间≥60uS。唤醒成功率95%以上。

3. 唤醒后模块的行为

1)低功耗模式1:唤醒后会延时80ms再次进入休眠(休眠超时80ms),有串口数据时,休眠延时会清0,重新计算休眠延时。

举例说明:

(1)发任意唤醒数据,模块唤醒后会在80ms后重新进入低功耗模式1,如下图唤醒波形所示:

(2)发任意唤醒数据,然后延时20ms再发一次串口数据,收到串口数据后,休眠延时清0,重新计算休眠延时80ms。

所以理论会在20+80=100ms后,模块才会重新进入低功耗模式1,如下图唤醒波形所示:

(3)发任意唤醒数据,然后延时50ms再发一次串口数据,收到串口数据后,休眠延时清0,重新计算休眠延时80ms。

所以理论会在50+80=130ms后,模块才会重新进入低功耗模式1,如下图唤醒波形所示:

2)低功耗模式3:唤醒后立即恢复到常规模式0,并通过串口上报AT:WakeUP;

4. 唤醒后如何进行后续操作

1)低功耗模式1:发任意数据唤醒后,延时25-30ms发送回车换行加有效指令,回车换行用于与前面的错误数据(唤醒操作)分隔开,便于模组识别有效指令。

2)低功耗模式3:唤醒后等待AT:WakeUp上报后,即可发有效指令;

5. 其他注意事项

1)AT指令模式下,串口超时20ms,如果有回车、换行符(任意一个都可以),将立即处理;

注意:串口收到数据后,开始进行20ms的超时定时器,20ms后开始处理接收到的AT指令;如果20ms内收到回车、换行符(任意一个都可以),将立即停止20ms接收定时器,开始处理指令。

2)串口波特率高于115200,就基本不能通过串口数据来唤醒了,如果一定要用串口唤醒,需要发十六进制0x00,这样单字节低电平持续时间最长(大于115200波特率的唤醒,低电平时间要持续60uS以上);

注意:如果没有使用十六进制的0x00,由于没有足够的低电平持续时间,唤醒成功率很低;如果使用十六进制0x00,唤醒成功率可以达到95%以上。

3)如果是在低功耗模式1或3,芯片的 RX 引脚低电平触发唤醒后才能接收串口数据,所以有可能串口数据接收不完整,导致提示 AE:错误;

4)设置后需执行AT+SAVE保存配置,否则重启后恢复原模式。

语法规则:

命令类型 语法 返回
执行命令 AT+SETLOWPOWER=<mode> AT:OK(\r\n)
执行命令(简略版) AT+LP=<mode> AT:OK(\r\n)

参数定义:

参数 定义 取值 对取值的说明
<mode> 功耗模式 0,1,3 0: 常规模式
1: 低功耗模式1
3: 低功耗模式3

模式说明:

工作状态 功耗特性 蓝牙功能 唤醒后行为
常规模式 正常功耗 正常工作 -
低功耗模式1 较低功耗 可被发现和连接 80ms左右后会再次进入低功耗模式1
低功耗模式3 较低功耗 可被发现和连接 自动退出低功耗模式3,恢复为常规模式0

举例:

命令(→)/返回(←) 实例 解释和说明
AT+LP=1 进入低功耗模式1
AT:OK(\r\n)
wakeup\r\n 发唤醒数据"wakeup"唤醒
AT+GLP 25m后发有效指令
AT:LOWPOWER=1(\r\n) 返回AT+GLP的查询结果
wakeup\r\n 发唤醒数据"wakeup"唤醒
AT+LP=3 进入低功耗模式3
AT:OK(\r\n)
wakeup 发唤醒数据
AT:WakeUp(\r\n) 低功耗模式3,在发唤醒数据后,会立即唤醒,并上报AT:WakeUp
AT+GLP 此时已经处于常规模式0,可以发有效指令了
AT:LOWPOWER=0(\r\n) 低功耗模式3,再发唤醒数据后,会立即唤醒,并上报AT:WakeUp

6.5.2 获取功耗模式:AT+GETLOWPOWER/AT+GLP

功能说明:

获取功耗模式。

注意事项:

只有常规模式0和低功耗模式1会有返回值,低功耗模式3状态下,在发完此查询指令后,会立即唤醒并上报AT:WakeUp。

语法规则:

命令类型 语法 返回
执行命令 AT+GETLOWPOWER AT:LOWPOWER=<mode>(\r\n)
执行命令(简略版) AT+GLP AT:LOWPOWER=<mode>(\r\n)

参数定义:

参数 定义 取值 对取值的说明
<mode> 低功耗模式 0,1 0: 常规模式
1: 低功耗模式1

举例:

命令(→)/返回(←) 实例 解释和说明
AT+GETLOWPOWER
AT:LOWPOWER=0(\r\n)

6.5.3 获取发射功率等级:AT+GETTXPOWER/AT+GP

功能说明:

获取发射功率等级。

注意事项:

目前发射功率只有(0~15)共 16 个等级,最高等级 15 发射功率约 6dbm。

语法规则:

命令类型 语法 返回
执行命令 AT+GETTXPOWER AT:TxPower=<level>(\r\n)
执行命令(简略版) AT+GP AT:TxPower=<level>(\r\n)

参数定义:

参数 定义 取值 对取值的说明
<level> 发射功率等级 0~15 目前发射功率只有(0~15)共 16 个等级,最高等级 15 发射功率约 6dbm。

举例:

命令(→)/返回(←) 实例 解释和说明
AT+GETTXPOWER 获取发射功率
AT:TxPower=15(\r\n) 发射功率等级为15

6.5.4 设置发射功率等级:AT+SETTXPOWER/AT+TP

功能说明:

设置发射功率等级。

注意事项:

目前发射功率只有(0~15)共 16 个等级,最高等级 15 发射功率约 6dbm;更改发射功率后,会重启射频,因此处于连接状态时会断连。

语法规则:

命令类型 语法 返回
执行命令 AT+SETTXPOWER=<level> AT:OK(\r\n)
执行命令(简略版) AT+TP=<level> AT:OK(\r\n)

参数定义:

参数 定义 取值 对取值的说明
<level> 发射功率等级 0~15 目前发射功率只有(0~15)共 16 个等级,最高等级 15 发射功率约 6dbm。

举例:

命令(→)/返回(←) 实例 解释和说明
AT+SETTCPOWER=15 设置发射功率等级为15
AT:OK(\r\n) 设置成功

6.6 数据通信指令

6.6.1 向主机发送数据:AT+BLESEND/AT+BS

功能说明:

发送数据给主机。

注意事项:

  1. 必须在蓝牙已连接状态下使用,未连接时会返回AE错误。

  2. 实际测试AT指令发送数据单次最大 80字节(超过返回AE错误),透传模式下传输数据单次最大 MTU-3字节(MTU最大支持512字节)

  3. AT指令发送数据,建议每包不超过20字节;如需长数据发送,建议在透传模式下发送。

语法规则:

命令类型 语法 返回
执行命令 AT+BLESEND=<data> AT:OK(\r\n)
执行命令(简略版) AT+BS=<data> AT:OK(\r\n)

参数定义:

参数 定义 取值 对取值的说明
<data> 要发送的数据 字符串 最大长度受MTU和蓝牙协议限制,建议不超过20字节

举例:

命令(→)/返回(←) 实例 解释和说明
AT+BLESEND=123456 发送字符串”123456”给主机
AT:OK(\r\n) 发送成功

6.6.2 断开蓝牙连接:AT+DISCON/AT+DN

功能说明:

断开蓝牙连接。

注意事项:

连接状态可用,若在非连接状态发送该条指令,会上报AE错误。

语法规则:

命令类型 语法 返回
执行命令 AT+DISCON AT:OK(\r\n)
AT:DISCONNECT(\r\n)
执行命令(简略版) AT+DN AT:OK(\r\n)
AT:DISCONNECT(\r\n)

举例:

命令(→)/返回(←) 实例 解释和说明
AT+DISCON 断开蓝牙连接
AT:OK(\r\n)
AT:DISCONNECT(\r\n)
断开成功

6.6.3 获取连接状态:AT+STATUS/AT+SU

功能说明:

获取蓝牙连接状态。

注意事项:

语法规则:

命令类型 语法 返回
执行命令 AT+STATUS AT:<status>(\r\n)
执行命令(简略版) AT+SU AT:<status>(\r\n)

参数定义:

参数 定义 取值 对取值的说明
<status> 连接状态 CONNECTED
DISCONNECTED
CONNECTED: 已连接
DISCONNECTED: 未连接

举例:

命令(→)/返回(←) 实例 解释和说明
AT+STATUS 查询连接状态
AT:CONNECTED(\r\n) 返回状态:已连接

6.7 系统控制指令

6.7.1 设置看门狗配置:AT+WDCFG

功能说明:

配置看门狗功能参数,用于监控主控设备运行状态。当主控设备在指定时间内未喂狗时,蓝牙模块将通过SWITCH引脚复位主控。

注意事项:

设置后需执行AT+SAVE保存配置。

语法规则:

命令类型 语法 返回
执行命令 AT+WDCFG=<en>[,<timeout_s>,<action_lvl>,<pulse_width_ms>] AT:OK(\r\n)
查询命令 AT+WDCFG? AT:<en>,<timeout_s>,<action_lvl>,<pulse_width_ms>(\r\n)

参数定义:

参数 定义 取值 对取值的说明
<en> 看门狗使能 0,1 必选参数
0:关闭看门狗功能
1:开启看门狗功能
<timeout_s> 喂狗超时时长 整数 可选参数,默认值:60
单位:秒
范围:1-99999999秒
示例:45表示45秒超时
<action_lvl> 超时动作电平 0,1 可选参数,默认值:0
0:超时后拉低SWITCH
1:超时后拉高SWITCH
<pulse_width_ms> 复位脉冲宽度 整数 可选参数,默认值:100
单位:毫秒
范围:10-10000ms(10毫秒到10秒)

举例:

命令(→)/返回(←) 实例 解释和说明
AT+WDCFG=1,45,1,500 开启看门狗,45秒超时,超时后拉高SWITCH持续500ms
AT:OK(\r\n) 设置成功
AT+WDCFG=1,30,0,200 开启看门狗,30秒超时,超时后拉低SWITCH持续200ms
AT:OK(\r\n) 设置成功
AT+WDCFG? 查询当前配置
AT+WDCFG=1,30,0,200(\r\n) 返回查询结果
AT+WDCFG=0 关闭看门狗功能
AT:OK(\r\n) 保存成功
AT+SAVE 保存看门狗配置
AT:OK(\r\n) 保存成功

6.7.2 看门狗喂狗:AT+WDFED

功能说明:

主控设备通过发送此指令告知蓝牙模块运行正常,重置看门狗计时器。

注意事项:

1. 必须在看门狗功能开启状态下使用。

2. 喂狗间隔应小于设置的超时时长。

3. 建议在主控设备主循环中定期调用此指令。

4. 若超时未喂狗,模块将按配置通过SWITCH发送指定脉冲复位主控。

5. 要在AT指令模式下使用。

语法规则:

命令类型 语法 返回
执行命令 AT+WDFED AT:OK(\r\n)

举例:

命令(→)/返回(←) 实例 解释和说明
AT+WDFED 喂狗操作,重置看门狗计时器
AT:OK(\r\n) 喂狗成功

6.7.3 配置唤醒主控功能:AT+WAKEUP

功能说明:

配置蓝牙唤醒主控的低功耗功能。在主控进入低功耗模式时,蓝牙与手机保持连接。当蓝牙连接断开或收到数据时,需要唤醒主控(通过WAKEUP引脚)以恢复主控的处理数据功能。

注意事项:

1. 使用该功能前,请确保硬件连接正确,WAKEUP引脚可用于唤醒主控。

2. 蓝牙发送的第一条数据可能仅用于唤醒主控。

3. 设置后需执行AT+SAVE保存配置。

语法规则:

命令类型 语法 返回
执行命令 AT+WAKEUP=<source_mask>[,<polarity>,<pulse_width_ms>] AT:OK(\r\n)
查询命令 AT+WAKEUP? AT:<source_mask>,<polarity>,<pulse_width_ms>(\r\n)

参数定义:

参数 定义 取值 对取值的说明
<source_mask> 唤醒源配置 0,1,2,3 必选参数
0:禁用所有唤醒源
1:使能蓝牙连接断开作为唤醒源
2:使能蓝牙接收到数据作为唤醒源
3:同时使能蓝牙连接断开和蓝牙接收到数据作为唤醒源
<polarity> 唤醒电平 0,1 可选参数,默认值:0
0:当唤醒事件发生时,拉低 WAKEUP
1:当唤醒事件发生时,拉高 WAKEUP
注意:当 source_mask 为 0 时,此参数忽略
<pulse_width_ms> 复位脉冲宽度 整数 可选参数,默认值:100
单位:毫秒
范围:10-10000ms(10 毫秒到 10 秒)
注意:当 source_mask 为 0 时,此参数忽略

举例:

命令(→)/返回(←) 实例 解释和说明
AT+WAKEUP=1,1,100 启用蓝牙断链唤醒,设置WAKEUP为高电平,脉冲宽度100ms
AT:OK(\r\n) 设置成功
AT+WAKEUP=2,0,50 启用蓝牙收到数据唤醒,设置WAKEUP为低电平,脉冲宽度50ms
AT:OK(\r\n) 设置成功
AT+WAKEUP=3,1,200 同时启用蓝牙断链和数据接收唤醒,设置WAKEUP为高电平,脉冲宽度200ms
AT:OK(\r\n) 设置成功
AT+WAKEUP=0 禁用所有唤醒源
AT:OK(\r\n) 设置成功
AT+SAVE 保存配置
AT:OK(\r\n) 保存成功

6.8 错误代码说明

6.8.1 UE: 错误回复(透传模式)

说明: 透传模式下的错误回复,不是发送指令。

举例: 透传模式下发送 AT+VER

返回: UE:(1)

解释: 括号内的 1 为错误代码,具体错误信息请对照下表格

错误代码 错误标识 描述
1 ERR_NO_CONNECT 没有被主机连接
7 ERR_NOT_FOUND 没有找到对应指令
8 ERR_LENGTH 指令长度或数据长度错误
9 ERR_FORMAT 数据格式错误
10 ERR_PARAMETER 参数内容错误

6.8.2 AE: 错误回复(AT指令模式)

说明: AT 指令模式下的错误回复,不是发送指令

举例 :AT+VER1

返回: AE:(7)

解释: 与“UE:”回复类似

6.8.3 UT:有效回复(透传模式)

说明: 透传模式下的有效回复,不是发送指令

举例: 主机连接蓝牙设备提示

返回: UT:CONNECTED

解释:

6.8.4 AT:有效回复(AT指令模式)

说明: AT 指令模式下的有效回复,不是发送指令

举例: 主机断开蓝牙设备提示

返回: AT:DISCONNECT

解释:

7 开发板使用说明

7.1 Air5101S 开发板图片

引脚说明:

VBAT:电源输入引脚,连接外部电源(3.3V--5.5V)

SWITCH:当主控不按时喂Air5101时,拉高该信号,通过三极管反向后,拉低主控RESET复位

RST_OUT:与SWITCH通过三极管反向连接(连接主控RESET引脚,用于复位主控)

RESET:当主控发AT指令给Air5101得不到响应时,通过拉低此管脚可复位Air5101

RST_IN:与RESET经三极管反向连接(连接主控GPIO引脚,用于复位Air5101)

WAKEUP:当主控进入低功耗模式,Air5101与手机或其他蓝牙设备保持连接;当蓝牙连接断开或收到数据时,可通过此管脚唤醒主控以恢复主控的处理数据功能

RXD:与主控的TXD引脚连接

TXD:与主控的RXD引脚连接

7.2 硬件连接

Air5101S 开发板的 VBAT 供电范围:3.3V--5.5V

Air5101S开发板
串口线
VBAT
VCC
GND
GND
TXD
RXD
RXD
TXD

7.3 测试说明

1、Air5101S 开发板通过串口线连接到电脑 USB 口;

2、打开 PC 端的串口工具,选择对应的端口,配置波特率 9600;

3、上电后,Air5101S 默认是透传模式,可以发送 AT 指令 "AT+UA",切换到 AT 指令模式,看到有"AT:OK" 的返回信息,证明已成功进入 AT 指令模式,开发板工作正常。

4、接下来可以打开蓝牙调试助手,测试蓝牙的数据收发功能;

推荐使用 nrf connect 调试软件:

5、Air5101S 开发板默认蓝牙名称是 Air5101S,可在蓝牙调试软件搜索"Air5101S"关键字查找;

点击“Air5101S”设备进行连接,成功连接后,APP 会显示该设备提供的服务(Service)和特征值(Characteristic)。

6、AT 指令模式下的数据收发

(1)在手机 APP 上向 Air5101S 的特征值写入数据,数据将在串口工具中显示;

(2)在串口工具中发送的数据,需要由手机 APP 订阅对应的特征值通知或读取才能收到。

7、透传模式下的数据收发

首先需要通过 AT 指令 "AT+AU" 将开发板切换回透传模式。

在此模式下,手机 APP 与开发板蓝牙连接后,双方发送的数据将自动、无缝地通过串口与蓝牙进行双向传输,无需处理底层协议。手机发送的数据会直接从串口输出,从串口输入的数据会直接发送给手机。

7.4 LED灯演示

1、为方便测试 Air5101S 的低功耗,故 Air5101S 开发板上的 LED 灯默认是关闭的,需要做特定的操作才能打开 LED 灯。

2、将 Air5101S 开发板的 LED 脚和 WAKEUP 脚 用跳线帽短接起来:

3、当 LED 脚被拉高时,LED 灯就会亮,所以可以通过 AT 指令拉高 WAKEUP,从而拉高 LED 脚。

指令:AT+WAKEUP=1,0,10(注意此指令掉电不保存)

含义:启用蓝牙断连唤醒功能,当蓝牙断开后会拉低 WAKEUP 10ms,然后会继续保持高电平。

所以可以通过这条指令,让 WAKEUP 的电平 处于常高状态,从而起到拉高 LED 引脚,点亮 LED 灯的作用。

同理,也可以短接 LED 脚和 SWITCH,让 SWITCH 输出高电平来点亮 LED 灯。

7.5 看门狗介绍

精心设计的互为看门狗:

Air5101S守护主控:Air5101S 作为独立的硬件看门狗。当主控运行异常、未能在设定时间内“喂狗”时,Air5101S模组能通过 SWITCH 引脚自动输出指定电平,强制重启主控。

主控守护Air5101S:主控亦可作为Air5101S的看门狗,当Air5101S工作异常时,主控可拉低Air5101S的RESET脚,复位Air5101S。

上图分别加了个三极管反向,这样的好处是:

可以通过三极管基极的下拉电阻,保证电平的稳定性;

因为无论是Air5101还是主控(比如:Air780EXX),在开机初始化完成之前,SWITCH和主控的GPIO的电平可能不确定,所以需要通过三极管反向,确保SWITCH和主控的GPIO的电平稳定;

上面这个参考电路基本没有什么耗流:SWITCH和接主控的某个GPIO平时都是低电平,没有耗流,这是常态;只有需要重启的时候,这两个信号才会变成高,才会有耗流

重点注意:

按照上面的参考电路,需要让Air5101的SWITCH在平时为低,喂狗超时后拉高控制主控复位,所以需要这样设置指令:

AT+WDCFG=1,60,1,100

上面指令的意思是:开启看门狗,60秒超时,超时后拉高SWITCH持续100ms;

重点在第一个参数 “1” 和第三个参数 “1” :

第一个参数 “1” 表示开启看门狗功能;

第三个参数 “1” 表示超时后拉高 SWITCH 引脚,那么在平常正常工作时,SWITCH 引脚就会保持低电平。

7.6 唤醒主控功能演示

专为 4G+ 蓝牙 双模设备优化。在 4G 模组进入低功耗时,蓝牙可保持低功耗连接。一旦发生蓝牙连接断开或收到数据等关键事件,蓝牙模块能通过 WAKEUP 引脚立即唤醒 4G 模组,实现真正的按需工作。

Air5101 的 WAKEUP 可以连接到主控模组的 WAKEUP 管脚上,通过 WAKEUP 的电平变化来唤醒主控模组。

1、在演示唤醒功能前,先了解下基本的 AT 指令

配置唤醒主控功能指令:AT+WAKEUP

功能说明

配置蓝牙唤醒主控的低功耗功能。在主控进入低功耗模式时,蓝牙与手机保持连接。当蓝牙连接断开或收到数据时,需要唤醒主控(通过 WAKEUP 引脚)以恢复主控的处理数据功能。

语法规则:

命令类型 语法 返回
执行命令 AT+WAKEUP=<source_mask>[,<polarity>,<pulse_width_ms>] AT:OK
查询命令 AT+WAKEUP? AT:<source_mask>,<polarity>,<pulse_width_ms>

参数定义:

参数 定义 取值 对取值的说明
<source_mask> 唤醒源配置 0,1,2,3 必选参数
0:禁用所有唤醒源
1:使能蓝牙连接断开作为唤醒源
2:使能蓝牙接收到数据作为唤醒源
3:同时使能蓝牙连接断开和蓝牙接收到数据作为唤醒源
<polarity> 唤醒电平 0,1 可选参数,默认值:0
0:当唤醒事件发生时,拉低 WAKEUP
1:当唤醒事件发生时,拉高 WAKEUP
注意:当 source_mask 为 0 时,此参数忽略
<pulse_width_ms> 复位脉冲宽度 整数 可选参数,默认值:100
单位:毫秒
范围:10-10000ms(10 毫秒到 10 秒)
注意:当 source_mask 为 0 时,此参数忽略

2、演示蓝牙断连的唤醒功能

AT 指令:AT+WAKEUP=1,1,5000

含义:使能蓝牙连接断开作为唤醒源,当蓝牙断连后,拉高 WAKEUP 持续 5 秒

3、验证

有多种验证方式:

(1)LED 灯验证

通过跳线帽短接 WAKEUP 脚和 LED 脚,当蓝牙断连后,LED 灯会亮 5 秒。

(2)万用表或者示波器 测量 WAKEUP 的电平变化。