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}
为角色,${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¶
数据透传服务
- 服务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 |
执行命令 | 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 |