跳转至

VG218T240N0S1串口操作说明

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

目录 [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}设置值范围:240048009600192003840057600、- 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}设置值范围:2005001000150020002500300040005000,单位:毫秒

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}设置值范围:HEXNFH最大长度58字符,STRNFS最大长度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}设置值范围:9640-4-8-12-16-20-40,单位:dbm

11、连接间隔


命令:AT+CIT

默认值

20

设置操作

命令:AT+CIT=${period}

读取操作

命令:AT+CIT?

返回值:+CIT:${period}

参数说明

${period}设置值范围:203050100200300400500100015002000,单位:毫秒

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