当前位置: 首页 > news >正文

蓝牙模块的使用01,OOOLMF蓝牙模块HC05调试使用01AT设置从机,手机用软件对接

参考资料
https://blog.csdn.net/xia3976/article/details/122199162

1、实验目的
验证蓝牙模块是不是好的,能不能AT指令改变查询配置;
验证设置从机模式,成功之后,用手机现成的蓝牙软件(实验室大群里面有),测试双方收发是否正常;
验证设置为主机模式的配置(下个实验抽空再做)

2、实验部分知识。
2.1 蓝牙模块
蓝牙模块有 命令响应工作模式(AT模式) 和 自动连接模式
自动连接工作模式下模块又可分为主(Master)、从(Slave)和回环(Loopback)三种工作角色。
配置蓝牙模块需要在AT模式下进行。
传输数据,模块需要处于自动连接模式下。

     HC-05蓝牙模块是一款支持蓝牙2.0协议的串口蓝牙模块,具有以下基本功能和技术参数:

基本功能:
支持主从一体模式,可通过AT指令配置为主机或从机模式。
提供透明传输模式,方便实现串口设备的无线通讯。
内置LED指示灯,用于显示蓝牙连接状态。
技术参数:
工作电压:3.3V(兼容5V输入)
通讯距离:10米(空旷环境)
波特率:默认9600bps,可通过AT指令配置
支持UART接口,TXD、RXD、VCC、GND四个引脚
尺寸:37.3mm x 15.5mm
在这里插入图片描述

2.2 AT指令
**

常用AT命令:

**
AT+ORGL           恢复出厂默认设置
AT+VERSION?          返回HC-05的软件版本号

AT+NAME?          返回HC-05的名字
AT+NAME=car_uart     修改蓝牙模块的名字为car_uart

AT+UART?           返回蓝牙波特率
AT+UART=115200,0,0     设置串口波特率115200,1位停止位,无校验
【波特率  停止位: 0=1位,1=2位   校验位: 0=无校验,1=奇校验,2=偶校验  默认设置为9600,0,0】

AT+PSWD?          查询配对密码
AT+PSWD=“123456”      设置密码123456
AT+ROLE?           查询主从状态,=1:设置成主,=0:设置成从,=2:设置成回环
AT+ROLE=0          设置成从

主蓝牙:

1.设置配对码: AT+PINXXXX (XXXX为四位数字,并与从蓝牙的配对码保持一致)

2.设置蓝牙为主机: AT+ROLE=1 (0为从机,1为主机,2为回环角色)

3.设置蓝牙连接模式: AT+CMODE=0 (0是指定蓝牙地址连接模式,设置为0才能自动的连接绑定的地址)

4.设置蓝牙连接地址:AT+LINK=98d3:34:90c097(这里的地址是我事先在从蓝牙上查询到的地址,看别的博客是BIND命令,但是我不太清楚这两个命令有什么区别)

从蓝牙:

1.设置配对码: AT+PINXXXX (XXXX为四位数字,并与主蓝牙的配对码保持一致)

2.设置蓝牙为主机: AT+ROLE=0 (0为从机,1为主机,2为回环角色)

3.设置蓝牙连接模式: AT+CMODE=0 (0是指定蓝牙地址连接模式,设置为0才能自动的连接绑定的地址)

2.3主机从机模式
在这里插入图片描述
2.4 LED闪烁状态

1、通信模式,连线前
主机未记录从机地址时,快闪;
主机记录从机地址时,慢闪;
从机快闪。
2、通信模式,连线后
LED 两闪一停。
3、AT模式
LED 每 2 秒亮 1 秒。

3、实验步骤
准备杜邦线,准备USB转TTL模块或者51下载器,电脑安装一下串口助手软件,这里推荐用XCOM串口助手,用这个进行讲解。
3.1接线
USB转TTL模块 HC-05
5V/VCC ------> VCC
GND ------> GND
(TX) ------> RXD
(RX) ------> TXD
在这里插入图片描述
在这里插入图片描述
3.2 USB转TTL模块的驱动下载安装
如果电脑不能识别模块,那么需要安装驱动。
看设备管理器
在这里插入图片描述
在这里插入图片描述

没有驱动的话,自己网上搜索,安装一下驱动。
要看自己驱动的芯片是什么,一般是PL2303,CH340之类的芯片,如果是CH340的芯片,那么就百度这个安装。

3.3 让蓝牙模块进入AT模式。

步骤,用HC05板子上面的按键,实现进入AT模式
第一步,接好线;
USB转TTL模块 HC-05
5V/VCC ------> VCC
GND ------> GND
(TX) ------> RXD
(RX) ------> TXD
第二步,先不插入USB,用手按着HC05的按键;不放手,插入USB,看到HC05模块的LED灯闪烁;AT模式LED 每 2 秒亮 1 秒。
说明进入AT模式,其实我们不用管亮灭时间,大概慢亮慢灭就是。
3.4 用串口助手进行调试
打开XCOM软件,按照下面配置打开串口。在多条发送里面,可以写下常用的AT指令。点击指令右边的0123456789按钮,就能发送对应指令。
在这里插入图片描述
比如我们查询下当前模块的名字。看到应道名字是HC-05,因此当前模块名字就是这个。这些指令前面都是AT,所以叫做AT指令。
在这里插入图片描述

在这里插入图片描述

更改名字。改为HC05-002
在这里插入图片描述

再次查询一下名字,看一下是不是成功。

在这里插入图片描述
查询一下当前模块的通信波特率是多少。看到波特率是9600,如果另外一个通信,那就要一样的通信速度。

在这里插入图片描述

