蓝牙模块教程|一文看懂BLE蓝牙模块应用开发,快速入门指南

BLE(Bluetooh Low Energy)蓝牙低能耗技术是短距离、低成本、可互操作性的无线技术,它利用许多智能手段最大限度地降低功耗。

BLE蓝牙模块是为了降低使用者的开发门槛,模组厂商会将射频部分的参数调整到最佳,同时在软件上符合大部分用户的需求。

当用户拿到BLE蓝牙模组后,仅需要通过串口就可以直接应用在自己的项目中,大大降低了用户的开发成本。这也是目前BLE蓝牙模块非常火热的主要原因。

蓝牙模块教程|一文看懂BLE蓝牙模块应用开发,快速入门指南_第1张图片


1:BLE蓝牙模块的使用人群:


(1)MCU方案厂商或成品厂商,经常做一些各类消费类电子,工业控制类方案。
(2)学生,用于学习应用BLE无线技术。
(3)业余电子发烧友,喜欢钻研技术,制作一些小设计,小发明。

蓝牙模块教程|一文看懂BLE蓝牙模块应用开发,快速入门指南_第2张图片
今天,笔者就拿目前市面上比较火爆的 一款蓝牙模块——集贤科技的UA287Q BLE模块,来为大家介绍下蓝牙模块的具体使用方法。

 

 

蓝牙模块教程|一文看懂BLE蓝牙模块应用开发,快速入门指南_第3张图片
说到UA287Q 蓝牙模组,我们就先从它的规格书看起。

2:UA287Q 蓝牙模组规格书介绍

蓝牙模块教程|一文看懂BLE蓝牙模块应用开发,快速入门指南_第4张图片


从上图看出,该模组的特色主要在于三点:

第一点:支持主从模式,方便用户在应用过程中可以脱离手机,实现两个设备互相通信的功能。

第二点:支持微信协议,用户如果想省去开发安卓及ios的app成本,可以直接应用微信公众号上,实现用户功能。

第三点:AT指令操作简洁,可通过AT指令修改蓝牙名称, 串口波特率 等操作,方便用户操作287Q模块。

第四点:模组厂商联系方式,张生扣扣8360,95006(凭该文链接可以免费申请UA287Q蓝牙模组样品一片)。

第五点:对底板硬件干扰要求不高,便与设计,只需要保证模块供电电源干净即可。



3:UA287Q 蓝牙模组相关AT指令集

蓝牙模块教程|一文看懂BLE蓝牙模块应用开发,快速入门指南_第5张图片

串口AT指令如上图所示,基本涵盖了所有用户平时会用到的串口AT指令。接下来我们就一起来看下这个模块如何用起来。


4:测试操作说明


首先,就是给这个模块供电,并将串口接出来到电脑上,如下图所示:

蓝牙模块教程|一文看懂BLE蓝牙模块应用开发,快速入门指南_第6张图片

4.1打开测试APP“BLE-Tool”软件搜索蓝牙,如图 APP(BLE Tool)

蓝牙模块教程|一文看懂BLE蓝牙模块应用开发,快速入门指南_第7张图片
4.2选择对应UA287Q模块名称、MAC地址,如图2所示该模块的蓝牙名称BleSeriaPort;

蓝牙模块教程|一文看懂BLE蓝牙模块应用开发,快速入门指南_第8张图片

 

 

4.3进入测试界面取消“Hex”和左侧勾选项,后点击“选择要写的服务ID”选择最后一个选项里“可写”如下图3,图4所示;

 

蓝牙模块教程|一文看懂BLE蓝牙模块应用开发,快速入门指南_第9张图片

蓝牙模块教程|一文看懂BLE蓝牙模块应用开发,快速入门指南_第10张图片

4.4 在测试界面点击“选择要通知/读服务ID”选择第二项选项 “可写可通知”如下图5和图6所示;

蓝牙模块教程|一文看懂BLE蓝牙模块应用开发,快速入门指南_第11张图片

 

蓝牙模块教程|一文看懂BLE蓝牙模块应用开发,快速入门指南_第12张图片
4.5 透传模式下,写入要发送的数据,如下图 在APP“BLE-Tool”上写数据,串口助手上接收。

 

 

蓝牙模块教程|一文看懂BLE蓝牙模块应用开发,快速入门指南_第13张图片

蓝牙模块教程|一文看懂BLE蓝牙模块应用开发,快速入门指南_第14张图片
在串口助手上写数据,APP“BLE-Tool”上接收数据

蓝牙模块教程|一文看懂BLE蓝牙模块应用开发,快速入门指南_第15张图片

蓝牙模块教程|一文看懂BLE蓝牙模块应用开发,快速入门指南_第16张图片

 


到此,关于287Q BLE透传模块的透传功能演示完毕。接下来跟大家说下如何通过AT指令修改蓝牙名称。


5:AT指令介绍


5.1 设置蓝牙名
例: “AT+setName=bleName\r\n”(如设置为SENSSUN FAT)
回复: “AT+okrestart effect!\r\n” (操作成功,需发重启命令,重启后生效)
“AT+err_code\r\n” (操作失败, err_code具体参见“命令错误返回参数说明”)

蓝牙模块教程|一文看懂BLE蓝牙模块应用开发,快速入门指南_第17张图片


5.2 读取蓝牙设备名称
例: “AT+getName\r\n”
回复: “AT+ok=bleName\r\n” (操作成功)
“AT+err_code\r\n” (操作失败, err_code具体参见“命令错误返回参数说明”)

5.3 读取蓝牙MAC 地址
例: “AT+getAddr\r\n”
回复: “AT+okFF:11:22:33:66:FF\r\n” (操作成功)
“AT+err_code\r\n” (操作失败, err_code具体参见“命令错误返回参数说明”)

5.4 设置蓝牙MAC 地址
例: “AT+setAddr=112233445566\r\n”
回复: “AT+okrestart effect!\r\n” (操作成功,需发重启命令,重启后生效)
“AT+err_code\r\n” (操作失败, err_code具体参见“命令错误返回参数说明”)

5.5 读取蓝牙模块的状态广播/已连接/sleep:
例: “AT+getStatus\r\n”
回复:“AT+ok status_code\r\n”(操作成功),status_code如下:
 

00

模块处于空闲状态

01

模块处于广播状态

02

模块处于连接状态

03

带响应扫描

04

不带响应扫描


“AT+err_code\r\n” (操作失败, err_code具体参见“命令错误返回参数说明”)

5.6 更改蓝牙连接间隔

命令说明:立即生效,不要频繁设置,否则可能掉线。

例: “AT+setConnInt 36242300 \r\n ”(参数分别为max, min, latency,timeout)
例子中,最大间隔36*1.25ms,最小间隔24*1.25ms,潜伏期 2, 连接超时300*10ms.

最小连接间隔和最大连接间隔取值范围均为0x0006~0x0C80(7.5ms~4000ms),min<=max。

Latency:取值范围为:0x0000~0x01F3(0~499)。

连接超时:取值范围为:0x000A~0x0C80。
连接间隔必须小于连接超时时间,即:[max*1.25 * (1+latency)] < 10 * timeout。
注意:最大间隔* latency必须要小于timeout *4

回复: “AT+ok\r\n” (操作成功,不用重启,立即生效)
“AT+err_code\r\n” (操作失败, err_code具体参见“命令错误返回参数说明”)

你可能感兴趣的:(物联网模块)