正点原子 ATK-BLE04 、ATK-BLE05 蓝牙模块学习使用

发布于:2025-08-03 ⋅ 阅读:(10) ⋅ 点赞:(0)

正点原子 ATK-BLE04 、ATK-BLE05 蓝牙模块学习使用



1、BLE04和BLE05对比

蓝牙BLE04和BLE05是很类似的,05算是升级版,支持的功能更多,本文会以05为例测试使用

两者参数对比如下表:

在这里插入图片描述

模块实物图如下:

在这里插入图片描述

在这里插入图片描述

版本具体区分:看屏蔽罩表面的ATK-BLE04、ATK-BLE05字样。


2、前期准备工作

2.1 模块接线

蓝牙模块 USB-TTL模块
VCC(5V) VCC (5V)
GND GND
TXD RXD
RXD TXD
STA 悬空
WUP 悬空

接线如下图:

在这里插入图片描述
注意:
1、开关档位选择要正确,不然会影响正常通信。
2、确保串口驱动是已经安装了的,设备管理器要正常识别到该串口驱动。

2.2 资料说明

模块使用资料下载链接: https://pan.baidu.com/s/1YNwVu9O6rVTETDANFf4rAg
提取码:9y58

详细学习请查看 ATK-BLE05蓝牙模块用户手册 V1.0.pdf

3、指令配置

3.1 AT指令介绍

参考用户手册第3.11 AT 指令集

在这里插入图片描述

在这里插入图片描述

如果用的是正点原子的串口调试助手,该软件是集成回车换行按钮的,直接勾选发送新行按钮就行,非常方便。

在这里插入图片描述

3.2 AT指令示例

模块进入指令配置模式和指令格式说明如下:

在这里插入图片描述

模块进入配置模式:

在这里插入图片描述

按照步骤依次操作,注意不要添加回车。

进入后会有OK返回提示,接着就勾选发送新行按钮,即可继续发送其它指令操作了。

模块退出配置模式:

在这里插入图片描述

查询模块的工作模式:

在这里插入图片描述

返回的参数是0,查阅手册0表示从机模式。

具体指令操作和说明,查看ATK-BLE05 模块的 AT 指令集即可。。。

例如下面这个工作模式的指令,响应返回的内容,对照指令表格里面的参数说明就可以了。查看其它指令也同理

在这里插入图片描述

表格中有6个工作模式,看前面的标号对应即可。

4、模块主从通信

注意,下面的实验都会默认操作软件的发送新行按钮,本文为了减短编幅,不截图无关内容了,根据实际需求勾选即可,请知悉。。。

在这里插入图片描述

4.1 一对一通信(主从)

需要完成一对一通信功能,则需要准备两个模块。

设备A做主机,设备B做从机

步骤1:
打开一个串口助手,首先将设备 B 进入配置模式, 设置为从机工作模式, 此时模块会复位运行的,需要重新再次发指令进入配置模式(不然指令无效),查询 MAC 地址,获取到MAC后即可退出配置模式进行通信。

用到的指令如下:

+++atk
AT
AT+MODE=0
AT+MAC?
AT+ENTM

在这里插入图片描述

步骤2:
新打开另外一个串口助手,让设备 A 进入配置模式, 设置为主机工作模式, 待模块复位后再次发指令进入配置模式,发送扫描指令扫描周边设备MAC, 此时可搜索到周边的从机设备,目的是为了确认设备B是否就绪。接着从搜索到的MAC中找到设备 B 的MAC即可,如果搜索不到则需去检查设备B的配置及硬件连接情况,如果搜索不到是无法进行连接的。

用到的指令如下:

+++atk
AT
AT+MODE=2
AT+SCAN=1
AT+CONADD=从机MAC
AT+ENTM

在这里插入图片描述

在这里插入图片描述

当主机连接上从机后,此时就可以让双方都退出配置模式了,即默认进入透传模式,双方的状态灯也保持一致常亮了。

双方的串口助手发送指定的内容后,对方都可以收到,如下图所示。

在这里插入图片描述

当双方处于正常通信时,如果一方突然断电或发生故障后,双方就会断开连接,状态灯从常亮转变为闪烁状态,此时双方再无法互相通信了,需要重新进行指令配置进入透传才行, 因为双方无法自动进入透传通信功能。

要完成这个实验,首先要懂得这个实验的基本实现流程,指令的配置等,只要知道了该过程就很容易实现了。

另外,除了可以用字符发送形式,还可以用十六进制格式发送的,方法流程如下:
先进入透传模式,勾选串口助手左下角的16进制发送方式,然后在消息发送区域输入十六进制内容(切记不要先输入内容再勾选,这样格式是错误的),完成点击发送就可以了。注意接收方也要勾选16进制显示按钮。

在这里插入图片描述

后面数据多了0D 0A 2字节数据,那是下面勾选了发送新行按钮的,如果不需要则可以取消勾选再发送。

4.2 一对一绑定对方MAC通信(主从)

在前面一对一通信的基础上,通过绑定双方的MAC地址,可以实现自动配对进入透传通信,即无论在什么情况下,只要保持双方处于供电状态都会自动配对连接,无需再次手动去配置指令了,非常方便。

在一对一通信基础上,主机增加AT+BONDMAC指令就行。

从机配置不变,只需要把主机设备连接从机MAC的指令AT+CONADD替换成绑定MAC指令AT+BONDMAC就行,操作起来也非常简单。

用到的指令如下:

+++atk
AT
AT+MODE=2
AT+SCAN=1
AT+BONDMAC=从机MAC
AT+ENTM

