目录

  • 前言
  • 参考链接
  • 常用的蓝牙模块有哪几种?
  • 如何设置蓝牙模块?
  • AT指令集
    • BT-04
    • HC-06
    • HC-05
  • 蓝牙主从配对工作
  • 手机与电脑端调试方法

前言

  作为最为常用的无线通信模块,蓝牙可以说是一些小型项目(比如智能小车)无线通信模块的首选了,之前研究了好几个蓝牙,碰了很多壁,写一篇博客记录一下!

参考链接

  • 常见蓝牙模块介绍和AT指令 - CSDN
  • 常见的蓝牙模块的工作模式你了解几种?- 21ic
  • 蓝牙模块都有哪些? - 知乎
  • SPP-BT蓝牙串口模块使用手册 - 原创力文档
  • HC05蓝牙模块通过Arduino与PC连接 - 知乎
  • 蓝牙HC-05与HC-06对比指令集 - 博客园
  • 双蓝牙(HC-05、HC-06)AT指令配对教程 - CSDN
  • 电脑自带蓝牙与HC-06蓝牙模块使用串口助手通信 - CSDN

常用的蓝牙模块有哪几种?

  很多人一提到蓝牙就会想到一个长方形的扁平的带有四个或六个引脚的小型长方形板子,如下图所示。以为都是一样的蓝牙。。。但其实它们是分型号的。从我目前接触过的蓝牙主要有HC-05HC-06BT-04等型号的蓝牙,它们在使用、控制等方面存在一些区别。

  首先是使用方面。一般来说,这种蓝牙模块因为支持透传,一般的操作都是将其与单片机的串口相连,然后蓝牙连接到手机或者电脑,这样单片机串口发送的消息就能通过蓝牙传输到连接的手机或者电脑,而手机发送的数据也能通过蓝牙传输到单片机的串口,而用户不需要考虑这个数据内部的转换等问题,大大方便了使用。
  这种蓝牙模块支持多种运行模式:从设备模式、主设备模式、广播模式、Mesh组网模式【参考链接】,本文只讨论两种——从设备模式主设备模式
  而以上讨论的各种型号的蓝牙模块的一个重要区别在于HC-06BT04只支持从设备模式,而HC-05支持从设备模式,也支持主设备模式。
  也正是因为这一点,也导致了它们的第二个重要区别:它们的AT指令不同。
  那么,如何区分这些型号呢?这一点目前我还没有一个非常合理非常简便的方法,也只能看它默认的名称是什么,以及HC-05上面有一个小按钮。

如何设置蓝牙模块?

  从上面的讲述来看,蓝牙模块可以设置为主设备模式和从设备模式,此外蓝牙模块默认的串口传输波特率也不一定符合我们的需要,这个时候就需要对这个模块进行重新设置,而这个设置的过程就是对蓝牙模块发送AT指令
  操作时,我们可以用一个USB转TTL的模块来连接蓝牙模块,一般只需要四根线即可:

USB转TTL 蓝牙模块
RX TX
TX RX
5V 5V
GND GND

  如果没有USB转TTL模块,也可以使用单片机通过串口给蓝牙模块发送数据,注意此时蓝牙模块不能处于连接状态,连线和上表一样。
  虽然连接蓝牙模块的设备不同,但其控制指令是一样,都是AT指令,下面将总结一下常用的蓝牙模块的AT指令。

AT指令集

  首先需要明确一点,那就是不同型号的蓝牙的AT指令是不完全一样的【一定要参考手册!】,而且AT指令只有蓝牙在AT状态下才能有效。
  对于这些AT指令,我简单粗暴地将它们分为两类,即查询类指令控制类指令。其中,两类指令中又分为很多种操作,包括设置波特率,蓝牙名称等。需要注意的是:某些型号的蓝牙模块在某些操作上只有操作指令,没有查询指令!

注意:部分蓝牙模块AT指令之后要加回车(\r\n),有些不用,且AT指令不分大小写。

BT-04

  参考链接
  BT-04蓝牙模块是一旦上电即进入AT模式,不连接的状态下。AT指令需要换行。











