欢迎关注红旭无线官方微信公众号
BBS_Address
GitHub_Address

AT指令总集


一主多从蓝牙模组 AT 指令总集

本文系统介绍红旭无线一主多从的蓝牙模组 AT 指令,其中分蓝牙主机指令和蓝牙从机指令,主机和从机部分指令重复。蓝牙主机和从机的指令本文分开描述。

该 AT 命令透传固件有如下功能:

  1. BLE 串口透传,即 BLE 协议的数据转化为串口数据
  2. 在默认固件 1 对 50 多连的场景下,串口单次发包的最大有效载荷包限制为 120 字节;如果不需要 50 个多连并发,此限制可以根据具体的应用场景更改
  3. 设备硬件或者软件复位之后,会打印输出 Build Time:编译该固件的时间\r\n,如:

    Build Time:22:44:06-Apr 26 2023\r\n

下述的所有 AT 指令,如果对端设备成功接收到,那么均会响应相对应的命令;同时,所有的指令以字符串的形式发送,同时都要加上

\r\n

串口的配置信息如下:

  • 波特率:主机: 460800 更新成 2000000 (2M)波特率。从机:115200。

  • 校验位:None

  • 数据位:8

  • 停止位:1

  • 流控制:无

  • TX: 模块的 IO 9

  • RX: 模块的 IO 10

蓝牙主机支持的 AT 指令

AT

作用:

用于测试串口通讯是否正常


命令格式:

AT

返回的命令格式:

+OK

示例:

AT\r\n

+OK\r\n

AT+MAC

作用:

查询主从设备的 MAC 地址


命令格式:

AT+MAC=Parameter1

Parameter1 的含义如下所示:

  • ?:查询设备的 MAC 地址信息
  • 其他的值无效

返回的命令格式:

+MAC:Parameter1,Parameter2

Parameter1 的含义如下所示:

  • 6 字节的 MAC 址

Parameter2 的含义如下所示:

  • MAC 地址类型:
    • 0x00:公有地址
    • 0x01:随机地址

其他的返回值,参考错误码

示例:

AT+MAC=?\r\n

+MAC:0x123456789012,0x01\r\n

AT+RESET

作用:

主或从设备进行软复位


命令格式:

AT+RESET=Parameter1

Parameter1 的含义如下所示:

  • 1:软复位
  • 其他值无效

返回的命令格式:

Build Time:编译该固件的时间\r\n

其他的返回值,参考错误码

示例:

AT+RESET=1\r\n

Build Time:22:44:06-Apr 26 2023\r\n

AT+VERSION

作用:

查询当前固件的版本号


命令格式:

AT+VERSION=Parameter1

Parameter1 的含义如下所示:

  • ?:查询当前固件的版本号和其他相关信息
  • 其他值目前无效。

返回的命令格式:

+VERSION:Parameter1

Parameter1 的含义如下所示:

  • 返回的固件版本号
  • 其他的返回值,参考错误码

示例:

AT+VERSION=?\r\n

+VERSION:S_V0.0.1\r\n

AT+FAC

作用:
恢复出厂设置并复位,仅对 Master 有效!!!


命令格式:

AT+FAC=Parameter1

Parameter1 的含义如下所示:

  • 1:恢复出厂设置并复位
  • 其他值目前无效

返回的命令格式:

Build Time:固件编译时间

其他的返回值,参考错误码

示例:

AT+FAC=1\r\n

Build Time:22:44:06-Apr 26 2023\r\n

AT+START

作用:

开始搜索周围红旭的广播设备并创建连接,默认 120 秒后会关闭该功能 (该命令仅对 Master 有效!!!)

  • 如果遇到掉线,但还没有达到最大的连接个数,会继续扫描并尝试与红旭的广播设备建立连接;
  • 如果建立连接的个数已经达到上限了,则会自动停止扫描,再次发起该命令则会报错;

命令格式:

AT+START=Parameter1

Parameter1 的含义如下所示:

  • 1:搜索周围的红旭广播设备并与其建立连接
  • 0:停止搜索周边的广播设备
  • ?:查询当前的状态
  • 其他的值均无效

返回的命令格式:

+START:Parameter

