AT指令集
- 更新日期:2025年5月20日
- 版本:1.0.0
固件更新说明¶
- V1.0.0,初版发布 - 2025年5月20日
目录 [TOC]
主动打印日志说明¶
+POWERON: 设备上电+CONNECT-${ROLE}-${INDEX}: 设备连接成功,主机连接从机成功或者从机连接主机成功,${ROLE}为角色,${INDEX}为连接设备索引
+CONNECT fail-${ROLE}-${INDEX}: 设备连接成功,主机连接从机成功或者从机连接主机成功${ROLE}为角色,${INDEX}为连接设备索引
+DISCONNECT-${ROLE}-${INDEX}: 设备断开连接,主机断开从机连接或者从机断开主机连接${ROLE}为角色,${INDEX}为连接设备索引
+MTU-${len}: 设备发送数据包最大长度,${len}为数据包长度,可根据该参数做透传数据分包处理+UUID NOTIFY OK: 主机模式订阅UUID通知成功+UUID WRITE OK: 主机模式获取write写句柄成功+WRITE OK: 主机向从机写数据成功或者从机向主机写数据成功
服务UUID¶
数据透传服务
16bit和128bit服务需要通过AT命令设置,默认为16bit服务
- 16bit服务UUID:
0xffe0 - 特征UUID:
0xffe1,属性:write、write no response -
特征UUID:
0xffe2,属性:notify -
128bit服务UUID:
0x6e400001-b5a3-f393-e0a9-e50e24dcca9e - 特征UUID:
0x6e400002-b5a3-f393-e0a9-e50e24dcca9e,属性:write、write no response - 特征UUID:
0x6e400003-b5a3-f393-e0a9-e50e24dcca9e,属性:notify
AT命令操作服务
- 服务UUID:
0xaa00 - 特征UUID:
0xaa01,属性:notify,接收AT命令操作 返回值 - 特征UUID:
0xaa02,属性:write,向模块发送AT命令,AT命令参考串口AT命令说明,区别是不需要加后缀\r\n\0
AT命令说明¶
AT命令操作上位机:链接
| 功能 | 命令格式 |
|---|---|
| AT测试 | AT |
| 执行命令 | AT+CMD |
| 设置命令 | AT+CMD=[params] |
| 读取命令 | AT+CMD? |
| 属性命令 | AT+CMD=? |
注意:
- AT命令区分大小写
- AT命令以回车换行符+空格(
\0)结束,即\r\n\0- AT命令 返回值以及主动打印日志都以回车换行符+空格(
\0)结束,即\r\n\0- 所有可设置的参数都可以掉电保存,不可频繁操作设置,操作设置之前可以先读取当前值,避免频繁操作
- 命令执行成功返回
+OK,失败返回+ERP- 主机APP下发数据包最大长度应根据MTU值做分包处理,有效数据包一般为
MTU-3字节- 如果主机模式绑定的从机MAC地址或主机模式绑定的从机广播名称不为空,重新上电或者主机扫描启动后,将自动启动主机扫描,扫描到对应的设备后将自动连接
硬件相关注意事项:
- 串口默认参数:波特率
115200,无校验,1位停止位
1、AT测试¶
命令:AT
执行操作
命令:AT
返回值:+OK
2、蓝牙角色¶
命令:AT+BTM
默认值
从机蓝牙模式
设置操作
命令:AT+BTM=${mode}
读取操作
命令:AT+BTM?
返回值:+BTM:${mode}
参数说明
${mode}设置值范围:
0,从机蓝牙模式1,SPP蓝牙模式2,主机蓝牙模式,只有型号为VG6328A-Plus支持该模式
3、BLE广播设备名称¶
命令:AT+NAM
默认值
VG7439-${MACADDR},${MACADDR}为MAC地址的后4字节的hex字符串,比如设备的mac地址为D0:00:0C:2E:88:5F则广播名称为VG7439-0C2E885F
设置操作
命令:AT+NAM=${name}
读取操作
命令:AT+NAM?
返回值:+NAM:${name}
参数说明
${name}设置值范围:最大长度16字符
4、BLE广播设备名称前缀¶
命令:AT+FNM
默认值
VG7439-,与${MACADDR}为MAC地址的后4字节的hex字符串拼接成完整的BLE广播设备名称,比如设备的mac地址为D0:00:0C:2E:88:5F则广播名称为VG7439-0C2E885F
设置操作
命令:AT+FNM=${name}
读取操作
命令:AT+FNM?
返回值:+FNM:${name}
参数说明
${name}设置值范围:最大长度8字符
5、SPP广播设备名称¶
命令:AT+BTNAM
默认值
BT7439-${MACADDR},${MACADDR}为MAC地址的后4字节的hex字符串,比如设备的SPP的mac地址为D0:00:0C:2E:88:5F则广播名称为BT7439-0C2E885F
设置操作
命令:AT+NAM=${name}
读取操作
命令:AT+NAM?
返回值:+NAM:${name}
参数说明
${name}设置值范围:最大长度16字符
6、SPP广播设备名称前缀¶
命令:AT+BTFNM
默认值
BT7439-,与${MACADDR}为MAC地址的后4字节的hex字符串拼接成完整的BLE广播设备名称,比如设备的mac地址为D0:00:0C:2E:88:5F则广播名称为BT7439-0C2E885F
设置操作
命令:AT+BTFNM=${name}
读取操作
命令:AT+BTFNM?
返回值:+BTFNM:${name}
参数说明
${name}设置值范围:最大长度8字符
7、串口波特率¶
命令:AT+BPS
默认值
- 串口波特率:
115200 - 校验位:
0,无校验 - 停止位:
1,1位停止位
设置操作
命令:AT+BPS=${baudrate},${parity},${stop_bits}
读取操作
命令:AT+BPS?
返回值:+BPS:${baudrate},${parity},${stop_bits}
参数说明
${baudrate}设置值范围:2400、4800、9600、19200、38400、57600、-115200${parity}设置值范围:固定不可设置${stop_bits}设置值范围:固定不可设置
8、BLE从机MAC地址¶
命令:AT+MAC
默认值
出厂自动生成
设置操作
命令:AT+MAC=${macAddr}
读取操作
命令:AT+MAC?
返回值:+MAC:${macAddr}
参数说明
${macAddr}设置值:固定长度12字符
000000000000,恢复默认MAC地址其他,固定地址
9、SPP从机MAC地址¶
命令:AT+BTMAC
默认值
出厂自动生成
读取操作
命令:AT+BTMAC?
返回值:+BTMAC:${macAddr}
参数说明
${macAddr}设置值:固定长度12字符
000000000000,恢复默认MAC地址其他,固定地址
10、BLE从机广播使能¶
命令:AT+ADE
默认值
从机模式下默认打开
读取操作
命令:AT+ADE?
返回值:+ADE:${enable}
参数说明
${enable}设置值:
0,关闭BLE从机广播1,打开BLE从机广播
11、SPP从机广播使能¶
命令:AT+SPP
默认值
SPP蓝牙模式下默认打开
读取操作
命令:AT+SPP?
返回值:+SPP:${enable}
参数说明
${enable}设置值:
0,关闭SPP从机广播1,打开SPP从机广播
12、固件版本¶
命令:AT+VER
默认值
当前版本
读取操作
命令:AT+VER?
返回值:+VER:${version}
参数说明
${version}设置值范围:比如V1.0.0
13、复位重启设备¶
命令:AT+RST
设置操作
命令:AT+RST=${status}
参数说明
${status}设置值范围:固定为1
14、广播周期¶
命令:AT+ADP
默认值
500
设置操作
命令:AT+ADP=${period}
读取操作
命令:AT+ADP?
返回值:+ADP:${period}
参数说明
${period}设置值范围:200、500、1000、1500、2000、2500、3000、4000、5000,单位:毫秒
15、广播自定义内容¶
命令:AT+ADD
默认值
无广播自定义内容
设置操作
命令:AT+ADD=${dataType}${advData}
读取操作
命令:AT+ADD?
返回值:+ADD:${dataType}${advData}
参数说明
${dataType}设置值范围:HEX,立即掉电保存,比如设置:AT+ADD=HEX0102,则广播自定数据为0x0102NFH,没有掉电保存,比如设置:AT+ADD=NFH0102,则广播自定数据为0x0102STR,立即掉电保存,比如设置:AT+ADD=STR0102,则广播自定数据为0x30313032NFS,没有掉电保存,比如设置:AT+ADD=NFS0102,则广播自定数据为0x30313032
${advData}设置值范围:HEX和NFH最大长度58字符,STR和NFS最大长度29字符
16、产品识别码¶
命令:AT+PID
默认值
0000
设置操作
命令:AT+PID=${identifyCode}
读取操作
命令:AT+PID?
返回值:+PID:${identifyCode}
参数说明
${identifyCode}设置值范围:hex字符串,比如设置AT+PID=1234,实际对应的产品识别码为0x1234
17、发射功率¶
命令:AT+TPL
默认值
0
设置操作
命令:AT+TPL=${power}
读取操作
命令:AT+TPL?
返回值:+TPL:${power}
参数说明
${power}设置值范围:-17、-14、-11、-9、-6、-4、0、1、3、5、8,单位:dbm
18、连接间隔¶
命令:AT+CIT
默认值
20
设置操作
命令:AT+CIT=${period}
读取操作
命令:AT+CIT?
返回值:+CIT:${period}
参数说明
${period}设置值范围:20、30、50、100、200、300、400、500、1000、1500、2000,单位:毫秒
19、主机扫描¶
命令:AT+SCN
默认值
2
设置操作
命令:AT+SCN=${status}
读取操作
命令:AT+SCN?
返回值:+SCN:${status}
参数说明
${status}设置值说明:
0,停止扫描1,不打印扫描结果,如果设置了目标设备名称或者目标设备MAC地址(目标设备MAC地址匹配优先),则扫描到目标设备后自动连接2,打印扫描结果,如果设置了目标设备名称或者目标设备MAC地址(目标设备MAC地址匹配优先),则扫描到目标设备后自动连接,扫描结果详见主机扫描结果
20、主机模式绑定的从机MAC地址¶
命令:AT+CNM
默认值
无
设置操作
命令:AT+CNM=${macAddr}
读取操作
命令:AT+CNM?
返回值:+CNM:${macAddr}
参数说明
${macAddr}设置值说明:
NULL,MAC地址匹配无效,设置操作有效 ,读取操作返回 为空(+CNM:)其他,固定长度12字符,hex字符串格式,设备名称匹配有效,在扫描过程中,如果扫描到该MAC地址的设备,则自动连接
21、主机模式绑定的从机广播名称¶
命令:AT+CNN
默认值
无
设置操作
命令:AT+CNN=${deviceName}
读取操作
命令:AT+CNN?
返回值:+CNN:${deviceName}
参数说明
${deviceName}设置值说明:
NULL,设备名称匹配无效,设置操作有效 ,读取操作返回 为空(+CNN:)其他,最大长度16字符,设备名称匹配有效,在扫描过程中,如果广播数据中包含该名称,则自动连接
22、服务UUID的长度¶
命令:AT+ULEN
默认值
无
设置操作
命令:AT+ULEN=${len}
读取操作
命令:AT+ULEN?
返回值:+ULEN:${len}
参数说明
${len}设置值说明:
16,串口透传使用16bit的UUID128,串口透传使用128bit的UUID
23、16bit透传功能服务UUID¶
BLE主从机模式下有效
命令:AT+UUID
默认值
- write写操作服务UUID:
FFE0 - write写操作特征UUID:
FFE1 - notify通知服务UUID:
FFE0 - notify通知特征UUID:
FFE2 - write写操作模式:
0000
设置操作
命令:AT+UUID=${writeServerUuid},${writeCharactUuid},${notifyServerUuid},${notifyCharactUuid},${writeMode}
读取操作
命令:AT+UUID?
返回值:+UUID:${writeServerUuid},${writeCharactUuid},${notifyServerUuid},${notifyCharactUuid},${writeMode}
参数说明
${writeServerUuid}设置值说明:write写操作服务UUID,hex字符串格式,比如1234${writeCharactUuid}设置值说明:write写操作特征UUID,hex字符串格式,比如5678${notifyServerUuid}设置值说明:notify通知服务UUID,hex字符串格式,比如9ABC${notifyCharactUuid}设置值说明:notify通知特征UUID,hex字符串格式,比如DEF0${writeMode}设置值说明:write写操作模式0,写数据无需确认
24、128bit透传功能服务UUID¶
BLE主从机模式下有效
命令:AT+UUIDX
默认值
- write写操作服务UUID:
6E400001B5A3F393E0A9E50E24DCCA9E - write写操作特征UUID:
6E400002B5A3F393E0A9E50E24DCCA9E - notify通知服务UUID:
6E400001B5A3F393E0A9E50E24DCCA9E - notify通知特征UUID:
6E400003B5A3F393E0A9E50E24DCCA9E - write写操作模式:
0000
设置操作
命令:AT+UUIDX=${writeServerUuid},${writeCharactUuid},${notifyServerUuid},${notifyCharactUuid},${writeMode}
读取操作
命令:AT+UUIDX?
返回值:+UUIDX:${writeServerUuid},${writeCharactUuid},${notifyServerUuid},${notifyCharactUuid},${writeMode}
参数说明
${writeServerUuid}设置值说明:write写操作服务UUID,hex字符串格式${writeCharactUuid}设置值说明:write写操作特征UUID,hex字符串格式${notifyServerUuid}设置值说明:notify通知服务UUID,hex字符串格式${notifyCharactUuid}设置值说明:notify通知特征UUID,hex字符串格式${writeMode}设置值说明:write写操作模式0,写数据无需确认
25、低功耗控制¶
命令:AT+LPM
默认值
1
设置操作
命令:AT+LPM=${mode}
读取操作
命令:AT+LPM?
返回值:+LPM:${mode}
参数说明
${mode}设置值说明:
0,深度休眠,蓝牙和串口都不工作1,低功耗模式,进入低功耗模式,此时串口无法接收,但是如果收到蓝牙的数据,串口可以正常打印,蓝牙可以正常接收
26、主机扫描打印过滤广播名称¶
命令:AT+FTN
默认值
0
设置操作
命令:AT+FTN=${deviceName}
读取操作
命令:AT+FTN?
返回值:+FTN:${deviceName}
参数说明
${deviceName}设置值说明:
NULL,设备名称匹配无效,设置操作有效 ,读取操作返回 为空(+FTN:)其他,最大长度16字符,设备名称匹配有效,在扫描过程中,如果广播数据中包含该名称才会打印
27、主机扫描打印过滤MAC地址¶
命令:AT+FTM
默认值
0
设置操作
命令:AT+FTM=${macAddr}
读取操作
命令:AT+FTM?
返回值:+FTM:${macAddr}
参数说明
${macAddr}设置值说明:
NULL,MAC地址匹配无效,设置操作有效 ,读取操作返回 为空(+CNM:)其他,固定长度12字符,hex字符串格式,设备名称匹配有效,在扫描过程中,如果扫描到该MAC地址的设备才会打印
28、断开从机连接¶
命令:AT+TCP
默认值
0
设置操作
命令:AT+TCP=${index}
参数说明
${index}设置值说明:
- 序号,默认
0
29、断开主机连接¶
命令:AT+TCC
默认值
0
设置操作
命令:AT+TCC=${index}
参数说明
${index}设置值说明:
- 序号,默认
0
30、最大数据包长MTU¶
实际最大数据包长长度以从机的为准,实际长度比改设置值小3个字节,主从机连接成功后会打印+MTU-S-244(从机端)或者+MTU-M-244(主机端),其中244为蓝牙传输一次最大数据包长长度。
命令:AT+MTU
读取操作
命令:AT+MTU?
返回值:+MTU:${len}
参数说明
${len}值说明:
- 最大为509
31、主机扫描结果¶
打印数据格式如下:
+SCN:${macAddr},${rssi},${advDataHex}
打印日志示例:
+SCN:78A5410508D6,-110,1EFF060001092002CAD2CD58C1CFE855B911F64BE8B70840D9A96B1D567140
${advDataHex}格式说明:
| 长度 | 类型 | 值 |
|---|---|---|
| Length (1 byte) | AD Type (1 byte) | AD Data (0-31 bytes) |
类型说明:
| 数据类型 (Type) | 值 (Value) | 描述 (Description) |
|---|---|---|
| Flags | 0x01 | 指示设备的功能,例如通用发现模式或 BR/EDR 支持情况。 |
| Incomplete List of 16-bit Service Class UUIDs | 0x02 | 未完整列出的 16 位服务类 UUID。 |
| Complete List of 16-bit Service Class UUIDs | 0x03 | 完整列出的 16 位服务类 UUID。 |
| Incomplete List of 32-bit Service Class UUIDs | 0x04 | 未完整列出的 32 位服务类 UUID。 |
| Complete List of 32-bit Service Class UUIDs | 0x05 | 完整列出的 32 位服务类 UUID。 |
| Incomplete List of 128-bit Service Class UUIDs | 0x06 | 未完整列出的 128 位服务类 UUID。 |
| Complete List of 128-bit Service Class UUIDs | 0x07 | 完整列出的 128 位服务类 UUID。 |
| Shortened Local Name | 0x08 | 缩短的本地设备名称。 |
| Complete Local Name | 0x09 | 完整的本地设备名称。 |
| Tx Power Level | 0x0A | 发射功率级别。 |
| Class of Device | 0x0D | 设备类别。 |
| Simple Pairing Hash C-192 | 0x0E | 简单配对的 Hash C-192。 |
| Simple Pairing Randomizer R-192 | 0x0F | 简单配对的随机数 R-192。 |
| Device ID | 0x10 | 设备 ID。 |
| Security Manager Out of Band (OOB) Flags | 0x11 | 安全管理器 OOB 标志。 |
| Slave Connection Interval Range | 0x12 | 从设备连接间隔范围。 |
| Service Solicitation: 16-bit UUIDs | 0x14 | 服务请求: 16 位 UUID。 |
| Service Solicitation: 32-bit UUIDs | 0x1F | 服务请求: 32 位 UUID。 |
| Service Solicitation: 128-bit UUIDs | 0x15 | 服务请求: 128 位 UUID。 |
| Service Data: 16-bit UUID | 0x16 | 服务数据: 16 位 UUID。 |
| Service Data: 32-bit UUID | 0x20 | 服务数据: 32 位 UUID。 |
| Service Data: 128-bit UUID | 0x21 | 服务数据: 128 位 UUID。 |
| Public Target Address | 0x17 | 公共目标地址。 |
| Random Target Address | 0x18 | 随机目标地址。 |
| Appearance | 0x19 | 外观。 |
| Advertising Interval | 0x1A | 广播间隔。 |
| LE Bluetooth Device Address | 0x1B | 低功耗蓝牙设备地址。 |
| LE Role | 0x1C | 低功耗角色。 |
| Simple Pairing Hash C-256 | 0x1D | 简单配对的 Hash C-256。 |
| Simple Pairing Randomizer R-256 | 0x1E | 简单配对的随机数 R-256。 |
| URI | 0x24 | 统一资源标识符(URI)。 |
| Indoor Positioning | 0x25 | 室内定位。 |
| Transport Discovery Data | 0x26 | 传输发现数据。 |
| LE Supported Features | 0x27 | 低功耗支持的功能。 |
| Channel Map Update Indication | 0x28 |