HC-06

  HC-06也和BT-04一样,都是一上电时且不连接设备时为AT模式。HC-06只能工作在从设备模式下

  • 参考链接1
  • 参考链接2

  HC-06的AT指令不需要回车换行,且虽然HC-06具有设置角色的AT指令,但HC-06不能作为主设备运行【参考链接1】。

HC-05

  HC-05直接连接USB转TTL是无法进入AT模式的,需要先按住按钮再上电,这样就能进入到AT模式,此时灯为慢闪状态;而如果直接上电,指示灯为快闪状态,这种状态为等待连接状态,AT指令无效。而且HC-05进入AT模式默认的波特率为38400

蓝牙主从配对工作

  上文提到,HC-05为主从一体的蓝牙模块,既可以工作在主设备模式,也可以工作在从设备模式,如果需要将两个蓝牙模块连接起来时,则可以使用两个HC-05,一主一从;也可以用一个HC-05(主)加上一个HC-06或者BT-04(从)。两种方案大同小异。

  • 首先将两个蓝牙通过USB转TTL连接到电脑上,进入AT模式。【其中HC-05要按住按键再上电】
  • 然后打开两个串口调试助手,设置好串口【HC-05的AT模式下波特率默认为38400,BT-04和HC-06为9600】,并输入“AT”或者“AT\r\n”进行测试。并分别输入“AT+ORGL\r\n”和“AT+DEFAULT\r\n”进行复位。【HC-05会自动退出AT模式,需要重插一遍】
  • 【设置密码】 初始化完毕后,将两个蓝牙的密码设置为一样的。(默认为1234)
  • 【设置波特率】 将两个蓝牙的波特率设置为一样的,默认状态都为9600【需要注意工作波特率和AT模式下的波特率是不一样的!设置完波特率后可能要重启才能生效】
  • 【设置角色】 如果是两个HC-05相互连接,那么一个要设置为主设备,一个设置为从设备,如果是一个HC-05,一个BT-04或HC-06,则只需要将HC-05设置为主设备。(默认为从设备)即可
  • 完成以上操作,则两个蓝牙模块会自动连接,并在从设备上显示:
  • 如果断开连接(主设备设置为从设备),则会在从设备收到:

手机与电脑端调试方法

  在很多智能小车的项目中,往往会有用手机通过蓝牙模块操作小车的环节,这是通过在手机上下载支持蓝牙传输的APP【蓝牙串口,应用商店即可下载】,然后在APP中进行数据传输,当然,电脑上也有类似的APP,也可以在微软商店中下载到,但是要付费,使用教程参考下面两个链接。
  参考链接1
  参考链接2
  参考链接3

