蓝牙模组AT指令开发
1. 蓝牙模组介绍
本文使用的是正点原子的蓝牙4.2低功耗模块,无线工作频率2.4GHz,模块主从一体,支持主设备模式、从设备模式、广播者模式、观察者模式和iBeacon模式共五种工作模式。
- 主设备模式:可对周围的从设备进行搜索并连接
- 从设备模式:不能主动建立连接,只能被动等待别人连接自已
- 广播者模式:模块为非连接,能单向广播用户的数据,并能在低功耗下持续的广播
- 观察者模式:模块为非连接,能监控接收广播者模式的广播数据
- iBeacon模式:模块为非连接,使用广播技术向周围发送自已特有的ID
该蓝牙模组有6个引脚与外部电路连接,各引脚详细描叙如下表所示
2. 常用AT指令
蓝牙模块AT指令集如下表示:
基本指令
指令 | 说明 | 返回值 | 参数 |
+++a | 进入配置模式 | a+ok | 无 |
AT+ENTM | 进入透传模式 | OK/ERROR | 无 |
AT | 测试 | OK | 无 |
AT+RESET | 复位 | OK/ERROR | 无 |
AT+RELOAD | 恢复出厂设置 | OK/ERROR | 无 |
AT+LEDEN | 板载LED查询/设置 | OK/ERROR | ?查询,=ON使能,=OFF关闭 |
AT+HELLO | 开机欢迎语查询/设置 | OK/ERROR | ?查询,=str设置开机欢迎语 |
AT+NAME | 名称查询/设置 | OK/ERROR | ?查询,=str设置名称 |
AT+MODE | 工作模式查询/设置 | OK/ERROR | ?查询,=M/S/O/B/I设置模式 |
AT+MAC? | MAC地址查询 | OK/ERROR | 无 |
AT+CIVER? | 版本信息查询 | OK/ERROR | 无 |
AT+TPL | 发射功率查询/设置 | OK/ERROR | ?查询,=1/2/3/4/5/6/7/8设置功率 |
AT+UART | 串口参数查询/设置 | OK/ERROR | ?查询,=bps,data,pari,stop设置串口 |
AT+UARTTIM | 串口打包时间查询/设置 | OK/ERROR | ?查询,=1~100(时基10ms) |
AT+LINK? | 连接状态查询 | OK/ERROR | 无 |
AT+DISCONN | 断开连接设置 | OK/ERROR | 无 |
AT+UUID | 串口服务UUID查询/设置 | OK/ERROR | ?查询,=num+uuid |
主机指令
指令 | 说明 | 返回值 | 参数 |
AT+SCAN | 搜索周围从机 | OK/ERROR | 无 |
AT+CONN | 连接搜索从机序号 | OK/ERROR | =num连接扫描到的序号 |
AT+CONNADD | 上电连接模块MAC地址查询/设置 | OK/ERROR | ?查询,=addr |
AT+AUTOCONN | 断线自动重连查询/设置 | OK/ERROR | ?查询,=ON使能,=OFF关闭 |
从机指令
指令 | 说明 | 返回值 | 参数 |
AT+ADPTIM | 广播速度查询/设置 | OK/ERROR | ?查询,=2~1024(时基10ms) |
AT+IBEACON | iBeacon参数查询/设置 | OK/ERROR | ?查询,=uuid,major,minor,rssi |
链路匹配指令
指令 | 说明 | 返回值 | 参数 |
AT+LINKPASSEN | 链路匹配连接使能查询/设置 | OK/ERROR | ?查询,=ON使能,=OFF关闭 |
AT+LINKPASS | 链路匹配连接密码查询/设置 | OK/ERROR | ?查询,=password |
AT+TRENCEN | 数据加密使能查询/设置 | OK/ERROR | ?查询,=ON使能,=OFF关闭 |
AT+TRENCWORD | 数据加密密码查询/设置 | OK/ERROR | ?查询,=password |
AT+MAXPUT | 通信最大输出查询/设置 | OK/ERROR | ?查询,=ON使能,=OFF关闭 |
功耗相关指令
指令 | 说明 | 返回值 | 参数 |
AT+AUTOSLEEPEN | 自动睡眠使能和时间查询/设置 | OK/ERROR | ?查询,=ON使能,=OFF关闭 |
AT+AUTOSLEEP | 自动睡眠模式查询/设置 | OK/ERROR | ?查询,=LOW,=DEEP |
AT+LOWSLEEP | 进入低睡眠模式设置 | OK/ERROR | 无 |
AT+DEEPSLEEP | 进入深度睡眠模式设置 | OK/ERROR | 无 |
AT+POWERSLEEPEN | 开机进入睡眠使能查询/设置 | OK/ERROR | ?查询,=ON使能,=OFF关闭 |
AT+SLAVESLEEPEN | 从设备断连进入睡眠使能查询/设置 | OK/ERROR | ?查询,=ON使能,=OFF关闭 |
3. 蓝牙通讯模块使用实例
蓝牙模块可以通过串口和MCU控制设备(或PC)进行数据传输,支持蓝牙的可移动设备通过蓝牙与蓝牙模块进行数据传输,其基本传输图如下示:
3.1 蓝牙模块与手机数据透传
- 通过串口将蓝牙模块与PC连接,查看蓝牙名称、设置为从设备模式(S)、进入数据透传模式(AT+ENTM)
- 打开“LightBlue”手机APP软件(本文是Android版),找到上一步查询到的蓝牙后连接;连上后可以看到接收通知和发送通知的选项
- 进入接收通知选项,订阅消息(SUBSCRIBE),通过串口助手发送消息后,手机端可以接收到消息
- 进入发送通知选项,在手机端写入数据,串口助手可以接收到相关消息
使用“++a”进入配置模式命令可以退出透传模式
3.2 安全匹配
- 通过串口将蓝牙模块与PC连接,查看蓝牙名称、设置为从设备模式(S)、使能链路匹配连接功能(AT+LINKPASSEN=ON)、设置链路匹配连接密码(AT+LINKPASS=123456)、进入数据透传模式(AT+ENTM)。需要重启或复位蓝牙模块使链路匹配功能生效
- 使用“LightBlue”手机APP软件连上蓝牙模块后,立即进入接收通知选项,SUBCRIBE后可以收到输入密码通知;之后进入发生通知选项,写入密码;如果密码正确,在接收通知选项里可以接收到密码正确的消息