VG218T240N0S1串口操作说明
- 更新日期:2025年5月20日
- 版本:1.0.0
固件更新说明¶
- V1.0.0,初版发布 - 2025年1月13日
- V1.1.1 - 2025年5月8日- 1、增加AT命令主机扫描参数-AT+SCP
- 2、增加AT命令蓝牙连接-AT+DCM
- 3、增加AT命令断开从机连接-AT+TCP
- 4、增加AT命令断开主机连接-AT+TCC
- 5、增加AT命令扫描打印过滤广播名称-AT+FTN
- 6、增加AT命令扫描打印过滤MAC地址-AT+FTM
- 7、增加AT命令低功耗控制-AT+LPM
- 8、增加AT命令最大数据包长MTU-AT+MTU
 
- 1、增加AT命令
目录 [TOC]
主动打印日志说明¶
- +POWERON: 设备上电
- +CONNECT-${ROLE}-${INDEX}: 设备连接成功,主机连接从机成功或者从机连接主机成功,- ${ROLE}为角色,- M表示主机模式下打印,- S表示从机模式下打印
- ${INDEX}为连接设备索引
 
- +CONNECT FAIL-${ROLE}-${INDEX}: 设备连接失败,主机连接从机成功或者从机连接主机失败- ${ROLE}为角色,- M表示主机模式下打印,- S表示从机模式下打印
- ${INDEX}为连接设备索引
 
- +DISCONNECT-${ROLE}-${INDEX}: 设备断开连接,主机断开从机连接或者从机断开主机连接- ${ROLE}为角色,- M表示主机模式下打印,- S表示从机模式下打印
- ${INDEX}为连接设备索引
 
- +MTU-${len}: 设备发送数据包最大长度,- ${len}为数据包长度,可根据该参数做透传数据分包处理
- +UUID NOTIFY OK: 主机模式订阅UUID通知成功
- +UUID WRITE OK: 主机模式获取write写句柄成功
- +WRITE OK: 主机向从机写数据成功或者从机向主机写数据成功
服务UUID¶
数据透传服务
- 服务UUID:0xffe0
- 特征UUID:0xffe1,属性:write、write no response
- 特征UUID:0xffe2,属性:notify
AT命令操作服务
- 服务UUID:0xaa00
- 特征UUID:0xaa01,属性:notify,接收AT命令操作 返回值
- 特征UUID:0xaa02,属性:write,向模块发送AT命令,AT命令参考串口AT命令说明,区别是不需要加后缀\r\n\0
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- 串口最大数据包长度为1100字节,超过最大长度用户需要自行分包处理
- 主机APP下发数据包最大长度应根据MTU值做分包处理,有效数据包一般为
MTU-3字节- 如果主机模式绑定的从机MAC地址或主机模式绑定的从机广播名称不为空,重新上电或者主机扫描启动后,将自动启动主机扫描,扫描到对应的设备后将自动连接
硬件相关注意事项:
- 串口默认参数:波特率
115200,无校验,1位停止位
P06引脚为串口RX引脚,
P05引脚为串口TX引脚,
P02引脚为休眠控制脚,高电平或悬空休眠,串口不工作,低电平唤醒正常工作,内置上拉电阻
P03引脚为出厂化设置脚,低电平保持5秒以上及当由低变高后恢复出厂化设置,然后自动重启生效,内置上拉电阻
P17引脚为连接状态指示脚,主机连接从机成功或者从机被主机连接成功后,该引脚输出高电平,主机连接从机断开且从机被主机连接都断开后,该引脚会输出低电平,推挽输出
P24引脚为运行状态指示脚,工作状态下,该脚会以1Hz频率输出方波,推挽输出
1、AT测试¶
命令:AT
执行操作
命令:AT
返回值:+OK
2、广播设备名称¶
命令:AT+NAM
默认值
VG219-${MACADDR},${MACADDR}为MAC地址的后4字节的hex字符串,比如设备的mac地址为D0:00:0C:2E:88:5F则广播名称为VG219-0C2E885F
设置操作
命令:AT+NAM=${name}
读取操作
命令:AT+NAM?
返回值:+NAM:${name}
参数说明
${name}设置值范围:最大长度16字符
3、串口波特率¶
命令: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}设置值范围:- 0,无校验
- 1,奇校验
- 2,偶校验
- 3,MASK校验
- 4,SPACE校验
- 其他,无效
 
- 
${stop_bits}设置值范围:- 0,0.5位停止位
- 1,1位停止位
- 2,1.5位停止位
- 3,2位停止位
 
