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

蓝牙模块(HC-05)与手机连接,蓝牙与蓝牙互联,电脑通过蓝牙控制单片机

任务一:蓝牙与手机连接

所用模块

HC-05蓝牙模块,USB TO TTL手机APP为SPP蓝牙串口

第一章:蓝牙模块配置

一:HC-05与USB TO TTL连接

EN:为使能引脚,一般不接

VCC:接USB TO TTL模块的5v脚(3.3v不亮)

GND:接USB TO TTL模块的GND脚

TXD:接USB TO TTL模块的RXD脚

RXD:接USB TO TTL模块的TXD脚

STATE:状态引脚,一般不接

二:进入AT模式

按住按键的同时插上USB TO TTL,指示灯1S慢闪

三:设置参数

进入AT模式后,电脑连接串口助手,设置波特率为38400(AT模式下,默认)

依次发送以下指令,返回均为OK

1)AT:进入AT模式

2)AT+ORGL:恢复出厂设置,以防止该模块被其他人使用过

3)AT+PSWD=“XXXX”:设置匹配密码,最低4位(AT+PSWD?:查看蓝牙模块密码)

4)AT+NAME=XXX:设置蓝牙模块名字(AT+NAME?:查看蓝牙模块名字)

5)AT+UART=115200,0,0:设置通信波特率,但不是AT模式波特率,波特率设置为115200,停止位和校验位为0(AT+UART?:查看波特率)

第二章:手机APP下载以及配置

一:手机应用商店下载SPP蓝牙串口APP

测试过几款应用,该应用比较好用

二:不按按键重新连接蓝牙模块

进入正常工作模式,此时波特率为115200,停止位和校验位为0

三:连接蓝牙

打开SPP蓝牙串口APP连接蓝牙即可发送接受数据

在这里插入图片描述

== 注意:==串口助手设置波特率为115200,手机APP设置为utf-8编码模式

任务二:蓝牙模块之间的相互通信

所用模块

两个HC-040蓝牙模块,两个USB TO TTL

第一章:蓝牙模块配置

一:连接HC-05与USB TO TTL(两个蓝牙均是)

EN:为使能引脚,一般不接

VCC:接USB TO TTL模块的5v脚(3.3v不亮)

GND:接USB TO TTL模块的GND脚

TXD:接USB TO TTL模块的RXD脚

RXD:接USB TO TTL模块的TXD脚

STATE:状态引脚,一般不接

二:进入AT模式(两个蓝牙均是)

按住按键的同时插上USB TO TTL,指示灯1S慢闪

三:设置参数

进入AT模式后,电脑连接串口助手,设置波特率为38400(AT模式下,默认)

(1)从蓝牙模块配置:

依次发送以下指令,返回均为OK

1)AT:进入AT模式

2)AT+ORGL:恢复出厂设置,以防止该模块被其他人使用过

3)AT+PSWD=“XXXX”:设置匹配密码,最低4位(AT+PSWD?:查看蓝牙模块密码)

4)AT+NAME=XXX:设置蓝牙模块名字(AT+NAME?:查看蓝牙模块名字)

5)AT+UART=115200,0,0:设置通信波特率,但不是AT模式波特率,波特率设置为115200,停止位和校验位为0(AT+UART?:查看波特率)

6)AT+ROLE=0:设置为从模式(0为从模式,2为回环角色(远程蓝牙)。AT+ROLE?:查看模式)

7)AT+ADDR?:查看从机地址,复制该地址用于主机连接,我用的从机地址为(98d3:91:fd3eb3)

(1)主蓝牙模块配置:

依次发送以下指令,返回均为OK

1)AT:进入AT模式

2)AT+ORGL:恢复出厂设置,以防止该模块被其他人使用过

3)AT+PSWD=“XXXX”:设置匹配密码,最低4位(AT+PSWD?:查看蓝牙模块密码)

4)AT+NAME=XXX:设置蓝牙模块名字(AT+NAME?:查看蓝牙模块名字)

5)AT+UART=115200,0,0:设置通信波特率,但不是AT模式波特率,波特率设置为115200,停止位和校验位为0(AT+UART?:查看波特率)

6)AT+ROLE=1:设置为主模式(0为从模式,2为回环角色(远程蓝牙)。AT+ROLE?:查看模式)

7)AT+BIND=98d3,91,fd3eb3:连接从机,(98d3,91,fd3eb3)为从机地址,“:”要变为”,“,(AT+BIND?;现连接地址)

