STM32F1驱动HC05蓝牙模块进行数据传输

本文围绕HC05蓝牙数据传输灯控实验展开。介绍蓝牙技术特点、HC05模块工作模式及AT指令。通过STM32开发板驱动HC05模块,实现与蓝牙调试助手APP连接,下发命令控制LED亮灭。给出示例代码并讲解,最后展示结果及注意模式转换细节。

HC05蓝牙数据传输灯控实验

一、 实验简介

蓝牙是一种短距离无线通信技术,目前已经应用到各个领域中,我们身边的大多数设备也已经集成了蓝牙模块,比如手机,运动手表,车载音箱,耳机等等。在智能家居中蓝牙应用的也是比较多的,蓝牙已成为接入物联网(IOT)的主要技术之一。蓝牙技术持续更新,从3.0到4.0,目前已经进入蓝牙5.0,功耗更低,速度更快,覆盖范围更广。在物联网快速发展的大背景下,蓝牙技术的应用场景更加广阔。

在这个实验中,通过STM32开发板驱动HC05模块,设置蓝牙模块的工作模式,串口参数等,实现蓝牙模块与蓝牙调试助手APP的连接,并通过蓝牙调试助手下发控制命令,无线控制LED的亮灭。

二、实验环境及设备

  • PC一台(Windows x64);

  • 远程设备:STM32开发板、HC05蓝牙模块、LED灯

    引脚连线:

    STM32开发板 HC05模块
    3V3 VCC
    GND GND
    PB10 RXD
    PB11 TXD
    PA5 EN
    STM32开发板 LED灯
    3V3 VCC
    GND GND
    PA4 IN

蓝牙技术

蓝牙技术由蓝牙技术联盟( Bluetooth Special Interest Group,BSIG)组织研发。该组织成立于1998年,成员包括爱立信、IBM、Intel、东芝和诺基亚等国际通信巨头。1998年3月,IEEE为蓝牙技术制定IEEE 802.15.1标准。蓝牙技术的物理层采用跳频扩频结合的调制技术,频段范围是2.402到2.480GHz,通信速率一般能达到1Mb/s左右。蓝牙通信中的设备有两种角色一中心设备( central)和外围设备( peripheral)。同一个蓝牙设备可以在这两种角色之间转换。一个中心设备最多可以同时和7个外围设备通信。在任意时刻,中心设备单元可以向任何一一个外围 设备单元发送信息,也可以用广播方式同时向多个外围设备发送信息。截至2020年1月,蓝牙技术联盟推出了不同的技术版本,如V1.1/1 .2/2.0/2.1/3.0/4.0/5。