Parameter 的含义如下所示:

  • 0x01:处于搜索状态
  • 0x00:处于停止状态 (默认的状态)
  • OK:命令成功执行
  • 其他的返回值,参考错误码

示例:

AT+START=1\r\n

+START:OK\r\n

AT+LIST

作用:

  • 主机,查询当前所绑定(配对)的所有的从机信息
  • 从机,查询当前所绑定(配对)的主机信息

命令格式:

AT+LIST=Parameter1

Parameter1 的含义如下所示:

  • ?:查询当前所绑定(配对)的主、从机信息
  • 其他值目前无效。

返回的命令格式:

+LIST:Parameter1,Parameter2,Parameter3,Parameter4

Parameter1 的含义如下所示:

  • 返回主、从机的索引值

Parameter2 的含义如下所示:

  • 返回主、从机的 MAC 地址,如果是主机,查到的结果是其绑定的从机的MAC地址。如果是从机,查到的是其绑定的主机的MAC地址。

Parameter3 的含义如下所示:

  • 返回当前的连接句柄值,如果出现 0x0000 值,说明对应的从机还在白名单,只不过是主机复位重启了

Parameter4 的含义如下所示:

  • 当前的设备是否在线
    • 1,在线
    • 0,离线

其他的返回值,参考错误码

示例:

AT+LIST=?\r\n

+LIST:0x00,0x565C3C39A0A0,0x0801,0x01\r\n

AT+TX

作用:

向指定的主或从设备透传数据


发送命令格式:

AT+TX=Parameter1,Parameter2,Parameter3

Parameter1 的含义如下:

  • 00~59: 表示主或从设备的索引值,可以通过下述的AT+LIST获取主或从设备的索引值

Parameter2 的含义如下:

  • 00:想要透传的是 16 进制数据类型
  • 01:想要透传的是字符串数据类型

Parameter3 的含义如下:

  • 想要透传的数据

返回的命令格式:

+TX:Parameter

Parameter 的含义如下所示:

  • 0x00:发送成功
  • 其他的返回值,参考错误码

接收命令格式:
如果收到对端设备发送的数据,那么则会以下述的方式携带数据:

+RX:Parameter1,Parameter2

Parameter1 的含义如下:

  • 接收到的数据长度,16 进制表示

Parameter2 的含义如下:

  • 携带的透传数据内容

示例:

发送方

AT+TX=01,00,1234567890\r\n

+TX:0x00\r\n

接收方

+RX:05,1234567890\r\n
其中,05表示接收的数据长度为 5 个字节

AT+WHITE_BLACK_LIST

作用:
查询黑或白名单列表中的内容 (该命令仅对 Master 有效!!!)


命令格式:

AT+WHITE_BLACK_LIST=Parameter1,Parameter2

Parameter1 的含义如下所示:

  • 0: 黑名单
  • 1: 白名单
  • 其他值目前无效。

Parameter2 的含义如下所示:

  • ?: 查询黑、白名单列表的内容
  • 其他值目前无效。

返回的命令格式:

+WHITE_BLACK_LIST:索引值,对应的 MAC 地址

其他的返回值,参考错误码

示例:

AT+WHITE_BLACK_LIST=0,?\r\n

+WHITE_BLACK_LIST:0x00,0x123456789012\r\n

AT+REMOVE

作用:
从黑或白名单列表中移除指定的设备 (该命令仅对 Master 有效!!!)

注意:

  • 如果是白名单列表中移除指定的设备,该命令断开对应的从机连接,并把对应的信息从白名单擦除,同时将该设备加入黑名单,整个过程不会很快(因为连接超时时间比较长);
  • 如果是黑名单列表中移除指定的设备,该命令把对应的从机信息从黑名单中擦除,并立即生效;

命令格式:

AT+REMOVE=Parameter1,Parameter2

Parameter1 的含义如下所示:

  • 00~49:分别对应的黑或白名单列表的索引值
  • 其他值目前无效

Parameter2 的含义如下所示:

  • 0: 黑名单
  • 1: 白名单
  • 其他值目前无效。

返回的命令格式:

+REMOVE:OK

其他的返回值,参考错误码

示例:

AT+REMOVE=00,1\r\n

+REMOVE:OK\r\n

AT+IO

作用:
配置模块的 IO0/1/2 的电平,默认均为高电平 (时间紧迫,目前该功能还未实现)


