一文读懂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?发现就会得到应该得到的返回信息了,同样配置名称时候也需要长安模块上的按键。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/854210.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

25. 一个双高斯照相物镜的设计

导论: 双高斯照相物镜的设计思想,当β-1时,由于其对称,彗差、畸变和倍率色差自动校正为0,利用中间两块厚透镜可以校正场曲,选取合适的光阑位置可以校正像散,在厚透镜中加胶合面使每个半部校正位…

High Performance Design for HDFS with Byte-Addressability of NVM and RDMA——论文泛读

ICS 2016 Paper 分布式元数据论文阅读笔记整理 问题 非易失性存储器(NVM)提供字节寻址能力,具有类似DRAM的性能和持久性,提供了为数据密集型应用构建高通量存储系统的机会。HDFS(Hadoop分布式文件系统)是…

2024第15届东莞国际电子智造及微电子展览会

2024第15届东莞国际电子智造及微电子展览会 The 15th Dongguan International Electronic Intelligent Manufacturing and Microelectronics Exhibition in 2024 时间:2024年11月18-20日 地点:广东现代国际展览中心 详询主办方陆先生 I38&#xff0…

vuejs3 pinia持久化存储

pinia地址: 开始 | Pinia 插件地址: 快速开始 | pinia-plugin-persistedstate 先安装pinia npm install pinia 再安装插件 安装pinia后,再安装这个插件 npm i pinia-plugin-persistedstate 全局中引入持久化插件 在src目录下的main…

react传参有哪些常用方法?--Props,Context API和Redux全局管理

在 React 中,父子组件之间的传参主要通过以下几种方式实现: 1) Props 传递:父子传参 2)Context API: 跨多层组件传递数据 3) Redux: 全局状…

基于Django的博客系统之增加手机验证码登录(九)

需求文档 概述 实现基于Redis和第三方短信服务商的短信验证码登录功能。用户可以通过手机号码获取验证码,并使用验证码进行登录。 需求细节 用户请求验证码 用户在登录页面输入手机号码并请求获取验证码。系统生成验证码并将其存储在Redis中,同时通过…

【Android】安卓开发的前景

人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 目录 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌…

VMware虚拟机-Ubuntu设置共享文件夹(超详细)

目录 前言1. 其他教程2. 创建共享文件夹3. VMware 设置4. Ubuntu 设置4.1 创建 hgfs 目录:4.2 挂载共享目录4.3 验证是否挂载成功4.4 设置开机自动挂载创作不易,禁止转载抄袭!!!违者必究!!! 创作不易,禁止转载抄袭!!!违者必究!!! 创作不易,禁止转载抄袭!!!违…

韩顺平0基础学java——第24天

p484-508 System类 常见方法 System.arrycopy(src,0,dest,1,2); 表示从scr的第0个位置拷贝2个,放到目标数组索引为1的地方。 BigInteger和BigDecimal类 保存大整数和高精度浮点数 BigInte…

Springboot 整合 Flowable(一):使用 flowable-UI 绘制流程图

目录 一、Flowable简介 二、Flowable 与 Activiti 的区别 三、流程图的绘制(以员工请假流程图为例) 1、下载 flowable 的压缩包: 2、启动包中的 tomcat 3、登录页面 4、绘制结束,导出 bpmn20.xml文件 一、Flowable简介 Fl…

老胡的周刊(第146期)

老胡的信息周刊[1],记录这周我看到的有价值的信息,主要针对计算机领域,内容主题极大程度被我个人喜好主导。这个项目核心目的在于记录让自己有印象的信息做一个留存以及共享。 🎯 项目 pingvin-share[2] Pingvin Share 是一个可自…

【机器学习】图神经网络:深度解析图神经网络的基本构成和原理以及关键技术

🔥 个人主页:空白诗 文章目录 引言一、图数据及其应用场景1.1 图数据的定义和特征1.2 常见的图数据结构1.2.1 社交网络1.2.2 知识图谱1.2.3 分子结构1.2.4 交通网络 1.3 图数据在不同领域的应用实例1.3.1 社交网络中的推荐系统1.3.2 知识图谱中的信息检索…

StarRocks详解

什么是StarRocks? StarRocks是新一代极速全场景MPP数据库(高并发数据库)。 StarRocks充分吸收关系型OLAP数据库和分布式存储系统在大数据时代的优秀研究成果。 1.可以在Spark和Flink里面处理数据,然后将处理完的数据写到StarRo…

SQL 表连接(表关联)

目录 一、INNER JOIN(内连接,等值连接) 二、LEFT JOIN(左连接) 三、RIGHT JOIN(右连接): 一、INNER JOIN(内连接,等值连接) 用途:获取两个表中字段能匹配上…

如何解决 Git 默认不区分文件名大小写和同名文件共存?

修改文件命名的大小写,不会有 git 记录 本文章的例子:将 demo.vue 文件命名改为 Demo.vue 1、在Git项目路径下执行该命令 git config core.ignorecase false (1)以上方法可以实现 git 区分 demo.vue 与 Demo.vue 文件&#xff0…

功能强大的多功能文档转换工具Neevia Document Converter Pro 7.5.0.241

Neevia Document Converter Pro是一款功能强大的Windows软件,旨在将文档转换为各种格式,包括PDF、TIFF、JPEG和许多其他格式。该程序专为在企业环境中使用而设计,提供文档转换和处理过程的自动化,这使其成为处理大量文档的组织的***工具。 Neevia Document Converter Pro的…

PHP7 数组的实现

前提 PHP版本:php7.0.29使用到的文件 php-src/Zend/zend_types.hphp-src/Zend/zend_hash.hphp-src/Zend/zend_hash.cphp-src/Zend/zend_string.h 本文 是《PHP7底层设计和源码实现》第5章 数组的实现,学习笔记 功能分析 整体结构 bucket 里面增加h字段…

欣九康诊疗系统助力诊所向数字化转型

数字化已经成为各行各业转型的重点方向,而为了不被时代所淘汰,医疗机构也势必要紧跟潮流,本人作为门诊部的负责人深知医疗机构要想实现数字化转型那么拥有一款便捷实用的医疗平台是必不可少的,近几年,随着国家大力支持…

动态 SQL

动态 SQL 是 MyBatis 的强大特性之一&#xff0c;能够完成不同条件下不同的 sql 拼接。也就是说执行的 SQL 语句并不是固定的&#xff0c;而是不同人的不同操作执行的语句会有所差异。MyBatis 通过使用 标签 的方式来实现这种灵活性的。 <if>标签 例如在有一些网站进行…

【可控图像生成系列论文(一)】MimicBrush 港大、阿里、蚂蚁集团合作论文解读

背景&#xff1a;考虑到用户的不同需求&#xff0c;图像编辑是一项实用而富有挑战性的任务&#xff0c;其中最困难的部分之一是准确描述编辑后的图像应该是什么样子。 创新点&#xff1a;在本文作者提出了一种新的编辑形式&#xff0c;称为模仿编辑&#xff0c;以帮助用户更方…