4、MAC地址¶
命令:AT+MAC
默认值
出厂自动生成
设置操作
命令:AT+MAC=${macAddr}
读取操作
命令:AT+MAC?
返回值:+MAC:${macAddr}
参数说明
${macAddr}设置值:固定长度12字符
- 000000000000,恢复默认MAC地址
- 其他,固定地址
5、固件版本¶
命令:AT+VER
默认值
当前版本
读取操作
命令:AT+VER?
返回值:+VER:${version}
参数说明
${version}设置值范围:比如V1.0.0
6、复位重启设备¶
命令:AT+RST
设置操作
命令:AT+RST=${status}
参数说明
${status}设置值范围:固定为1
7、广播周期¶
命令:AT+ADP
默认值
500
设置操作
命令:AT+ADP=${period}
读取操作
命令:AT+ADP?
返回值:+ADP:${period}
参数说明
${period}设置值范围:200、500、1000、1500、2000、2500、3000、4000、5000,单位:毫秒
8、广播自定义内容¶
命令:AT+ADD
默认值
无广播自定义内容
设置操作
命令:AT+ADD=${dataType}${advData}
读取操作
命令:AT+ADD?
返回值:+ADD:${dataType}${advData}
参数说明
- ${dataType}设置值范围:- HEX,立即掉电保存,比如设置:- AT+ADD=HEX0102,则广播自定数据为- 0x0102
- NFH,没有掉电保存,比如设置:- AT+ADD=NFH0102,则广播自定数据为- 0x0102
- STR,立即掉电保存,比如设置:- AT+ADD=STR0102,则广播自定数据为- 0x30313032
- NFS,没有掉电保存,比如设置:- AT+ADD=NFS0102,则广播自定数据为- 0x30313032
 
- ${advData}设置值范围:- HEX和- NFH最大长度58字符,- STR和- NFS最大长度29字符
9、产品识别码¶
命令:AT+PID
默认值
0000
设置操作
命令:AT+PID=${identifyCode}
读取操作
命令:AT+PID?
返回值:+PID:${identifyCode}
参数说明
${identifyCode}设置值范围:hex字符串,比如设置AT+PID=1234,实际对应的产品识别码为0x1234
10、发射功率¶
命令:AT+TPL
默认值
0
设置操作
命令:AT+TPL=${power}
读取操作
命令:AT+TPL?
返回值:+TPL:${power}
参数说明
${power}设置值范围:9、6、4、0、-4、-8、-12、-16、-20、-40,单位:dbm
11、连接间隔¶
命令:AT+CIT
默认值
20
设置操作
命令:AT+CIT=${period}
读取操作
命令:AT+CIT?
返回值:+CIT:${period}
参数说明
${period}设置值范围:20、30、50、100、200、300、400、500、1000、1500、2000,单位:毫秒
12、主机扫描¶
命令:AT+SCN
默认值
2
设置操作
命令:AT+SCN=${status}
读取操作
命令:AT+SCN?
返回值:+SCN:${status}
参数说明
${status}设置值说明:
- 0,停止扫描
- 1,不打印扫描结果,如果设置了目标设备名称或者目标设备MAC地址(目标设备MAC地址匹配优先),则扫描到目标设备后自动连接
- 2,打印扫描结果,如果设置了目标设备名称或者目标设备MAC地址(目标设备MAC地址匹配优先),则扫描到目标设备后自动连接,扫描结果详见主机扫描结果
13、主机模式绑定的从机MAC地址¶
命令:AT+CNM
默认值
无
设置操作
命令:AT+CNM=${macAddr}
读取操作
命令:AT+CNM?
返回值:+CNM:${macAddr}
参数说明
${macAddr}设置值说明:
- NULL,MAC地址匹配无效,设置操作有效 ,读取操作返回 为空(- +CNM:)
- 其他,固定长度12字符,hex字符串格式,设备名称匹配有效,在扫描过程中,如果扫描到该MAC地址的设备,则自动连接
14、主机模式绑定的从机广播名称¶
命令:AT+CNN
默认值
无
设置操作
命令:AT+CNN=${deviceName}
读取操作
命令:AT+CNN?
返回值:+CNN:${deviceName}
参数说明
${deviceName}设置值说明:
- NULL,设备名称匹配无效,设置操作有效 ,读取操作返回 为空(- +CNN:)
- 其他,最大长度16字符,设备名称匹配有效,在扫描过程中,如果广播数据中包含该名称,则自动连接
15、主机透传功能服务UUID¶
命令: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,写数据无需确认
- 1,写数据需确认,操作比较耗时
~~16、单载波~~¶
~~命令:AT+CW~~
~~设置操作~~
~~命令:AT+CW=${channel}~~
~~参数说明~~
~~${channel}设置值说明:~~
~~- >=2402,打开单载波,中心频点为${channel},发射功率为章节发射功率设置的值~~
~~- 其他,关闭单载波~~
17、数据透传通道¶
命令:AT+CCH
默认值
20
设置操作
命令:AT+CCH=${dataCh}
读取操作
命令:AT+CCH?
返回值:+CCH:${dataCh}
参数说明
${dataCh}设置值说明:
- 10,第一个字符为有效判断位,串口透传数据为主机透传到从机的数据通道
- 20,第一个字符为有效判断位,串口透传数据为从机透传到主机的数据通道
18、写数据反馈开关¶
命令:AT+WRR
默认值
0
设置操作
命令:AT+WRR=${status}
读取操作
命令:AT+WRR?
返回值:+WRR:${status}
参数说明
${status}设置值说明:
- 0,主机向从机write写数据完成后,不打印结果日志
- 1,主机向从机write写数据完成后,打印结果日志- 成功:+WRITE OK
- 失败:+WRITE ERP
 