在这里插入图片描述

这样无论哪一方断电了,只要重新供电,都会自动建立连接进入透传数据,使用起来比较方便。

如果不需要绑定了,可以发送解除绑定指令AT+BONDDEL。
解除绑定后,状态指示灯不会立即处于闪烁状态,还是会保持常亮的,实际是已经接触绑定了的,如果要看状态则可以断电重新供电就可以让状态灯处于闪烁了。

4.3 一主多从通信

一对多通信就是一个主机,多个从机通信,这款蓝牙模块支持最大连接 4 个从机通信。

这个功能的基础使用和一对一的通信方式一样,不同的是绑定多个从机地址步骤而已。

步骤1:
先发指令扫描一下周围从机的MAC,如下图;
在这里插入图片描述

步骤2:
分别连接从机MAC,如下图:

在这里插入图片描述

主设备分别连接上2个从设备后,模块的状态灯都处于常亮状态了。

步骤3:
接着就可以都发退出配置模式指令,让其进入透传状态。

主机发送内容,2个从机都可以同时收到,如下图:

在这里插入图片描述

从机发送内容,主机可以收到,但另外的从机无法收到。

在这里插入图片描述

另外:
如果要主机给指定从机发送内容,可以通过如下方式实现:
主机先进入配置模式,分别发送指令AT+TRANMODE=1和AT+LINKSTA,查询从机MAC的序号。

在这里插入图片描述

发送数据,以十六进制形式,前面是从设备的序号,后面就都是数据:

在这里插入图片描述

这样就能给指定从机设备发送内容了。

要用这个功能需要使用十六进制的格式发送,不是很方便,如果有这方面的需求,可以考虑使用。

当然,这个功能也可以直接用一对一通信方式替代,效果一样的,还省去了一些指令步骤。如果不需要从机都同时接收的,个人比较建议用一对一通信方式相对简单些。

5、模块与手机通信

5.1 模块与手机APP通信

安卓手机须安装如下软件APP:

在这里插入图片描述

当然,其它的APP也是可以的,用法基本类似,根据个人需求使用即可。大部分APP要求手机开启GPS功能的,不然用不了。

模块和手机APP数据通信,那么蓝牙设备就需要配置为从设备工作模式,手机默认是主机了的。

用到的指令如下:

+++atk
AT
AT+NAME?
AT+NAME=ATK-BLE05  //该指令可选择使用,如果不需要设置其它名字了就直接读取名字使用就行
AT+MODE=0
AT+ENTM

这里需注意,发送配置工作模式指令后,模块会自动重启的,就相当于自动进入透传模式了,如果后面无需再配置其它指令了,那么就可以直接使用啦,退出配置模式指令就不用再去发了的,可省略。

模块指令配置如下:

在这里插入图片描述

配置完指令后,模块状态指示灯处于慢闪状态。

接着可以打开手机APP了。

在这里插入图片描述

可以看到搜索到蓝牙名字了,点击CONNECT按钮即可连接。

在这里插入图片描述

显示连接成功后,就可以点击编号5和6进行收发数据了。

发送数据

在这里插入图片描述

接收数据

在这里插入图片描述

5.2 模块与微信小程序通信

微信小程序通信界面是很简洁的,就数据的发送和接收窗口。但使用前需要手机开启GPS功能。

微信搜索这个蓝牙串口名字应用,如下图标:

在这里插入图片描述

使用小程序通信需要将模块设置为从设备模式,手机做主机。

用到的指令如下:

+++atk
AT
AT+NAME?
AT+NAME=ATK-BLE05  //该指令可选择使用,如果不需要设置其它名字了就直接读取名字使用就行
AT+MODE=0
AT+ENTM

串口助手依次发以上这些指令就可以了。

接着就可以打开小程序进行搜索蓝牙设备了。

当看到已经搜索到蓝牙名字了,直接点击连接即可。

在这里插入图片描述

当连接成功后,模块状态灯会常亮。

进去界面后是如下图界面所示:

在这里插入图片描述

可以看到功能是很少的,也基本可以满足功能使用了的。

数据收发如下图:

在这里插入图片描述

如果要验证数据是否收发完整,可以看收发的字节数对应就行。

6、模块恢复出厂

模块出厂参数如下图:
在这里插入图片描述

如果模块在使用过程中发现有问题了导致无法通信,可以硬件复位模块,让其恢复到默认参数就可以了,不能用的情况一般是模块里面的参数错乱了导致的。

操作方法:
在模块上电之前,拉低RELOAD 引脚,该引脚是低电平有效的。上电后拉低保持引脚大于 3 秒,即可恢复出厂设置。

想办法(用镊子、母对母杜邦线等)把模块的这2个引脚短接起来就行,如下图:
在这里插入图片描述

此时再给模块读取参数,就是上表的出厂参数了。

7、模块固件烧写

打开资料,烧写固件软件在如下路径:软件资料\固件\atk_ble_upgrade V1.0.exe

在这里插入图片描述

操作步骤流程;
第一步:选择正确的端口号,具体也可以到设备管理器里面查看。
第二步:任意选择一个波特率,推荐115200。
第三步:打开串口按钮。
第四步:选择本地固件烧写方式。
第五步:打开添加本地固件,以xxx.atk结尾的,型号(04/05)要和模块对应。
第六步:点击开始升级按钮就可以开始烧录了,过程会有一个进度条变动提示。

烧写过程如下图:
在这里插入图片描述

烧写完成如下图:

在这里插入图片描述

烧录过程中,模块状态灯会快闪的,完成后是慢闪。

完成后就可以正常去发指令配置了。