【嵌入式模块】蓝牙模块使用总结相关推荐

  1. linux 蓝牙模块,蓝牙模块在HHARM2410上的移植

    最近两天在HHARM2410-R3上移植了 USB蓝牙设备和 BlueZ 蓝牙协议栈,呵呵,蓝牙果然是个很好的东西,协议栈内容很丰富,挂上去以后可以使用很多功能.我现在就可以用它来接收 GPS 数据以 ...

  2. 基于51单片机的蓝牙模块

    文章目录 蓝牙模块 接线 蓝牙软件 串口相关知识链接: 代码 运行结果 结束 蓝牙模块 蓝牙模块,又称为蓝牙串口模块. 串口透传技术 透传即透明传送,是指在数据的传输过程中,通过无线的方式这组数据不发 ...

  3. 两个HC-05蓝牙模块互相绑定构成无线串口模块 1

    文章目录 关于HC-05蓝牙模块 工作模式 获取蓝牙模块地址 两个蓝牙模块互相绑定 对A模块的设置: 对B模块的设置: HC蓝牙模块参考资料 SPP蓝牙模块参考资料 关于HC-05蓝牙模块 蓝牙模块B ...

  4. 单片机蓝牙烧录_蓝牙模块与单片机如何连接?

    蓝牙模块与单片机如何连接? 首先我们来看看蓝牙模块 蓝牙模块HC-05: TX连接单片机P3.0口,RX连接单片机P3.1口. 在蓝牙模块连接到单片机上前,首先通过USB-TTL转接器,连接到电脑上后 ...

  5. HC-05蓝牙模块的配置和使用方法

    一.说明 蓝牙传输模块一般通过串口进行通信,即RS232(设备1)<->蓝牙模块<->蓝牙模块<->RS232(设备2).因此,使用蓝牙模块需要配置的参数有串口通信 ...

  6. 短距离无线通信之蓝牙模块

    一.蓝牙 蓝牙,是一种支持设备短距离通信(一般10m内)的无线电技术,能在包括移动电话.PDA.无线耳机.笔记本电脑.相关外设等众多设备之间进行无线信息交换.利用"蓝牙"技术,能够 ...

  7. hc05与单片机连接图_蓝牙模块与单片机如何连接?

    蓝牙模块与单片机如何连接? 首先我们来看看蓝牙模块 蓝牙模块HC-05: TX连接单片机P3.0口,RX连接单片机P3.1口. 在蓝牙模块连接到单片机上前,首先通过USB-TTL转接器,连接到电脑上后 ...

  8. 基于stm32f103c8t6与jdy23蓝牙模块实现手机app点亮灯

    蓝牙模块:jdy23 1.介绍: JDY-23 透传模块是基于蓝牙 5.0 协议标准,工作频段为 2.4GHZ 范围,调制方式为 GFSK, 最大发射功率为 4db,最大发射距离 60 米,采用进口原 ...

  9. Android端 同 单片机 利用蓝牙模块的通信实现

    这次期末的课程设计做了一个智能灯光控制系统,系统整体的功能不在此赘述,系统主要是要实现下位机同上位机的通信,上位机选用的是Android手机端,下位机是52单片机,通过蓝牙模块实现通信.虽然系统很简单 ...

  10. 你真的会连蓝牙吗——蓝牙模块配对

    平时我们使用蓝牙一般是在手机上,流程基本都是打开手机上的蓝牙选项然后搜索你要连接的蓝牙模块,找到之后输入配对密码就可以连接了.但是如果是两个蓝牙模块直接进行配对的话,由于没有任何界面可以让你输入配对密 ...

最新文章

  1. mysql权限控制禁止用户远程连接_mysql权限控制—新建用户允许其远程连接
  2. 工作那些事(十六)面试时,面试官喜欢的非技术问题汇总
  3. Mango 的组织重构
  4. Redis、Memcache和MongoDB的区别
  5. python多线程 不在main_Python多线程
  6. 终极利器|一篇文章讲清楚Python虚拟环境
  7. Python的global语句
  8. 前端JavaScripts基础知识点
  9. 201621123080《Java程序设计》第十一周学习总结
  10. python程序设计第一章答案_Python《学习手册:第一章-习题》
  11. 基于AJAX技术的Web会议平台
  12. sql server 群集_SQL Server中的Microsoft群集
  13. c 语言与数据库技术基础教程答案,2016计算机三级《数据库技术》备考习题与答案...
  14. 网页编码utf8 gb2312 gbk的区别
  15. CentOS安装Nvidia驱动和CUDA
  16. 39.伪造重定向ICMP数据包
  17. java 单例模式实现的5种方式
  18. iOS-AppStore上线被拒的各种理由...
  19. Ubuntu20.04上安装Gnuradio3.8并且实现Pluto的配置
  20. 艾可森 mysql,国足进世界杯有戏!巴西归化球员表决心:中国对我好,我必须努力...

热门文章

  1. 3个躺着赚钱的神仙副业
  2. 新年快乐ctf_2013年新年快乐
  3. lol卡60帧解决方案 亲测有效
  4. 函数计算(FC) 使用总结
  5. z时代,汽车品牌如何玩转年轻化营销?
  6. 程序化广告(一)- CPM/CPC/CPA等基础知识
  7. 正则表达式 符号表格
  8. 漏洞复现 | win7粘滞键漏洞复现
  9. 微信小程序云函数--数据库集合使用
  10. 人情的滥用-破格获取