BLE5101是一款基于蓝牙协议5.1版本的蓝牙转串口收发模块,工作频段为2.4GHz。具有体积小、功耗低、主从共存等特点。
这里将展示如何使用蓝牙模块BLE5101,方便用户迅速上手使用。
使用工具:串口调试助手SSCOM、安卓APP nRF Connect、手机版本Android 10(串口参数: 115200、8、N、1)
1、确认蓝牙模块是否处于配置模式
我司出厂的BLE5101模块上电时默认会进入配置模式,以方便用户进行参数设置。配置模式下蓝牙模块不会自动运行蓝牙功能,处于idle状态。
发送AT测试指令“AT\r\n”(其中,\r\n是回车换行符,即0x0d 0x0a)确认模块是否进入配置模式:
如果串口没有任何回复,则模块没有进入配置模式。发送一包字符串“+++\r\n”或者拉低SET脚(PIN 6)使其进入配置模式。进入配置模式时模块的串口会回复信息“[ENTER AT MODE]”:
2、 关闭上电自动进入配置模式的功能
发送AT指令“AT+ENATMODE=0\r\n”,模块返回“OK”则设置成功。蓝牙模块将在下次启动时应用这个参数。
3、修改蓝牙模块的MAC地址
我司出厂的BLE5101蓝牙模块,MAC地址都是同一个值,两个相同MAC地址的BLE5101模块之间是无法建立蓝牙连接的,所以需要修改其中一个模块的MAC地址。
例如,将模块的MAC地址设置为11:22:33:44:55:66,发送AT指令“AT+MAC=112233445566\r\n”:
模块返回“OK”则设置成功。
4、开启蓝牙模块的主从功能
发送AT指令“AT+CONS?\r\n”查询蓝牙模块主从功能是否已经开启:
模块返回“+CONS=a,b”。其中,当a=0时,模块将禁用从机功能,模块无法开启蓝牙广播,并拒绝任何来自蓝牙主机的连接请求;当b=0时,模块将禁用主机功能,模块无法开启蓝牙扫描。BLE5101模块支持主从共存,因此可以将a与b同时置1,将主机功能与从机功能同时开启。
发送AT指令“AT+CONS=1,1\r\n”, 模块返回“OK”则设置成功。模块将在下次启动时应用这个参数。
5、重新启动蓝牙模块
发送指令“AT+RESET\r\n”或者重新上电模块以重新启动。如果SET引脚被拉低了,需要将SET引脚恢复为高电平,否则模块重新启动仍然会进入配置模式。
蓝牙模块将一直应用上面的设置参数,上电后将自动开启蓝牙扫描与蓝牙广播。打开nRF Connect,开启扫描,手机将能接收到来自BLE5101的广播包,用户可以点击CONNECT建立蓝牙连接;如果有两个BLE5101模块应用了这些设置,那么它们上电后将自动建立蓝牙连接。
6、BLE5101互相建立蓝牙连接并收发数据
如果有两个BLE5101蓝牙模块应用了1-5点设置,那么它们将自动建立蓝牙连接。模块作为主机连接成功后,串口将打印信息:
“[SLAVE CONNECTED]”,并显示从机的MAC地址;反之,则打印信息:“[MASTER CONNECTED]”,并显示主机的MAC地址。
注:由于两个BLE5101模块的蓝牙广播与蓝牙扫描一起开启,实际连接时无法保证一方固定为主机或者从机。如果需要一方固定为主机/从机,进入配置模式后发送AT+CONS指令将相应功能置0即可。
BLE5101作为主机连接时,由于BLE协议流程,需要发现从机的GATT Service与GATT Characteristic,这个过程大约需要1-2s,之后自动向BLE5101从机发送Notification Enable请求,便可以开始透明传输数据。BLE5101支持最大MTU为250,即单包可发送最多250 - 3 = 247个字节的数据。
7、手机与BLE5101建立蓝牙连接并收发数据
通过1-5点让手机与BLE5101建立蓝牙连接后,按照图示即可开始收发数据:
服务UUID (Service UUID) | FFF0 | ||
特征值 (Characteristic UUID) | UUID | 属性 | 说明 |
FFF1 | Read/Notify | 从机发送,主机接收数据通道 | |
FFF2 | Write/Write no response | 主机发送,从机接收数据通道 |
- BLE5101默认用于收发数据的Primary Service UUID为0xFFF0。点击可查看该Primary Service包含的Characteristic。
- BLE5101作为从机时,默认通过具有Notify属性的Characteristic向主机发送Notification通知。点击箭头所示可向BLE5101发送Notification Enable请求,以自动接收BLE5101发送的数据。
- 点击箭头所示可向BLE5101发送数据,BLE5101收到数据后会通过串口打印出来。