- 成功:
19、低功耗控制¶
命令:AT+LPM
默认值
1
设置操作
命令:AT+LPM=${mode}
读取操作
命令:AT+LPM?
返回值:+LPM:${mode}
参数说明
${mode}设置值说明:
- 0,深度休眠,蓝牙和串口都不工作
- 1,低功耗模式,- P02引脚置高时,如果没有蓝牙广播或者主机没有扫描或者没有连接,则进入自动进入深度休眠模式,蓝牙和串口都不工作,- P02引脚置高之前保持蓝牙广播或者主机扫描状态或者处于连接状态,则进入低功耗模式,此时串口无法接收,但是如果收到蓝牙的数据,串口可以正常打印
20、主机扫描参数¶
命令:AT+SCP
默认值
0
设置操作
命令:AT+SCP=${interval},${window}
读取操作
命令:AT+SCP?
返回值:+SCP:${interval},${window}
参数说明
${interval}设置值说明:
- 扫描间隔时间,时间单位:毫秒
${window}设置值说明:
- 扫描窗口时间,时间单位:毫秒
21、主机扫描打印过滤广播名称¶
命令:AT+FTN
默认值
0
设置操作
命令:AT+FTN=${deviceName}
读取操作
命令:AT+FTN?
返回值:+FTN:${deviceName}
参数说明
${deviceName}设置值说明:
- NULL,设备名称匹配无效,设置操作有效 ,读取操作返回 为空(- +FTN:)
- 其他,最大长度16字符,设备名称匹配有效,在扫描过程中,如果广播数据中包含该名称才会打印
22、主机扫描打印过滤MAC地址¶
命令:AT+FTM
默认值
0
设置操作
命令:AT+FTM=${macAddr}
读取操作
命令:AT+FTM?
返回值:+FTM:${macAddr}
参数说明
${macAddr}设置值说明:
- NULL,MAC地址匹配无效,设置操作有效 ,读取操作返回 为空(- +CNM:)
- 其他,固定长度12字符,hex字符串格式,设备名称匹配有效,在扫描过程中,如果扫描到该MAC地址的设备才会打印
23、蓝牙连接¶
命令:AT+DCM
默认值
0
设置操作
命令:AT+DCM=${addr_type},${macAddr}
参数说明
${addr_type}设置值说明:
- 0,公共地址
- 1,私有地址
${macAddr}设置值说明:
- 固定长度12字符,hex字符串格式
24、断开从机连接¶
命令:AT+TCP
默认值
0
设置操作
命令:AT+TCP=${index}
参数说明
${index}设置值说明:
- 序号,默认0
25、断开主机连接¶
命令:AT+TCC
默认值
0
设置操作
命令:AT+TCC=${index}
参数说明
${index}设置值说明:
- 序号,默认0
26、最大数据包长MTU¶
实际最大数据包长长度以从机的为准,实际长度比改设置值小3个字节,主从机连接成功后会打印+MTU-S-244(从机端)或者+MTU-M-244(主机端),其中244为蓝牙传输一次最大数据包长长度。
命令:AT+MTU
默认值
247
设置操作
命令:AT+MTU=${length}
参数说明
${length}设置值说明:23~247
27、主机扫描结果¶
打印数据格式如下:
+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 |