命令格式:

AT+IO=Parameter1,Parameter2

Parameter1 的含义如下所示:

  • 0/1/2:分别对应模块的 IO0/1/2
  • 其他值目前无效

Parameter2 的含义如下所示:

  • 0: 低电平
  • 1: 高电平
  • 其他值目前无效。

返回的命令格式:

+IO:OK

其他的返回值,参考错误码

示例:

AT+IO=00,00\r\n

+IO:OK\r\n

主从设备离线在线提醒指令

作用:
主、从机在连上或者断开连接时会有上线和离线的提醒,该指令是蓝牙模组主动向 MCU 发送的。且该指令会有几秒的延迟。尤其是离线通知。在从机离线后,可能需要几秒才能发出 +LEAVE 指令。


  • 上线,+ONLINE:对应设备的索引值,对应设备的 MAC 地址,连接句柄
  • 离线,+LEAVE:对应设备的索引值,对应设备的 MAC 地址,连接句柄

蓝牙从机支持的 AT 指令

AT

作用:

用于测试串口通讯是否正常


命令格式:

AT

返回的命令格式:

+OK

示例:

AT\r\n

+OK\r\n

AT+MAC

作用:

查询主从设备的 MAC 地址


命令格式:

AT+MAC=Parameter1

Parameter1 的含义如下所示:

  • ?:查询设备的 MAC 地址信息
  • 其他的值无效

返回的命令格式:

+MAC:Parameter1,Parameter2

Parameter1 的含义如下所示:

  • 6 字节的 MAC 址

Parameter2 的含义如下所示:

  • MAC 地址类型:
    • 0x00:公有地址
    • 0x01:随机地址

其他的返回值,参考错误码

示例:

AT+MAC=?\r\n

+MAC:0x123456789012,0x01\r\n

AT+RESET

作用:

主或从设备进行软复位


命令格式:

AT+RESET=Parameter1

Parameter1 的含义如下所示:

  • 1:软复位
  • 其他值无效

返回的命令格式:

Build Time:编译该固件的时间\r\n

其他的返回值,参考错误码

示例:

AT+RESET=1\r\n

Build Time:22:44:06-Apr 26 2023\r\n

AT+VERSION

作用:

查询当前固件的版本号


命令格式:

AT+VERSION=Parameter1

Parameter1 的含义如下所示:

  • ?:查询当前固件的版本号和其他相关信息
  • 其他值目前无效。

返回的命令格式:

+VERSION:Parameter1

Parameter1 的含义如下所示:

  • 返回的固件版本号
  • 其他的返回值,参考错误码

示例:

AT+VERSION=?\r\n

+VERSION:S_V0.0.1\r\n

AT+LIST

作用:

  • 主机,查询当前所绑定(配对)的从机信息
  • 从机,查询当前所绑定(配对)的主机信息

命令格式:

AT+LIST=Parameter1

Parameter1 的含义如下所示:

  • ?:查询当前所绑定的主、从机信息
  • 其他值目前无效。

返回的命令格式:

+LIST:Parameter1,Parameter2,Parameter3,Parameter4

Parameter1 的含义如下所示:

  • 返回主、从机的索引值

Parameter2 的含义如下所示:

  • 返回主、从机的 MAC 地址

Parameter3 的含义如下所示:

  • 返回当前的连接句柄值,如果出现 0x0000 值,说明对应的从机还在白名单,只不过是主机复位重启了

Parameter4 的含义如下所示:

  • 当前的设备是否在线
    • 1,在线
    • 0,离线

其他的返回值,参考错误码

示例:

AT+LIST=?\r\n

+LIST:0x00,0x565C3C39A0A0,0x0801,0x01\r\n

AT+TX

作用:

向指定的主或从设备透传数据


发送命令格式:

AT+TX=Parameter1,Parameter2,Parameter3

Parameter1 的含义如下:

  • 00~59: 表示主或从设备的索引值,可以通过下述的AT+LIST获取主或从设备的索引值

Parameter2 的含义如下:

  • 00:想要透传的是 16 进制数据类型
  • 01:想要透传的是字符串数据类型

Parameter3 的含义如下:

  • 想要透传的数据

返回的命令格式:

+TX:Parameter

