一文读懂HC-05蓝牙模块

2024-06-17 13:20
文章标签 hc 05 蓝牙 读懂 模块 一文

本文主要是介绍一文读懂HC-05蓝牙模块,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

       在当今通信模式多种多样的情况下,无线传输越来越受到广大开发者的欢迎。其中蓝牙技术更是在现代社会中扮演着至关重要的角色,而其中蓝牙透传模块是目前最简单也是最普遍的一种蓝牙通信模块。HC-05蓝牙模块作为其中一种最常见的蓝牙模块,在各个领域中得到了广泛的应用。本文将深入探讨HC-05蓝牙模块的原理、特点以及应用,帮助开发者或有兴趣的同学更好地了解这一技术。

一、HC05的基本原理和特点

基本原理

HC05蓝牙模块是一种基于蓝牙2.0协议标准的蓝牙串口模块,工作频率为2.4GHz。其原理主要包括蓝牙通信协议、串口通信协议以及蓝牙模块内部硬件结构。

所谓透传即蓝牙接收到什么信息,直接不加任何附加内容,原文不变的转发出去。这样极大的提高了其兼容性,再加上其设计的稳定性和可靠性。使其广泛受到开发者的欢迎。

特点:

成本低廉:HC05是一种价格实惠的蓝牙模块,适用于各种成本敏感型的项目。
易于使用:HC05支持标准的串口通信协议,使用简单,适合初学者快速上手。同时,它支持AT指令,用户可根据需要更改角色(主、从模式)以及串口波特率、设备名称等参数,使用灵活。

通信性能:

调制方式:GFSK
最大发射功率:4dBm
接收灵敏度:-85dBm
通信距离:10米(板载PCB天线)
支持的波特率:9600, 19200, 38400, 57600, 115200, 230400, 460800
易于开发:HC05蓝牙模块为主从一体的蓝牙串口模块,可为您的项目添加双向(全双工)无线功能。它可用于两个具有串行功能的微控制器之间的通信,也可用于通过微控制器控制任何蓝牙设备。
数据安全:在数据传输过程中,HC05蓝牙模块需要通过一定的加密措施来确保数据的安全性,避免数据被非法攻击者攻击或窃取。
适用场所:HC05蓝牙模块广泛应用于智能家居应用、远程控制、数据记录应用、机器人、监控系统等领域。

二、HC05硬件接线

需要USB转TTL模块或者我们常用的下载器,一般都带串口功能,如何识别呢。只要看到下载器有TX或者RX就可以驱动蓝牙模块。最小连线需要四根即可。电源一般用5V驱动,GND直连,RX和TX两根通讯线需要交叉相连。

VCC: 接电源的正极(5V驱动)

GND:接电源的GND地

RXD:接收端,一般表示为自己的接收端,正常通信必须接另一个设备的TXD。

TXD: 发送端,一般表示为自己的发送端,正常通信必须接另一个设备的RXD

STATE:状态端,可直接连接LED,观察蓝牙工作状态。

EN:使能端,正常为配置AT模式时接高电平,或者也可以长按模块上唯一的按键,再上电也可进入AT模式。

自收自发:正常通信时RXD接其他设备的TXD,因此如果要接收自己发送的数据顾名思义,也就是自己接收自己发送的数据,即自身的TXD直接连接到RXD,用来测试本身的发送和接收是否正常,是最快最简单的测试方法,当出现问题时首先做该测试确定是否产品故障。也称回环测试。

上面为HC-05模块的电路原理图:

1、核心模块使用HC-05从模块,引出接口包括VCC,GND,TXD,RXD,KEY引脚、蓝牙连接状态引出脚(STATE),未连接输出低,连接后输出高
2、led指示蓝牙连接状态,快闪表示没有蓝牙连接,慢闪表示进入AT模式,双闪表示蓝牙已连接并打开了端口
3、底板设置防反接二极管,带3.3V LDO,输入电压3.6~6V,未配对时电流约30mA,配对后约10mA,输入电压禁止超过7V!
4、接口电平3.3V,可以直接连接各种单片机(51,AVR,PIC,ARM,MSP430等),5V单片机也可直接连接,无需MAX232也不能经过MAX232!
5、空旷地有效距离10米(功率等级为CLASS 2),超过10米也是可能的,但不对此距离的连接质量做保证
6、配对以后当全双工串口使用,无需了解任何蓝牙协议,支持8位数据位、1位停止位、可设置奇偶校验的通信格式,这也是最常用的通信格式,不支持其他格式。

据有同学分析在EN端加入高电平也无法启动模块的AT模式。而真正的AT配置模式其实是需要对PIO引脚加入高电平才可以。这里有兴趣的同学需要进一步研究。

三、指令介绍

接下来连接模块,启动AT模式,打开电脑端的串口助手,就可以进行对模块配置了。配置的指令很丰富,具体大家可以查询相关手册。

常用查询AT指令如下:

AT----返回OK,证明模块正常

AT+NAME?----返回模块名称

AT+PSWD?----查看配对码

AT+UART? ----查看串口参数

