ATK-BLE01 蓝牙模块和手机进行简单数据收发



目录

  • ATK-BLE01 蓝牙模块和手机进行简单数据收发
  • 前言
  • 1、前期准备工作
  • 1.1 接线
  • 1.2 AT指令配置
  • 1.3 使用参考资料
  • 2、调试助手配置及手机APP配置
  • 2.1 PC配置模式
  • 2.2 透传模式
  • 2.3 配置手机APP
  • 2.4 手机接收数据
  • 2.5 手机发送数据
  • 3、模块固件升级
  • 总结


前言

在学习蓝牙01模块的时候,发现模块可以通过USB-TTL和电脑PC进行通信,后来还发现这个蓝牙模块还可以通过PC和手机进行通信的,有点好玩。

1、前期准备工作

1.1 接线

蓝牙模块

USB-TTL模块

VCC(5V)

VCC (5V)

GND

GND

TXD

RXD

RXD

TXD

接线如下图:

android 蓝牙 4g模组通信 蓝牙模块如何通信_串口

要注意交叉接线!!

1.2 AT指令配置

常用AT指令:

+++a     进入配置模式
AT+ENTM  进入透传模式
AT       指令测试
AT+RESET 模块复位
AT+NAME  名称查询/设置
AT+MODE  工作模式查询/设置
AT+UART  串口参数查询/设置
AT+LINK  连接状态查询

指令示例:

S:+++a			     /* 进入配置模式 */
R:A+OK

S:AT			     /* 测试指令 */
R:OK

S:AT+NAME=ATK-BLE01 /* 设置模块名字,字符串长度:1-15个字符 */
R:+NAME:ATK-BLE01
   OK

S:AT+NAME?          /* 查询模块名字 */
R:+NAME:ATK-BLE01
   OK

S:AT+MODE=S		 /* 设置工作模式:mode: S:从设备,M:主设备 */
R:+MODE: S         
   OK

S:AT+UART=115200,8,0,1  /* 设置串口参数:波特率:115200,数据位:8位,校验位:无,停止位:1位 */  
R:+UART:115200,8,0,1
   OK

S:AT+UART?              /* 查询串口参数:波特率:115200,数据位:8位,校验位:无,停止位:1位 */  
R:+UART:115200,8,0,1
   OK

S:AT+LINK?				   /* 查询连接状态 */
   连接状态下:
R:PeerAddr: ADD99EE0C406  /* 对方设备 MAC 地址 */
   Rssi:-43 dbm            /* 信号强度 */
   +LINK:OnLine            /* 已连接 */
   OK
   非连接状态下:
R:+LINK:OffLine           /* 未连接 */
   OK

S:AT+ENTM                /* 设置模块进入透传模式 */
R:OK

说明:
(1)以上指令中, 除了进入配置模式指令无需发送回车换行 “\r\n,即 ASCII 码 0x0d,0x0a”,其他指令必须发送回车换行才行。
(2)AT 指令参数发送成功则返回“OK”,失败则返回“ERROR” 。

1.3 使用参考资料

这里所有的参考资料都是购买模块时商家提供的资料:

文档资料:
ATK-BLE01蓝牙串口模块AT指令集_V1.0.pdf
ATK-BLE01蓝牙串口模块用户手册_V1.0.pdf

软件资料:

电脑PC:ATK-BLE V1.1.exe

android 蓝牙 4g模组通信 蓝牙模块如何通信_android 蓝牙 4g模组通信_02

手机APP:(可自行在应用市场下载)

android 蓝牙 4g模组通信 蓝牙模块如何通信_固件_03

2、调试助手配置及手机APP配置

模块接到PC之后,先把指令调试通过后再测试后面的功能,具体看上面的AT指令示例:

2.1 PC配置模式

这个助手已经集成了相关的指令,可以省略再次发送的步骤:
2.1.1 连接上模块:

android 蓝牙 4g模组通信 蓝牙模块如何通信_stm32_04

2.1.2 依次按步骤来发送指令:

android 蓝牙 4g模组通信 蓝牙模块如何通信_android 蓝牙 4g模组通信_05

2.1.3 提示连接成功:

android 蓝牙 4g模组通信 蓝牙模块如何通信_串口_06

2.1.4 如果点击配置模式没有ok返回,而是提示超时,无法连接成功,可以点击关闭串口重新打开或者重新打开这个助手软件。

android 蓝牙 4g模组通信 蓝牙模块如何通信_固件_07

2.2 透传模式

在配置模式完成后,点击透传模式,可以看到返回ok,表示进入透传。

android 蓝牙 4g模组通信 蓝牙模块如何通信_stm32_08

2.3 配置手机APP

2.3.1 先打开蓝牙功能,再打开手机蓝牙调试助手,下拉刷新界面,找到前面设置的蓝牙名字,然后点击CONNECT。

android 蓝牙 4g模组通信 蓝牙模块如何通信_固件_09

2.3.2 提示蓝牙连接成功:

android 蓝牙 4g模组通信 蓝牙模块如何通信_单片机_10

2.3.3 用Unknown Service 作为数据的收发:

android 蓝牙 4g模组通信 蓝牙模块如何通信_stm32_11

2.4 手机接收数据

pc端发送数据,记得要发送新行:

android 蓝牙 4g模组通信 蓝牙模块如何通信_单片机_12

app接收数据

android 蓝牙 4g模组通信 蓝牙模块如何通信_stm32_13

2.5 手机发送数据

app发送数据

android 蓝牙 4g模组通信 蓝牙模块如何通信_stm32_14

pc端接收数据

android 蓝牙 4g模组通信 蓝牙模块如何通信_android 蓝牙 4g模组通信_15


觉得这个手机软件有一个不好的就是无法发送新行!!

要想退出数据的收发,点击关闭即可。

3、模块固件升级

第一步:接线,具体接线请查看1.1小节的接线方法,在此基础上再把WKUP引脚接GND。
第二步:给模块上电,然后打卡蓝牙调试软件。
此时可以看到蓝牙的通信灯是处于常量的状态,接下来上位机选择串口对应的端口号,波特率是选对应自己设置的,停止位、数据位、奇偶校验位保持默认即可,然后点击打开串口按钮。点击下面的固件更新按钮,选择本地升级(资料里面的固件压缩包需要解压才可以识别),接着点击打开文件按钮,最后点击开始升级按钮就可以看到固件在升级了,进度条可以看到升级进度情况。

android 蓝牙 4g模组通信 蓝牙模块如何通信_android 蓝牙 4g模组通信_16

android 蓝牙 4g模组通信 蓝牙模块如何通信_单片机_17

更新过程中可以看到USB-TTL模块和蓝牙模块的通信灯一直在闪,完成后蓝牙的状态指示灯是处于慢闪状态表示更新完成。

android 蓝牙 4g模组通信 蓝牙模块如何通信_固件_18

更新完成之后可以看到一个提示固件更新完成提示框,点击确认后可以在后边消息框看到更新固件所用的实际时长。

android 蓝牙 4g模组通信 蓝牙模块如何通信_stm32_19

第三步:更新完成后断开模块的电,再重新上电就可以正常使用功能了。


总结

在这个基础上实现了通信功能,那么可以在后续的学习中用程序来控制,连接单片机,可以用手机和单片机直接进行交互了,就不用借助电脑PC啦,比如手机控制LED、蜂鸣器、开关、蓝牙小车等一些比较有趣的功能。
具体的控制代码可以参考官方提供的源码。