8)AT+CMODE=0:当前连接模式(0为指定地址连接,1为任意地址连接模式,2为回环角色,默认为0)

第二章:蓝牙连接

一:不按按键重新连接蓝牙模块

进入正常工作模式,此时波特率为115200,停止位和校验位为0

二:蓝牙相互连接

观察蓝牙模块隔1S同时闪2下为连接成功,此时便可进行数据传递

==注:==数据传递过程为:电脑👉USB TO TTL👉主蓝牙👉从蓝牙👉USB TO TTL👉电脑

在这里插入图片描述

注意波特率为115200

任务三:蓝牙控制单片机LED灯亮灭(HAL库)

所用模块

两个HC-040蓝牙模块,两个USB TO TTL,STM32F103C8T6开发板

第一章:模块配置

同任务二

第二章:代码部分

一:STM32CubeMAX配置

在这里插入图片描述

二:keil5 mdk-arm配置
(1):main文件

1)

在这里插入图片描述

设一个参数,用来接受串口发送的数据

2)

在这里插入图片描述

加入HAL_UART_Receive_IT(&huart1,&g_ucUsart1ReceiveData,1);开启串口中断

(2)stm32f1xx_it.c文件

1)

在这里插入图片描述

调用参数g_ucUsart1ReceiveData接收数据

2)在这里插入图片描述
使用中断回调函数发送接受数据,可以保证LED状态的实时性

相关文章:

蓝牙模块(HC-05)与手机连接,蓝牙与蓝牙互联,电脑通过蓝牙控制单片机

任务一:蓝牙与手机连接 所用模块: HC-05蓝牙模块,USB TO TTL手机APP为SPP蓝牙串口 第一章:蓝牙模块配置 一:HC-05与USB TO TTL连接 EN:为使能引脚,一般不接 VCC:接USB TO TTL模…...

安装 eslint 配置指南 及 遇到的一些问题记录

前端eslint配置指南 背景 当前前端项目风格混乱,每个人有自己的开发习惯,有自己的格式化习惯,不便于项目的风格统一,不利于代码维护有的项目eslint没有用起来,没有起到规范代码的作用,导致出现一些基础代码…...

trzsz支持文件拖动到终端进行上传,类似lrzsz

考虑到 LapTop -> Host 1 -> Host 2 -> Docker -> TMUX,使用scp或sftp命令不方便;使用rz和sz命令就会方便很多,但是却又与 TMUX 不兼容(备注:Tmux是一个终端复用工具,允许用户在一个终端窗口中…...

Doris DDL和DML

1 创建用户和数据库 1)创建test用户 mysql -h hadoop1 -P 9030 -uroot -p create user test identified by test; 2)创建数据库 create database test_db; 3)用户授权...

NewStarCTF2023 Reverse方向Week3 ez_chal WP

分析 题目&#xff1a;ez_chal 一个XTEA加密&#xff0c; V6是key&#xff0c;v5是输入&#xff0c;然后v7就是密文。 看了v6&#xff0c;要用动调。 ELF文件用ida的远程调试。 然后在kali上输入长度为32的flag 全部转换成dd 再提取密文。 EXP #include <stdio.h>…...

程序员如何“升级打怪”?我用了这几个“歪瓜”!

不会吧&#xff1f;不会吧&#xff1f;计算机本命专业出身、以及半路出家的&#xff0c;混了几年了&#xff0c;还在新手村&#xff1f;对得起这几年摸的鱼&#xff1f; 思考一下&#xff1a;如何从小白一跃为大师&#xff0c;从此走上人生巅峰、迎娶白富美&#xff1f;变强只…...

模具制造厂ERP都有哪些牌子?模具制造厂ERP有什么用

模具制造通常会涉及物料领用、成品入库、工艺流转、投入水口、配方、模具、生产啤数统计等众多环节&#xff0c;各个环节数据的实时和准确传递&#xff0c;有利于企业清晰掌握订单生产进度&#xff0c;及时调整制造策略等。 有些模具制造工厂采用传统的管理模式&#xff0c;随…...

FPGA语法相关知识合集

一.相关概念 1.四种结构说明语句 2.initial 与 always 的异同点 3.task 与 function 的3个不同点 4.task的语法结构(定义及调用) 5.function的语法结构(定义及调用) 6.function 的一个必须有和一个必须没有&#xff0c;使用规则 7.自动&#xff08;递归&#xff09;函数…...

2023年Java核心技术大会(Core Java Week 2023)-核心PPT资料下载

