AT固件指令说明
| 文档版本 | 日期 | 作者 | 修改记录 |
|---|---|---|---|
| V1.0 | 2025.03.24 | ljp | 1. 初始版本 |
| V1.1 | 2025.08.26 | ljp | 1. AT 固件更新至 V003 |
简介¶
本文介绍如般微 PT3220 AT 固件 (PT3220_STD_BLEAT_N_V003.bin) 的 AT 指令集。
说明
PT3220_STD_BLEAT_N_V003 AT 固件目前仅支持 BLE 从机模式,暂不支持低功耗功能。- 固件烧录可参考 《开发环境搭建/编译烧录调试/烧录》 一节相关说明。
语法介绍¶
BLE AT 固件将所有指令分为以下三类:
- 执行指令,不其他带特殊字符,如
AT+RESET - 查询指令,以英文
?字符结尾,如AT+NAME? - 设置指令,以英文
=字符和用户配置参数结尾,如AT+NAME="PT3220"
此外,
- 所有指令区分大小写
- 所有指令以
CRLF 换行符结尾,即\r\n,本文所有示例均省略 - 所有非
AT开头和\r\n结尾的数据,将通过 BLE 透传(如果 BLE 已建立连接) - 指令处理成功后,回复
OK,如发生异常,将通过+ERROR:[errcode]返回错误码 - 使用示例中,
>>>表示从主机发送至PT3220的内容,<<<表示PT3220应答的内容
串口配置¶
| 串口设置 | 数值 | 备注 |
|---|---|---|
| 波特率 | 115200 | 默认波特率 |
| 数据位 | 8 | 暂不支持修改 |
| 停止位 | 1 | 暂不支持修改 |
| 校验位 | 无 | 暂不支持修改 |
| TX PIN | PA06 | AT 串口发送引脚 |
| RX PIN | PA07 | AT 串口接收引脚 |
指令集介绍¶
基础指令¶
AT¶
测试指令
语法规则
| 指令类型 | 语法 | 返回 |
|---|---|---|
| 执行指令 | AT | OK |
参数定义
| 参数 | 定义 | 取值 |
|---|---|---|
| - | - | - |
使用示例
AT+HELP¶
查询所有已支持 AT 指令
语法规则
| 指令类型 | 语法 | 返回 |
|---|---|---|
| 查询指令 | AT+HELP? | +HELP: (AT指令列表) OK |
参数定义
| 参数 | 定义 | 取值 |
|---|---|---|
| - | - | - |
使用示例
>>> AT+HELP?
<<< +HELP:
00: AT
01: AT+DEFAULT
02: AT+RESET
03: AT+HELP
04: AT+VER
05: AT+CFG
06: AT+BAUD
07: AT+MAC
08: AT+NAME
09: AT+ADVINTV
10: AT+ADVDATA
11: AT+UUIDS
12: AT+UUIDW
13: AT+UUIDN
OK
AT+VER¶
查询版本信息
语法规则
| 指令类型 | 语法 | 返回 |
|---|---|---|
| 查询指令 | AT+VER? | +VER:[version] OK |
参数定义
| 参数 | 定义 | 取值 |
|---|---|---|
| version | 软件版本号 | 字符串 |
使用示例
AT+CFG¶
查询当前系统所有配置项
语法规则
| 指令类型 | 语法 | 返回 |
|---|---|---|
| 查询指令 | AT+CFG? | +CFG: (系统配置) OK |
参数定义
| 参数 | 定义 | 取值 |
|---|---|---|
| - | - | - |
使用示例
>>> AT+CFG?
<<< +CFG:
VER = PT3220_STD_BLEAT_N_V002
BAUD = 115200
MAC = 72:62:77:33:08:55
NAME = bleAT
ADVINTV = 500 ms
ADVDATA = 0201060303F0FF03190000
UUIDS = FFF0
UUIDN = FFF1
UUIDW = FFF2
OK
系统指令¶
AT+DEFAULT¶
恢复出厂配置
语法规则
| 指令类型 | 语法 | 返回 |
|---|---|---|
| 执行指令 | AT+DEFAULT | OK |
参数定义
| 参数 | 定义 | 取值 |
|---|---|---|
| - | - | - |
使用示例
AT+RESET¶
重启固件,当配置更改后,需要重启系统使配置生效
语法规则
| 指令类型 | 语法 | 返回 |
|---|---|---|
| 执行指令 | AT+RESET | OK |
参数定义
| 参数 | 定义 | 取值 |
|---|---|---|
| - | - | - |
使用示例
AT+BAUD¶
读/写 串口波特率
语法规则
| 指令类型 | 语法 | 返回 |
|---|---|---|
| 设置指令 | AT+BAUD=[baud] | OK |
| 查询指令 | AT+BAUD? | +BAUD:[baud] |
参数定义
| 参数 | 定义 | 取值 |
|---|---|---|
| baud | 波特率 | 十进制,支持以下波特率: 9600 19200 38400 57600 115200(默认值) 230400 256000 460800 921600 |
使用示例
BLE 指令¶
AT+NAME¶
读/写 BLE 设备名称
语法规则
| 指令类型 | 语法 | 返回 |
|---|---|---|
| 设置指令 | AT+NAME=[name] | OK |
| 查询指令 | AT+NAME? | +NAME:[name] OK |
参数定义
| 参数 | 定义 | 取值 |
|---|---|---|
| name | 设备名称 | 字符串,最多不超过 20 个字符 |
使用示例
AT+MAC¶
读/写 BLE 设备 MAC 地址
语法规则
| 指令类型 | 语法 | 返回 |
|---|---|---|
| 设置指令 | AT+MAC=[mac] | OK |
| 查询指令 | AT+MAC? | +MAC:[mac] OK |
参数定义
| 参数 | 定义 | 取值 |
|---|---|---|
| mac | 设备 MAC 地址 | 十六进制MAC地址,包括 ":" 字符 |
使用示例:
# 设置设备 mac 地址
>>> AT+MAC=72:62:77:33:08:55
<<< OK
# 查询设备 mac 地址
>>> AT+MAC?
<<< +MAC=72:62:77:33:08:55
OK
AT+ADVINTV¶
读/写 BLE 广播间隔
语法规则
| 指令类型 | 语法 | 返回 |
|---|---|---|
| 设置指令 | AT+ADVINTV=[interval] | OK |
| 查询指令 | AT+ADVINTV? | +ADVINTV=[interval] OK |
参数定义
| 参数 | 定义 | 取值 |
|---|---|---|
| interval | 广播间隔 | 十进制 有效值范围:20~10000 单位:ms 默认值:20 |
使用示例
AT+ADVDATA¶
读/写 BLE 广播数据
语法规则
| 指令类型 | 语法 | 返回 |
|---|---|---|
| 设置指令 | AT+ADVDATA=[data] | OK |
| 查询指令 | AT+ADVDATA? | +ADVDATA:[data] |
参数定义
| 参数 | 定义 | 取值 |
|---|---|---|
| data | 广播数据 | 十六进制广播数据,所有数据将应用于广播数据中,请注意 ADV Structure最多不超过 31 个字节,62 个字符 |
使用示例
# 将广播数据设置为 0201060303F0FF03190000
>>> AT+ADVDATA=0201060303F0FF03190000
<<< OK
# 查询广播数据
>>> AT+ADVDATA?
<<< +ADVDATA:0201060303F0FF03190000
OK
AT+UUIDS¶
读/写 ATT 透传服务 16 位 UUID
语法规则
| 指令类型 | 语法 | 返回 |
|---|---|---|
| 设置指令 | AT+UUIDS=[uuid] | OK |
| 查询指令 | AT+UUIDS? | +UUIDS:[uuid] OK |
参数定义
| 参数 | 定义 | 取值 |
|---|---|---|
| uuid | service UUID | 十六进制,最多支持4个字符 默认值:FFE0 |
使用示例
# 设置 service UUID 为 FFE0
>>> AT+UUIDS=FFE0
<<< OK
# 查询 service UUID
>>> AT+UUIDS?
<<< +UUIDS:FFE0
OK
AT+UUIDW¶
读/写 ATT 写特征 16 位 UUID
语法规则
| 指令类型 | 语法 | 返回 |
|---|---|---|
| 设置指令 | AT+UUIDW=[uuid] | OK |
| 查询指令 | AT+UUIDW? | +UUIDW:[uuid] OK |
参数定义
| 参数 | 定义 | 取值 |
|---|---|---|
| uuid | write handle UUID | 十六进制,最多支持4个字符 默认值:FFE1 |
使用示例
AT+UUIDN¶
读/写 ATT 通知特征 16 位 UUID
语法规则
| 指令类型 | 语法 | 返回 |
|---|---|---|
| 设置指令 | AT+UUIDN=[uuid] | OK |
| 查询指令 | AT+UUIDN? | +UUIDN:[uuid] OK |
参数定义
| 参数 | 定义 | 取值 |
|---|---|---|
| uuid | notify handle UUID | 十六进制,最多支持4个字符 默认值:FFE2 |
使用示例
+BLESTA¶
BLE 连接状态上报
| 指令类型 | 语法 | 返回 |
|---|---|---|
| URC | - | +BLESTA:[connected] |
参数定义
| 参数 | 定义 | 取值 |
|---|---|---|
| connected | BLE 连接状态 | 0: BLE 未连接 1: BLE 已建立连接 |
使用示例
错误码定义¶
当发生错误时,BLE AT 固件将通过 +ERROR:[errcode] 指令返回错误码,具体错误码定义如下:
| 错误码 | 说明 |
|---|---|
| 1 | 无效指令 |
| 2 | 无效参数 |
典型使用示例¶
>>> AT
<<< OK
# 查询系统所有配置
>>> AT+CFG?
<<< OK
# 配置设备 mac 地址
>>> AT+MAC=72:62:77:33:08:55
<<< OK
# 配置设备名称
>>> AT+NAME=bleAT
<<< OK
# 配置广播数据
>>> AT+ADVDATA=0201060303F0FF03190000
<<< OK
# 配置 UUID
>>> AT+UUIDS=FE00
<<< OK
>>> AT+UUIDW=FE01
<<< OK
>>> AT+UUIDN=FE02
<<< OK
# 重启设备以应用配置修改
>>> AT+RESET
<<< OK