AT+VERSION? ----查看版本信息

AT+ADDR?----查看蓝牙地址

常用配置AT指令如下:

AT+NAME=Bluetooth----配置蓝牙模块名称,也可以不打引号,返回OK
AT+PSWD=1234----设置蓝牙配对码
AT+UART=115200,1,0----配置无线通信的波特率,停止位,校验位
AT+RESET----重启模块

由于购买的模块品牌不同,可能会出现查询名称无法收到返回信息的现象。百度后得出大神的经验即:在AT模式下,再长按模块上的按键,然后发送AT+NAME?发现就会得到应该得到的返回信息了,同样配置名称时候也需要长安模块上的按键。

这篇关于一文读懂HC-05蓝牙模块的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1069557

相关文章

探索蓝牙协议的奥秘:用ESP32实现高质量蓝牙音频传输

蓝牙(Bluetooth)是一种短距离无线通信技术,广泛应用于各种电子设备之间的数据传输。自1994年由爱立信公司首次提出以来,蓝牙技术已经经历了多个版本的更新和改进。本文将详细介绍蓝牙协议,并通过一个具体的项目——使用ESP32实现蓝牙音频传输,来展示蓝牙协议的实际应用及其优点。 蓝牙协议概述 蓝牙协议栈 蓝牙协议栈是蓝牙技术的核心,定义了蓝牙设备之间如何进行通信。蓝牙协议

iptables(7)扩展模块state

简介         前面文章我们已经介绍了一些扩展模块,如iprange、string、time、connlimit、limit,还有扩展匹配条件如--tcp-flags、icmp。这篇文章我们介绍state扩展模块  state          在 iptables 的上下文中,--state 选项并不是直接关联于一个扩展模块,而是与 iptables 的 state 匹配机制相关,特

python 在pycharm下能导入外面的模块,到terminal下就不能导入

项目结构如下,在ic2ctw.py 中导入util,在pycharm下不报错,但是到terminal下运行报错  File "deal_data/ic2ctw.py", line 3, in <module>     import util 解决方案: 暂时方案:在终端下:export PYTHONPATH=/Users/fujingling/PycharmProjects/PSENe

[FPGA][基础模块]跨时钟域传播脉冲信号

clk_a 周期为10ns clk_b 周期为34ns 代码: module pulse(input clk_a,input clk_b,input signal_a,output reg signal_b);reg [4:0] signal_a_widen_maker = 0;reg signal_a_widen;always @(posedge clk_a)if(signal_a)

蓝牙ble数传芯片推荐,TD5327A芯片蓝牙5.1—拓达半导体

蓝牙数传芯片TD5327A芯片是一款支持蓝牙BLE的纯数传芯片,蓝牙5.1版本。芯片的亮点在于性能强,除了支持APP端直接对芯片做设置与查询操作,包括直接操作蓝牙芯片自身的IO与PWM口以外,还支持RTC日历功能,可以做各类定时类操作,极大丰富了蓝牙在IOT产品中的应用。此外,在数传应用方面,此芯片支持串口流控功能,提大提高了数据传输的稳定与可靠性。 拓达蓝牙芯片特点: 支持RTC日历功能,超

uniapp 低功耗蓝牙BLE分包

ble.js // 分包写入蓝牙async sendWriteBLECharacteristicValue(deviceId,serviceId,writeCharacteristicId,readCharacteristicId,buffer,success, // 成功回调failure, // 失败回调) {const offset = 500; // 偏移量let pos = 0;

spring-boot-maven-plugin多模块install问题

一、问题描述:   项目分多个模块,open-eureka注册中心、open-provider服务提供者、open-common公共部分,provider依赖common。父pom使用spring-boot-maver-plugin插件,项目直接运行Main主类没问题,但是install报common中的类找不到符号. 二、查找问题:   spring-boot-maven-plugin 打

上位机图像处理和嵌入式模块部署(mcu和swd接口)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】         最近学习mcu的时候,接触了不少调试器,这里面有daplink、st-link v2、j-link v9。虽然模块的形状可能不太一样,但是硬件的连线都差不多,都是mcu上的3.3v、clk、dio和gnd四根连线。出于好奇,今天花了点时间了解了一下debug port、sw

LSSS算法实现,基于eigen和pbc密码库【一文搞懂LSSS,原理+代码】

文章目录 一. LSSS简介1.1 概述1.2 线性秘密分享方案(LSSS)与 Shamir的秘密分享方案对比LSSS1.2.1 Shamir的秘密分享方案1.2.2 线性秘密分享方案(LSSS)1.2.3 主要区别 二. 基于矩阵的LSSS加解密原理分析2.1 LSSS矩阵构造2.1.1 定义2.1.2 规则 12.1.3 规则 22.1.4 规则 32.1.5 形成线性共享矩阵M 2.

使用import和exec运行模块文件的异同

使用import和exec运行模块文件的异同 实例代码 #script1.pyimport sysprint(sys.platform)x = 'span'print(x*8) 在cmd中 >>> import script1win32spanspanspanspanspanspanspanspan >>> exec(open('script1.py').read())win