打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
低功耗蓝牙串口透传协议和AT指令说明
低功耗蓝牙模块的桥接模式是指,通过通用串口和用户MCU相连,建立用户MCU和移动设备之间的双向通讯。用户可以通过串口,使用指定的AT指令对串口波特率,BLE连接间隔进行重设置。针对不同的串口波特率以及BLE连接间隔,以及不同的发包间隔,模块将会有不同的数据吞吐能力。模块默认波特率115200bps。
模块串口接收数据传输到移动设备时,串口数据包无严格要求,当CTS置高则串口接收缓存已满,或者串口正在忙碌(理论空闲时最大一次可收4096字节,建议不要超过1024字节)。移动设备方发往模块的数据包,必须自行分包(每包 1 到248个字节之间)发送。模块收到无线包后,会依次转发到主机串口接收端。
设备MTU最大251字节,但协议需要使用3Bytes,用户实际使用payload为248Bytes。
Service UUID
6E400001B5A3F393E0A9E50E24DCCA9E
BLE数据接收UUID
特征值UUID
6E400002B5A3F393E0A9E50E24DCCA9E
可执行的操作
Write
说明
蓝牙输入转发到串口输出:APP通过BLE API接口向此通道写操作后,数据将会从串口TX输出。
BLE数据发送UUID
特征值UUID
6E400003B5A3F393E0A9E50E24DCCA9E
可执行的操作
Notify
说明
串口输入转发到蓝牙输出,从串口RX输入的数据将会在此通道产生通知发给移动设备。
AT指令操作UUID
特征值UUID
6E400004B5A3F393E0A9E50E24DCCA9E
可执行的操作
Write/Notify
说明
支持全部指令列表的指令,任何数据都会当做指令处理(不用+++进入指令模式),且用户可不用发送回车换行符进行操作,串口是必须要回车换行符作为指令结束。
主角色需要打开notify才能收到模块发送的数据。
AT指令
AT指令可细分为四种类型:
类型
指令格式
描述
测试指令
AT+[x]=?
该命令用于查询设置指令的参数以及取值范围
查询指令
AT+[x]?
该命令用于查询并返回参数的当前值
设置指令
AT+[x]=<...>
该命令用于设置用户自定义的参数值
执行指令
AT+[x]
该命令用于执行不可变参数的功能
注意:
1、指令既可以通过APP发送,也可以通过串口发送。
2、串口默认波特率为115200,8bit数据位,1位停止位,无校验。
3、不是每条指令都具备上述4种类型的命令。
4、AT命令必须大写,并且以回车换行符结尾(CRLF)。
5、AT命令查询中返回的 < > 表示可选填参数,[ ] 表示必填参数;若命令所有参数都是选填参数,则至少填一个参数,否则也是为指令错误。
例:AT+ADS=<0,1>,<0,1>,<10,10240>,可填写为AT+ADS=,,500。
6、选填参数命令为填写的参数位置必须保留,参考上一条举例。
7、任何指令中参数不能包含逗号,及空格、制表符等不可见字符。
AT命令表
指令
功能
备注
+++
进入AT命令模式
AT+NAME
查询/设置设备名称
重启后生效;掉电保存
AT+VERSION
查询设备固件版本
href="#_MAC地址" AT+MAC
查询/设置设备MAC地址
重启后生效;掉电保存
AT+ECHO
查询/设置串口是否回显
立即生效;掉电不保存
AT+STATUS
查询/设置是否显示设备状态
立即生效;掉电不保存
href="#_从角色广播参数" AT+ADS
查询/设置从广播参数
重启后生效;掉电保存
AT+CNT_INTERVAL
查询/设置设备连接间隔
下一次连接生效;掉电保存
AT+SERVICE
查询/设置BLE service相关参数
重启后生效:掉电保存
AT+DISCONNECT
断开已连接设备
立即生效
AT+AD_PACKET
查询/设置用户自定义广播内容
重启后生效;掉电保存
href="#_发射功率" AT+POWER
查询/设置设备功率
重启后生效;掉电保存
AT+SLEEP
查询/设置设备休眠
立即生效;掉电不保存
AT+UART
查询/设置串口波特率
重启后生效;掉电保存
AT+AUTH
查询/设置用户鉴权
重启后生效;掉电保存
href="#_设备重启" AT+RESTART
重启设备
立即生效
AT+RESET
设备参数恢复出厂设置并重启
立即生效
AT+EXIT
退出AT命令模式
立即生效
命令返回值
OK
指令操作成功
FAIL
指令操作失败
ERROR
指令操作错误
BUSY
指令操作忙,请等待上一条操作
Ø 进入AT指令模式
+++
功能
进入AT指令
示例
+++
返回值
OK
说明
需要退出AT指令模式才能切换进入到透传模式
Ø 退出AT指令模式
EXIT
功能
退出AT指令模式,切换进入到透传模式
示例
AT+EXIT
返回值
OK
Ø 设备名称
AT+NAME?
功能
查询设备名称
示例
AT+NAME?
返回值
AT+NAME=RF-CRAZY
OK
说明
指令正确返回设备名称
注意:该指令在用户自定义广播内容(AT+AD_PACKET=1)启用时,内容保存但不生效,即当再次启用非自定义广播格式时生效。
AT+NAME=
功能
设置设备名称
示例
AT+NAME=TEST-NAME
返回值
OK
说明
设置成功后新名称重启生效;最大支持16字节的名称字符,掉电保存
Ø MAC地址
AT+MAC?
功能
查询设备MAC地址
示例
AT+MAC?
返回值
AT+MAC=8A:E5:84:7A:E7:C9
OK
说明
返回的MAC地址为16进制字符
AT+MAC=
功能
设置设备MAC地址
示例
AT+MAC=F1:F2:F3:F4:F5:F6
返回值
OK
说明
设置成功后新的MAC地址在重启后生效;掉电保存
Ø 串口回显
AT+ECHO=?
功能
查询此命令参数范围
示例
AT+ECHO=?
返回值
AT+ECHO=[0,1]
OK
说明
0,关闭回显;1,打开回显。
AT+ECHO?
功能
查询串口回显状态
示例
AT+ECHO?
返回值
AT+ECHO=0
OK
说明
0,回显为关闭状态;1,回显为打开状态(默认状态关闭)。
AT+ECHO=
功能
设置串口回显状态
示例
AT+ECHO=1
返回值
OK
说明
0,关闭回显;1,打开回显。设定立即生效、掉电不保存。
Ø 显示设备状态
AT+STATUS=?
功能
查询此命令参数范围
示例
AT+STATUS=?
返回值
AT+STATUS=[0,1]
OK
说明
0,状态显示功能关闭
1,状态显示功能打开
(默认状态显示功能开启)
AT+STATUS?
功能
查询显示设备状态功能的当前状态
示例
AT+STATUS?
返回值
AT+STATUS=0
OK
AT+STATUS=
功能
设置设备状态显示功能
示例
AT+STATUS=0
返回值
OK
说明
关闭设备状态显示功能。设定立即生效、掉电不保存。
Ø 广播参数
AT+ADS=?
功能
查询此命令参数范围
示例
AT+ADS=?
返回值
AT+ADS=<0,1>,<0,1>,<20-10240>
OK
说明
参数1:设备广播状态设置(0,关;1,开,立即生效)
参数2:设备广播模式设置(0,不可连接广播;1,可连接广播,重启后生效)
参数3:设备广播间隔设置(单位毫秒,重启后生效)
AT+ADS?
功能
查询广播参数
示例
AT+ADS?
返回值
AT+ADS=1,1,200
OK
说明
参数1:广播状态中
参数2:可连接广播
参数3:广播间隔为200 ms
AT+ADS=
功能
设置广播参数
示例
AT+ADS=1,0,500
返回值
OK
说明
设置开启不可连接、间隔为500 ms的广播。重启后生效、掉电保存。
Ø 连接间隔
AT+CNT_INTERVAL=?
功能
查询此命令参数范围
示例
AT+CNT_INTERVAL=?
返回值
AT+CNT_INTERVAL=[8-4000],[8-4000]
OK
说明
连接间隔参数范围为8~4000毫秒(参数不支持浮点数据,设置8ms实际使用间隔为7.5ms),最大连接间隔必须大于等于最小连接间隔
AT+CNT_INTERVAL?
功能
查询设备当前连接间隔
示例
AT+CNT_INTERVAL?
返回值
AT+CNT_INTERVAL=20,50
OK
说明
设备当前连接间隔最小值20毫秒,最大值50毫秒
AT+CNT_INTERVAL=
功能
设置设备连接间隔
示例
AT+CNT_INTERVAL=20,50
返回值
OK
说明
设置设备当前连接间隔最小值20毫秒,最大值50毫秒。重启后生效、掉电保存。
连接间隔设置过后,只有在设备初始化时生效,相当于重启生效;手机App连接最小连接间隔20ms (苹果最小连接间隔30ms),模块连接可以达到20ms以下(最小8ms);
注意:模块和模块连接最大连接间隔和最小连接间隔可以设置为一样的值,传输效率会更好,但模块和APP连接时最小连接间隔和最大连接间隔最好设置一个范围区间(建议50毫秒的差值),这样模块和APP的兼容性更好。
Ø Service
AT+SERVICE=?
功能
查询此命令参数范围
示例
AT+SERVICE=?
返回值
AT+SERVICE=<0,1>,<0-FFFF>,<0-FFFF>,<0-FFFF>,<0-FFFF>,<0-FF...>
OK
说明
参数1:128bit UUID功能(0:16bit,1:128bit,重启设备生效)
参数2:设备service UUID(第3、4字节)
参数3:设备接收channel UUID(128bit模式的第3、4字节)
参数4:设备发送channel UUID(128bit模式的第3、4字节)
参数5:设备AT指令channel UUID(128bit模式的第3、4字节)
参数6:128bit基础UUID值,(基础UUID的第3、4字节替换为以上参数的UUID构成设备128bit的实际UUID)
注:0000xxxx-0000-1000-8000-00805F9B34FB的基础UUID是不可使用的。
AT+SERVICE?
功能
查询设备当前service配置参数
示例
AT+SERVICE?
返回值
AT+SERVICE=1,0001,0002,0003,0004,9ECADC240EE5A9E093F3A3B50000406E
OK
AT+SERVICE=
功能
设置设备service相关属性
示例
AT+SERVICE=0,FFF0,FFF1,FFF2,FFF3
返回值
OK
说明
设置设备为16bit UUID模式,UUID分别为:FFF0,FFF1,FFF2,FFF3。重启后生效、掉电保存。
Ø 断开连接
AT+DISCONNECT
功能
断开当前所有连接状态
示例
AT+DISCONNECT
返回值
OK
DISCONNECTED
说明
立即生效;掉电不保存
Ø 自定义广播内容
AT+AD_PACKET=?
功能
查询此命令参数范围
示例
AT+AD_PACKET=?
返回值
AT+AD_PACKET=<0,1>,<0-FF...>,<0-FF...>
OK
说明
查询beacon参数支持范围。
参数1:是否启用自定义广播内容;1:启用,0:不启用(重启生效)
参数2:完整的广播包数据内容(最大31字节)
参数3:完整的扫描响应数据包内容(最大31字节)
注意:参数2、3必须正确,详细格式请参考BLE广播数据格式说明。出厂固件默认自定义广播内容为空,若用户只开启自定义广播功能不设置广播内容,那么重启后广播内容自动填充为上一次成功广播的数据,当用户重新设置广播内容后重启设备会跟随新设定广播内容改变。
AT+AD_PACKET?
功能
查询自定义广播内容参数
示例
AT+AD_PACKET?
返回值
AT+AD_PACKET=1,0201041AFF590002150102030405060708090A0B0C
0D0E0F1001020304CE,080931323334353637
OK
AT+AD_PACKET=
功能
设置自定义广播内容参数
示例
AT+AD_PACKET=1,0201041AFF590002150102030405060708090A0B0C
0D0E0F1001020304CE,080931323334353637
返回值
OK
说明
参数1:启用用户自定义广播数据内容
参数2:广播包,beacon模式,并设置对应的beacon参数
参数3:扫描响应包,beacon名称“1234567”
重启后生效、掉电保存
Ø 发射功率
AT+POWER=?
功能
查询此命令参数范围
示例
AT+POWER=?
返回值
AT+POWER=[-30,-20,-15,-10,-5,0,3,5,7]
OK
说明
设备支持9档发射功率
AT+POWER?
功能
查询设备当前发射功率
示例
AT+POWER?
返回值
AT+POWER=0
OK
说明
设备当前发射功率为0 dBm
AT+POWER=
功能
设置设备发射功率
示例
AT+POWER=-10
返回值
OK
说明
设置设备发射功率为-10 dBm
重启后生效、掉电保存
Ø 休眠模式
AT+SLEEP=?
功能
查询此命令参数范围
示例
AT+SLEEP=?
返回值
AT+SLEEP=<0,1>,<0,1>,<0,1>
OK
说明
参数1:设备串口功能开关(0,关闭;1,开启)
参数2:设备BLE功能开关(0,关闭;1,开启)
参数3:设备串口唤醒功能开关(0,关闭;1,开启)
备注:参数2关闭BLE功能,若设备处于连接状态,则断开所有和该设备的连接,若设备处于广播状态,则关闭广播。
AT+SLEEP?
功能
查询设备当前休眠模式
示例
AT+SLEEP?
返回值
AT+SLEEP=1,1,1
OK
说明
参数1:设备串口功能开
参数2:设备BLE功能开
参数3:设备串口唤醒功能开,串口收到任意数据均会重新打开串口(建议唤醒数据最少30个字符,否则可能出现唤醒不成功的情况)并打印“WAKE UP”字符串。
AT+SLEEP=
功能
设置设备休眠模式
示例
AT+SLEEP=0,0,0
返回值
OK
说明
参数1:关闭串口功能(若设备处于AT指令状态,则自动退出AT指令模式)
参数2:关闭BLE功能(若设备处于连接状态则会立即断开当前连接)
参数3:关闭串口唤醒功能
设置立即生效、掉电不保存
Ø 串口波特率
AT+UART=?
功能
查询此命令参数范围
示例
AT+UART=?
返回值
AT+UART=[4800,9600,38400,57600,115200,230400,250000,460800]
OK
说明
设备支持8种串口波特率
AT+UART?
功能
查询当前串口波特率
示例
AT+UART?
返回值
AT+UART=115200
OK
说明
当前串口波特率为115200 bps
AT+UART=
功能
设置串口波特率
示例
AT+UART=9600
返回值
OK
说明
设置串口波特率为9600 bps,设备重启后生效,掉电保存
Ø 用户鉴权
AT+AUTH=?
功能
查询此命令参数范围
示例
AT+AUTH=?
返回值
AT+AUTH=<0,1>,<******>,<1-65535>
OK
说明
查询参数列表和取值范围
参数1:关闭/启用用户鉴权
参数2:密匙,最大16字节除',’,'?’,'”’,'=’任意可见字符
参数3:鉴权有效时间(秒)
备注:启用鉴权后重启生效,且有效时间内未收到主角色鉴权密匙从角色会自动断开连接。(数据传输特征值发送鉴权密匙)
AT+AUTH?
功能
查询用户鉴权功能当前状态
示例
AT+AUTH?
返回值
AT+AUTH=1,12GH**__)),15
OK
说明
参数1:1,用户鉴权功能已启用
参数2:密匙为12GH**__))
参数3:鉴权有效时间为15秒
AT+AUTH=
功能
设置用户鉴权功能
示例
AT+AUTH=1,12GH**__)),10
返回值
OK
说明
启用用户鉴权,设置密匙为“12GH**__))”,有效时间为10秒。
重启后生效、掉电保存。
Ø 设备重启
AT+RESTART
功能
设备重启
示例
AT+RESTART
返回值
OK
说明
设置成功后设备立即重启
Ø 恢复出厂设置
AT+RESET
功能
恢复设备出厂设置
示例
AT+RESET
返回值
OK
说明
设置成功后设备立即重启
Ø 固件版本查询
AT+VERSION
功能
查询设备固件版本
示例
AT+VERSION
返回值
AT+VERSION=v1.0.0,Aug 16 2020,16:19:46
OK
说明
获取设备固件版本信息及时间
4. 低功耗蓝牙模块硬件说明
低功耗蓝牙模块RC6621A是基于HS6621CM SoC设计开发的高性能、高灵敏、低功耗的蓝牙5.2(BLE)模块。它集成了一个嵌入式2.4GHz BLE收发器和PCB板载天线,并提供了一个完整的射频解决方案,无需额外的蓝牙射频设计,可以帮助用户缩短项目开发周期。低功耗蓝牙模块的应用目标是2.4GHz蓝牙低能耗系统、人机交互设备(键盘、鼠标和远程控制)、手机配件及玩具、运动和休闲设备等。低功耗蓝牙模块可工作在桥接模式(透明传输模式)。模块启动广播后,已打开特定 APP 的手机会对其进行扫描和对接,成功之后便可以通过 BLE 协议对其进行监控。用户 MCU可以通过模块的通用串口和移动设备进行双向通讯,用户也可以通过特定的串口 AT 指令,对某些通讯参数进行管理控制。用户数据的具体含义由上层应用程序自行定义。移动设备可以通过 APP 对模块进行写操作,写入的数据将通过串口发送给用户的 MCU。模块收到来自用户 MCU 串口的数据包后,将自动转发给移动设备。此模式下的开发,用户必须负责主MCU 的代码设计,以及智能移动设备端 APP 代码设计。
为了保证程序的稳定性,模块上电520ms之后才开始正常工作;透传大数据时建议在模块连接后5秒开始,建立连接需要等待确认MTU,连接间隔等操作,若此时进行高速透传极易出现丢包或设备卡死现象。
1、使用简单,无需任何蓝牙协议栈应用经验;
2、支持配置普通BLE模式、Beacon模式、Eddystone模式;
5、默认20 ms - 75ms连接间隔,连接快速,并且 Android 与 IOS 的兼容性好;
6、用户接口使用通用串口设计,全双工双向通讯,最低波特率支持4800 bps,最高支持460800bps;
7、支持AT指令软件复位模块;
8、获取MAC地址,支持 AT 指令修改 MAC 地址(要重新复位后生效);
9、支持AT指令调整蓝牙连接间隔,控制不同的转发速率(动态功耗调整);
10、支持AT指令调整发射功率、修改广播间隔、修改串口波特率、修改模块名,详情请查看AT指令表;
11、支持AT指令修改Service UUID;
12、可通过APP发送AT指令;
13、高速透传转发,25 KBytes/s稳定传输(建议不要传输不要占用串口波特率速率的一半时间开销;如115200bps,极限速率12.8KBytes/s,实际建议速率小于6.4KBytes/s;
14、极低工作功耗,低功耗蓝牙模块实测功耗如下:
事件
平均电流
测试条件/备注
模块睡眠功耗
4.50 μA
广播
103.85 μA
广播周期 200 ms
广播
45.94 μA
广播周期 500 ms
广播
26.59 μA
广播周期 1000 ms
广播
14.44 μA
广播周期 2000 ms
连接事件
206.84 μA
连接周期 50 ms
连接事件
112.25 μA
连接周期 100 ms
默认配置
1、设备名称:低功耗蓝牙模块。
2、串口波特率:115200(2线串口)。
3、广播间隔:200 ms。
4、连接间隔:20ms - 75ms。
5、UUID默认为128位。
6、广播为可连接模式。
7、设备为透传状态。
8、默认串口接收关闭(发送30字节及以上唤醒)。
设备状态
1、DEVICE START:设备启动。
2、CONNECTED:连接成功。
3、DISCONNECTED:断开连接。
4、BUSY...:设备繁忙,请等待设备处理完当前任务。
10、WAKE UP:串口唤醒。
11、DEVICE ERROR!:设备发生异常错误,设备会自动恢复出厂设置。
以上状态可通过AT指令开启或关闭显示,详情请查看<AT指令章节>。
5. 工作模式示意图
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
【蓝牙5.0模块】蓝牙包长可调 动态发射功率 高速连传
【MO73SF4 透传蓝牙模块Airoha 4.2 BLE 单芯片 AB1602】价格
干货 | BLE开发,你要知道这几件事
“物联网开发实战”学习笔记-(三)根据光线调节亮度
蓝牙BLE协议分析【附代码实例】
iOS蓝牙知识快速入门(详尽版)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服