Parameter 的含义如下所示:

  • 0x00:发送成功
  • 其他的返回值,参考错误码

接收命令格式:
如果收到对端设备发送的数据,那么则会以下述的方式携带数据:

+RX:Parameter1,Parameter2

Parameter1 的含义如下:

  • 接收到的数据长度,16 进制表示

Parameter2 的含义如下:

  • 携带的透传数据内容

示例:

发送方

AT+TX=01,00,1234567890\r\n

+TX:0x00\r\n

接收方

+RX:05,1234567890\r\n
其中,05表示接收的数据长度为 5 个字节

AT+DIRCON

作用:

用于开启或者解除或者查询定向连接功能,默认是不开启定向连接功能;(该命令仅对 Slave 有效!!!,目前该功能已关闭)

注意: 该命令不会立即生效,仅在下一次连接后生效;同时该命令仅在连接后调用方可有效,否则报错
解释: 所谓的定向连接,是该从机只能和特定的蓝牙主机连接,其他的蓝牙主机,无法连接该蓝牙从机。


命令格式:

AT+DIRCON=Parameter1

Parameter1 的含义如下所示:

  • ?:查询是否开启了定向连接功能
  • 0:解除定向连接功能
  • 1:开启定向连接功能
  • 其他的值无效

返回的命令格式:

+DIRCON:Parameter1

Parameter1 的含义如下所示:

  • OK:表示开启或者解除定向连接功能成功
  • 0x01:当前已开启定向连接功能
  • 0x00:当前已关闭定向连接功能
  • 其他的返回值,参考错误码

示例:

AT+DIRCON=1\r\n

+DIRCON:OK\r\n

AT+ERASE

作用:

擦除定向连接的相关信息,擦除成功后,定向连接的功能解除,此时可以让任何的主机与其建立连接 (该命令仅对 Slave 有效!!!,目前该功能已关闭)


命令格式:

AT+ERASE=Parameter1

Parameter1 的含义如下所示:

  • 1:表示要擦除定向连接的相关信息
  • 其他的值无效

返回的命令格式:

+ERASE:OK

其他的返回值,参考错误码


示例:

AT+ERASE=1\r\n

+ERASE:OK\r\n

主从设备离线在线提醒指令

作用:
主、从机在连上或者断开连接时会有上线和离线的提醒,该指令是蓝牙模组主动向 MCU 发送的。且该指令会有几秒的延迟。尤其是离线通知。在从机离线后,可能需要几秒才能发出 +LEAVE 指令。


  • 上线,+ONLINE:对应设备的索引值,对应设备的 MAC 地址,连接句柄
  • 离线,+LEAVE:对应设备的索引值,对应设备的 MAC 地址,连接句柄

操作演示

操作演示 见文档 蓝牙模组 HX-B1-M1 使用演示 文档

错误码(适用于主机和从机)

上述所有 AT 指令的错误值返回的格式如下:

+ERR:错误码

其中,各个错误码表达的含义如下所示:

  • 0xED:黑名单列表已满
  • 0xEE:黑或白名单的内容正在移除中
  • 0xEF:指定的设备不存在
  • 0xF0:指定的设备已在黑名单中
  • 0xF1:数据类型无效
  • 0xF2:黑或白名单的内容为空
  • 0xF3:黑或白名单的内容已经移除
  • 0xF4:定向连接已经除能
  • 0xF5:定向连接已经使能
  • 0xF6:当前的状态调用该命令无效
  • 0xF7:连接句柄无效
  • 0xF8:需要的发送据包长度超过固件支持的长度
  • 0xF9:无效的索引值
  • 0xFA:AT 命令中找不到等号
  • 0xFB:AT 命令列表不存在该 AT 命令
  • 0xFC:内存分配失败
  • 0xFD:传入的实参为空
  • 0xFE:该命令所携带的参数无效
  • 0xFF:该命令此时无效

名词和特殊符号解释

1:回车换行符

\r\n

上文中提及的\r\n 都是回车换行符,\r 对应的 HEX 的值是 0x0D,\n 对应的 HEX 的值是 0x0A。


红旭无线官2 2024年12月7日 16:16 451 0 条评论 收藏文档
表情图片预览
0 条评论
  • 最早
  • 最新
关闭评论
「此时无声胜有声」