一、峰会简介 人工智能在22年、23年的再次爆发让Python成为编程语言里最大的赢家&#xff1b;云原生的持续普及令Go、Rust等新生的语言有了进一步叫板传统技术体系的资本与底气。我们必须承认在近几年里&#xff0c;Java阵营的确受到了前所未有的挑战&#xff0c;出现了更多更…...

Vue3 源码解读系列(十五)——编译

编译 web 模式的编译主要做了 3 件事&#xff1a; 解析 template 生成 ASTAST 转换生成代码 /*** web 编译* param {string} template - 待编译的模板字符串* param {string} options - 配置对象*/ function compile(template, options {}) {return baseCompile(template, …...

gitlab安装配置及应用

安装 ##安装依赖 yum install -y curl policycoreutils-python openssh-server perl#上传包 rz gitlab-jh-16.5.2-jh.0.el7.x86_64.rpm 安装 yum install gitlab-jh-16.0.3-jh.0.el7.x86_64.rpm 初始化并启动 # 以下两种方法都可以配置访问地址&#xff0c;第一种需要在yum安…...

Docker Volume: 实现容器间数据共享与持久化的利器

文章目录 Docker Volume的作用Docker Volume与容器内数据的比较优势劣势 Docker Volume的创建和管理创建Docker Volume管理Docker Volume 演示Docker Volume的挂载Docker Volume的生命周期安全性考虑与Docker Volume应用场景Docker Volume与多容器协作容器迁移与Docker Volume未…...

redis问题归纳

1.redis为什么这么快&#xff1f; &#xff08;1&#xff09;基于内存操作&#xff1a;redis的所有数据都存在内存中&#xff0c;因此所有的运算都是内存级别的&#xff0c;所以性能比较高 &#xff08;2&#xff09;数据结构简单&#xff1a;redis的数据结构是专门设计的&…...

改进YOLOv8:结合ConvNeXt V2骨干网络!使用MAE共同设计和扩展ConvNet

🗝️YOLOv8实战宝典--星级指南:从入门到精通,您不可错过的技巧   -- 聚焦于YOLO的 最新版本, 对颈部网络改进、添加局部注意力、增加检测头部,实测涨点 💡 深入浅出YOLOv8:我的专业笔记与技术总结   -- YOLOv8轻松上手, 适用技术小白,文章代码齐全,仅需 …...

基于SpringBoot+Vue的新能源汽车充电桩管理系统

基于SpringBootVue的新能源汽车充电桩管理系统的设计与实现~ 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBootMyBatisVue工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 主页 充电桩详情 管理员界面 摘要 本项目是基于Spring Boot 和 …...

Linux进程通信——消息队列

概念 消息队列&#xff0c;是消息的链接表&#xff0c;存放在内核中。一个消息队列由一个标识符(即队列ID)来标识。 特点 1.消息队列是面向记录的&#xff0c;其中的消息具有特定的格式以及特定的优先级。&#xff08;消息队列是结构体&#xff09; 2.消息队列独立于发送与接…...

ArcGIS教程——ArcGIS工具-按线分割面

功能说明 在ArcGIS数据处理过程中&#xff0c;有时需要沿线把面要素分割开&#xff0c;可以使用高级编辑中的分割面&#xff08;Cut Polygon&#xff09;工具。那么&#xff0c;如果要用线图层分割面图层该怎么办呢&#xff1f;地理遥感生态网平台开发了一个自定义模型工具。它…...

C语言进阶之冒泡排序

✨ 猪巴戒&#xff1a;个人主页✨ 所属专栏&#xff1a;《C语言进阶》 &#x1f388;跟着猪巴戒&#xff0c;一起学习C语言&#x1f388; 目录 前情回顾 1、回调函数 2、冒泡排序 3、库函数qsort cmp&#xff08;sqort中的比较函数&#xff0c;需要我们自定义&#xff09; …...

零代码编程:用ChatGPT将SRT字幕文件批量转为Word文本文档

一个文件夹中有多个srt视频字幕文件&#xff0c;srt文件里面有很多时间轴&#xff1a; 现在想将其批量转为word文档&#xff0c;去掉里面与字符无关的时间轴&#xff0c;在ChatGPT中输入提示词&#xff1a; 你是一个Python编程专家&#xff0c;要完成一个批量将SRT字幕文件转为…...

力扣刷题第二十六天--二叉树

前言 昨天看总决赛&#xff0c;差距太大&#xff0c;看的没意思&#xff0c;真的是一点变通没有啊。难受&#xff0c;没有写题的状态了。大概率是最后一次看比赛了&#xff0c;青春已复过&#xff0c;白日忽相催。召唤师要和生活对线了。英雄们的语音&#xff0c;台词&#xf…...