蓝牙技术特点:
  1. 蓝牙模块体积很小、便于集成:由于个人移动设备的体积较小,嵌入其内部的蓝牙芯片体积就应该更小。

  2. 低功耗:蓝牙设备在通信连接状态下,有四种工作模式——激活模式、呼吸模式、保持模式和休眠模式Active模式是正常的工作状态,另外三种模式是为了节能所规定的低功耗模式。

  3. 全球范围适用:蓝牙工作在2.4GHz的ISM频段,全球大多数国家ISM频段的范围是2.4~2.4835GHz,使用该频段无需向各国的无线电资源管理部门申请许可证。

  4. 同时可传输语音和数据:蓝牙采用电路交换和分组交换技术,支持异步数据信道、三路语音信道以及异步数据与同步语音同时传输的信道。每个语音信道数据速率为64kbit/s,语音信号编码采用脉冲编码调制(PCM)或连续可变斜率增量调制(CVSD)方法。当采用非对称信道传输数据时,速率最高为721kbit/s,反向为57.6kbit/s;当采用对称信道传输数据时,速率最高为342.6kbit/s。蓝牙有两种链路类型:异步无连接链路和同步面向连接链路

  5. 具有很好的抗干扰能力:工作在ISM频段的无线电设备有很多种,如家用微波炉、无线局域网和HomeRF等产品,为了很好地抵抗来自这些设备的干扰,蓝牙采用了跳频方式来扩展频谱,将2.402~2.48GHz频段分成79个频点,相邻频点间隔1MHz。蓝牙设备在某个频点发送数据之后,再跳到另一个频点发送,而频点的排列顺序则是伪随机的,每秒钟频率改变1600次,每个频率持续625u s。

  6. 可以建立临时性的对等连接:根据蓝牙设备在网络中的角色.可分为主设备与从设备。主设备是组网连接主动发起连接请求的蓝牙设备,几个蓝牙设备连接成一个微微网时,其中只有一个主设备,其余的均为从设备。微微网是蓝牙最基本的一种网络形式,最简单的微微网是一个主设备和一个从设备组成的点对点的通信连接。通过时分复用技术,一个蓝牙设备便可以同时与几个不同的微微网保持同步,具体来说,就是该设备按照一定的时间顺序参与不同的微微网,即某一时刻参与某一微微网,而下一时刻参与另一个微微网。

  7. 成本低:随着市场需求的扩大,各个供应商纷纷推出自己的蓝牙芯片和模块,蓝牙产品价格飞速下降。

  8. 开放的接口标准:SIG为了推广蓝牙技术的使用,将蓝牙的技术标准全部公开,全世界范围内的在何单位和个人都可以进行蓝牙产品的并发,只要最终通过SIG的蓝牙产品兼容性测试,就可以推向市场。

蓝牙模块HC05简介

HC-05 嵌入式蓝牙串口通讯模块具有两种工作模式:命令响应工作模式和自动连接工作模式,在自动连接工作模式下模块又可分为主(Master)、从(Slave) 和回环(Loopback)三种工作角色。当模块处于自动连接工作模式时,将自动根据事先设定的方式连接,进行数据传输;当模块处于命令响应工作模式时,用户可向模块发送各种 AT 指令,为模块设定控制参数或发布控制命令。通过控制模块外部引脚EN(PIO11)输入高低电平,可以实现模块工作状态的转换。下图为HC-05蓝牙模块实物图。

自动连接工作模式:
角色 说明
主(Master) 在主模式下,蓝牙模块充当主机,负责主动扫描、连接和控制一个或多个从设备,不可被其他设备搜索到
从(Slave) 在从模式下,蓝牙模块充当从设备,等待主设备的连接请求,不能主动连接其他设备
回环(Loopback) 在回环模式下,蓝牙模块可以将接收到的数据回送到发送方,允许模块自我测试,既可以连接其他设备,也可以被其他设备搜索连接
HC-05蓝牙模块在AT指令模式与透传模式切换方法:

①模块上电之前按住按钮,进入AT模式,指示灯2s闪烁一次,发送AT+RESET命令或者重新上电进入数据透传模式

②模块上电之后,要发送AT指令的时候,先按住按钮,直到指令发送完为止,松开手之后又进入了数据透传模式

③模块上电之后,EN引脚(PIO11)连接高电平,此时进入AT模式,之后将其置为低电平,输入命令AT+RESET,退出AT 指令模式,进入数据透传模式

综上所诉,其实在每次要发送AT指令的时候,必须确保EN引脚处于高电平即可,数据透传模式,必须保证EN引脚处于低电平。

以上三种方式都可以完成模式切换,在实验的过程中,我们不想要手动控制它的模式转换,因此我们选择第三种方式,来控制它的工作模式,后面在具体的代码中,我们就需要按照要求对其EN引脚进行相应的配置即可,结合下面的原理图可以更好的理解其模式转换的的设置。
请添加图片描述

常用AT指令解析:

在本次实验中,我们只使用到其中的部分AT指令,感兴趣的同学可以自行尝试其他的AT指令以及其他的模式哦。

序号 指令 指令说明 返回值
1
评论 37
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NoTB

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值