可以更改波特率是115200.再重新查询一下,是不是改变了。
在这里插入图片描述
在这里插入图片描述
查询,并且设置一下该模块的密码。和模块配对的时候,要输入密码,就像wifi一样。这里是1234,可以改为123456,同理设置之后,可以重新查询一下是否配置成功。
在这里插入图片描述
在这里插入图片描述
查询当前工作模式是什么。是0,因此是从机模式,只能被动接收连接。
比如我们手机如果也开蓝牙,然后搜索蓝牙,从机HC05不断发送蓝牙信号等待连接,手机搜索到之后,然后就配对,输入配对密码,就连接成功。
在这里插入图片描述
后面如果我们做蓝牙双模块相互通信,需要一个是主机模块,一个是从机模块。可以通过AT+ROLE=1设置为主机模式。

下面我们查询一下模块的地址,类似身份证。后面除了从地址中知道是不是这个模块,也可以从名字知道这个模块,名字可以改变,但是地址只能是一个,像人一样,只能是是一个身份证号码。AT+ADDR?
在这里插入图片描述
在这里插入图片描述

上述成功之后。我们把USB转TTL模块拔下来,断电,然后重新插上去,上电,这次不按下按键,会自动进入从机模式。这个时候HC05的板载LED快闪状态。

手机端连接蓝牙模块

我们用手机打开蓝牙,搜索蓝牙。看下有没有对应的蓝牙。
在这里插入图片描述
看到我的手机就是显示地址,重新刷新会显示蓝牙模块的名字。输入配对码。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

连接成功。

手机安装软件。
在这里插入图片描述

手机蓝牙和HC05蓝牙模块连接成功之后,进行下面的步骤。

选择经典蓝牙。BLE是低功耗蓝牙,不一样。注意。我们这里用第一个。
在这里插入图片描述
在这里插入图片描述
我们点击Connect。
注意有时候不能一次连接成功,有时候需要关闭这个软件再打开进来链接。

在这里插入图片描述

手机如果之前连接成功之后,那么里面有配对列表,找到我们的蓝牙模块。
然后连接Connect。连接成功,页面有提示,然后点击DONE。

在这里插入图片描述

在这里插入图片描述
随便点击一个页面,然后点击Run。
这里我们选
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
电脑打开串口助手,重新设置波特率,和之前设置AT的蓝牙模块的蓝牙波特率一致,然后打开串口,

在这里插入图片描述

手机按下congji后面的SEND,发送命令。可以看到串口助手里面收到命令。随便输入,最多重新打开软件,连接蓝牙,重复上面的步骤等等。

congji这个可以自己编辑,发送数据。
电脑这边,也发送一下AT+Name这些命令。
在这里插入图片描述

看到手机也收到了。

也可以用单个命令发送。
在这里插入图片描述

也可以打开手机软件里面的其他模块,自己测试,比如滑杆,按钮这些东西。

本次实验先这样。后面自己编辑一个手机软件模块也可以的。

附录,常用AT
在这里插入图片描述

相关文章:

  • 《Unity3D高级编程之进阶主程》第一章 C#要点技术(六) 搜索算法
  • 基于SpringBoot的篮球竞赛预约平台
  • 概率论与数理统计_上_科学出版社
  • HarmonyOS ArkUi Tabs+TabContent+List实现tab吸顶功能
  • 【Git-驯化】一文学会git配置用户信息,git config用法细节
  • Selenium:原理与使用指南
  • 麒麟V10安装MinIO
  • CICD流水线-父子项目打包发布至私仓库
  • 【数据分享】国家级旅游休闲街区数据(Excel/Shp格式/免费获取)
  • 大模型思维链(Chain-of-Thought)技术原理
  • 网络爬虫(一)深度优先爬虫与广度优先爬虫
  • 查看视频时间基 time_base
  • Java操作Excel最佳实践
  • 数据结构——求两个数的最大公因子
  • 面试篇-系统设计题总结
  • 分享一款快速APP功能测试工具
  • ➹使用webpack配置多页面应用(MPA)
  • PHP的类修饰符与访问修饰符
  • underscore源码剖析之整体架构
  • 多线程 start 和 run 方法到底有什么区别?
  • 翻译:Hystrix - How To Use
  • 关于Java中分层中遇到的一些问题
  • 警报:线上事故之CountDownLatch的威力
  • 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!
  • 算法系列——算法入门之递归分而治之思想的实现
  • 为什么要用IPython/Jupyter?
  • 学习JavaScript数据结构与算法 — 树
  • 智能网联汽车信息安全
  • “十年磨一剑”--有赞的HBase平台实践和应用之路 ...
  • 如何正确理解,内页权重高于首页?
  • #php的pecl工具#
  • #微信小程序:微信小程序常见的配置传值
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (四)事件系统
  • (转)程序员疫苗:代码注入
  • (转)树状数组
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • ./configure、make、make install 命令
  • .form文件_一篇文章学会文件上传
  • .net反编译的九款神器
  • .NET设计模式(2):单件模式(Singleton Pattern)
  • .net网站发布-允许更新此预编译站点
  • .Net中wcf服务生成及调用
  • @Query中countQuery的介绍
  • @Tag和@Operation标签失效问题。SpringDoc 2.2.0(OpenApi 3)和Spring Boot 3.1.1集成
  • @Validated和@Valid校验参数区别
  • @vue-office/excel 解决移动端预览excel文件触发软键盘
  • [2018][note]用于超快偏振开关和动态光束分裂的all-optical有源THz超表——
  • [Angularjs]ng-select和ng-options
  • [AUTOSAR][诊断管理][ECU][$37] 请求退出传输。终止数据传输的(上传/下载)
  • [BUG] Authentication Error
  • [BZOJ3223]文艺平衡树