2026-05-09:不同元素和至少为 K 的最短子数组长度。用go语言,给定一个整数数组 nums 和一个整数 k。你需要在数组中找一个连续的非空子数组,使得这个子数组里不同元素的种类数对应的取值之

2026-05-09&#xff1a;不同元素和至少为 K 的最短子数组长度。用go语言&#xff0c;给定一个整数数组 nums 和一个整数 k。你需要在数组中找一个连续的非空子数组&#xff0c;使得这个子数组里不同元素的种类数对应的取值之和&#xff08;也就是&#xff1a;每个数只算一次&am…...

如何构建支持多账号并发的企微 API 分布式管理系统

前言&#xff1a; 当企业规模扩大&#xff0c;需要管理数十个甚至上百个企微号时&#xff0c;单机脚本往往力不从心。本文将分享如何利用 QiweAPI 结合消息队列&#xff08;Redis&#xff09;&#xff0c;构建一个高可用、分布式账号管理架构。 1. 核心架构图 系统分为三层&am…...

收藏 | AI赋能产品经理:从重复劳动到战略决策,效率翻倍秘籍

本文针对AI产品经理面临的工作困境&#xff0c;提出通过AI工具承接专业方法论&#xff0c;实现产品全流程效率提升的策略。文章详细拆解了从需求收集、分析、分类到优先级排序、业务建模、原型设计、需求撰写、验收标准制定等核心节点的AI应用方法&#xff0c;强调AI作为方法论…...

Next.js + TypeScript 企业级项目模板:开箱即用的工程化最佳实践

1. 项目概述&#xff1a;一个面向现代Web开发的坚实起点如果你正在寻找一个能让你快速上手、架构清晰且生产就绪的Next.js TypeScript项目模板&#xff0c;那么jpedroschmitz/typescript-nextjs-starter这个仓库很可能就是你需要的那个“瑞士军刀”。这不是一个简单的“Hello …...

在多轮对话场景下体验taotoken路由策略对api调用稳定性的提升

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 在多轮对话场景下体验 Taotoken 路由策略对 API 调用稳定性的提升 效果展示类&#xff0c;分享在构建需要长时间会话的 AI 应用时&…...

【车辆】大规模连接车辆协作自动化的并行优化算法附matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长毕业设计辅导、数学建模、数据处理、程序设计科研仿真。 &#x1f34e;完整代码获取 定制创新 论文复现点击&#xff1a;Matlab科研工作室 &#x1f447; 关注我领取海量matlab电子书和数学建模资料 &…...

【布局优化】基于改进SLP与遗传算法的梁场布局优化附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长毕业设计辅导、数学建模、数据处理、程序设计科研仿真。 &#x1f34e;完整代码获取 定制创新 论文复现点击&#xff1a;Matlab科研工作室 &#x1f447; 关注我领取海量matlab电子书和数学建模资料 &…...

英特尔移动战略失败解析:技术路径依赖与生态博弈的教训

1. 从一则旧闻看科技巨头的战略转型之痛周一清晨的硅谷&#xff0c;空气里弥漫的不仅是咖啡因&#xff0c;还有无形的压力。2016年4月5日&#xff0c;对于时任英特尔无线业务负责人的艾莎埃文斯来说&#xff0c;这个周一格外艰难。一则来自彭博社的报道&#xff0c;将她离职的消…...

扣子实战:告别剪辑熬夜!Seedance2.0 联动扣子,一键生成专业口播电商带货短视频

大家好&#xff0c;我是专注于AI的咕咕姐。 CozeSeedance一键生成爆火电商口播带货短视频做电商、玩短视频的朋友&#xff0c;是不是都有同一个痛点&#xff1f; 想做带货口播视频&#xff0c;没人出镜、不会写脚本、不懂剪辑配音&#xff0c;花钱找人拍成本高&#xff0c;自己…...

Token需求狂飙千倍,22亿热钱涌向这家AGI Infra头号玩家

衡宇 发自 凹非寺量子位 | 公众号 QbitAI在今年的GTC大会上&#xff0c;黄仁勋宣告&#xff1a;英伟达已不再局限于一家芯片或 GPU 公司&#xff0c;而是全面转型为全栈式 AI 基础设施公司。这让“AI基础设施”再度站在了行业的风口中央。事实上&#xff0c;早在风口来临之前&a…...