认识经典蓝牙

news2024/9/21 12:21:21

现在BLE很流行,本人接触BLE也更多,而对经典蓝牙BR/EDR的开发知之甚少,而且网上关于经典蓝牙的资料也很少,所以,想要有更多了解。

参考:

https://www.nordicsemi.cn/news/bluetoothle-and-bluetoothclassic/

注意区别于BLE 

大家开发蓝牙应用的时候,一定要搞清楚自己是要开发低功耗蓝牙应用还是经典蓝牙应用,两者的应用场景是不同的。一般而言,经典蓝牙主要应用在蓝牙电话接听,蓝牙耳机,蓝牙音箱等场合,低功耗蓝牙应用在可穿戴设备,IoT智能设备,健身设备,蓝牙鼠标键盘等电池供电场合。

当然,经典蓝牙也可以用电池供电,但LE对电池的要求更低,甚至可以用纽扣电池供电,而续航时间却很长,有的LE设备可以达到几年。下图对经典蓝牙和低功耗蓝牙的典型应用场景进行了总结。

!!!需要引起大家注意的是,经典蓝牙和低功耗蓝牙两者物理层调制解调方式是不一样的,所以低功耗蓝牙设备和经典蓝牙设备两者之间是不能相互通信的,选型的时候千万不要搞混,如果主设备是低功耗蓝牙设备,从设备也必须是低功耗蓝牙设备;同样,经典蓝牙的从设备也只能和经典蓝牙的主设备进行通信。

!!!不过市场上还有一种双模蓝牙设备,即同时支持低功耗蓝牙和经典蓝牙,比如我们天天用到的手机,手机可以和经典蓝牙设备通信,也可以和低功耗蓝牙设备通信,如前所述,这不代表低功耗蓝牙设备可以和经典蓝牙设备通信,其实手机使用了分时机制来达到同时和低功耗蓝牙设备以及经典蓝牙设备通信的目的,即手机让双模蓝牙芯片不断地在低功耗蓝牙模式和经典蓝牙模式之间进行切换,以同时支持低功耗蓝牙设备和经典蓝牙设备。

认识经典蓝牙

先认识下BR/EDR的基本概念:https://blog.csdn.net/cocavon/article/details/78631308

有个图解可参考:https://blog.csdn.net/weixin_44344393/article/details/125466990

看一下下方的过程图解

经典蓝牙的通信有点像socket通信。

建立连接,在程序里的体现就是设置好了一些标志位来使得接收设备能够正确地获取数据。

这其中应该还有一些心跳机制。

经典蓝牙(BR/EDR)的连接过程参考:

https://blog.csdn.net/wwws1994/article/details/112260619

其实,看不大懂。。。。。。

A2DP(Advanced Audio Distribution Profile)是蓝牙高音质音频传输协议,用于传输单声道,双声道音乐(一般在A2DP中用于stereo双声道),典型应用为蓝牙耳机。

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

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

相关文章

mac|运行别人的SpringBoot+Vue项目

一、运行vue 1、查看项目版本,在package.json中查看,在dependencies中的vue就是对应的版本 2、查看本机的vue版本:vue -V 3、删除node_modules 、package-lock.json 4、运行npm install 如果卡住不动,可能是因为网络问题&…

EasyAR_稀疏空间图

EasyAR_稀疏空间图 EasyAR4.6.3 丨 Unity2020.3.15f2 1.创建稀疏空间地图 在EasyAR开发中心后台创建Scene许可证密钥,并且使用稀疏空间地图 2.设置稀疏空间地图库名,对稀疏空间地图进行管理,设置密钥 3.复制密钥到Unity中 添加Spatial Map Ap…

N4 - Pytorch实现中文文本分类

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 目录 任务描述步骤环境设置数据准备模型设计模型训练模型效果展示 总结与心得体会 任务描述 在上周的任务中,我们使用torchtext下载了托管的英文的…

Web 框架

Web 框架 Web服务器Web服务器的主要功能常见的Web服务器软件包 Web 框架常用 Python Web 框架选择Python Web框架的考虑因素 WSGIWSGI的主要特点WSGI的工作原理常见的WSGI服务器和框架: 静态资源定义与特点静态资源的类型静态资源的管理与优化 动态资源定义与特点动…

Java入门、进阶、强化、扩展、知识体系完善等知识点学习、性能优化、源码分析专栏分享

场景 作为一名Java开发者,势必经历过从入门到自学、从基础到进阶、从学习到强化的过程。 当经历过几年企业级开发的磨炼,再回头看之前的开发过程、成长阶段发现确实是走了好多的弯路。 作为一名终身学习的信奉者,秉承Java体系需持续学习、…

Java | Leetcode Java题解之第316题去除重复字母

题目&#xff1a; 题解&#xff1a; class Solution {public String removeDuplicateLetters(String s) {boolean[] vis new boolean[26];int[] num new int[26];for (int i 0; i < s.length(); i) {num[s.charAt(i) - a];}StringBuffer sb new StringBuffer();for (in…

arduino程序-MC猜数字2、3、4(基础知识)

arduino程序-MC猜数字2、3、4&#xff08;基础知识&#xff09; 1-20 MC猜数字2-LED数码管数码管LED数码管应用程序示例 1-21 MC猜数字3- while回顾While循环语句Do while循环语句 1-22 MC猜数字4-switch caseIf判断myNumber数字显示If ... else ifSwitch case示例程序产生随机…

域环境的搭建 内网学习不会搭建环境???

今天有空写一下内网环境的搭建的步骤&#xff0c;我下面是我搭建的环境的图。 我搭建的是父子域&#xff0c;DC是父域控&#xff0c;WEB为子域控 然后下面我来说一下我是怎么搭建的。 首先我们要准备一些机器的镜像文件&#xff0c;如果你是复制的虚拟机的话&#xff0c;你要把…

CLIP论文详解

文章目录 前言一、CLIP理论1.CLIP思想2.模型结构 二、CLIP预训练1.数据集2.训练策略3.模型选择 三、Zero-Shot推理四、CLIP伪代码实现五、CLIP局限性总结 前言 CLIP这篇论文是OpenAI团队在2021年2月底提出的一篇论文&#xff0c;名字叫做《Learning Transferable Visual Models…

Markdown与数学公式

在写偏理科的文章的时候&#xff0c;多多少少会涉及到一些公式、函数的输入&#xff0c;本篇就来讲讲如何在 Markdown 中书写数学公式。 在此之前&#xff0c;我们先介绍下 LaTex 和 MashJax&#xff0c;Markdown 就是基于它们来实现数学公式的输入。 LaTex 简介 LaTex &…

JDK-java.nio包详解

JDK-java.nio包详解 概述 一直以来Java三件套&#xff08;集合、io、多线程&#xff09;都是最热门的Java基础技术点&#xff0c;我们要深入掌握好这三件套才能在日常开发中得心应手&#xff0c;之前有编写集合相关的文章&#xff0c;这里出一篇文章来梳理一下io相关的知识点。…

MyBatis 源码学习 | Day 1 | 了解 MyBatis

什么是 MyBatis 在对一项技术进行深入学习前&#xff0c;我们应该先对它有个初步的认识。MyBatis 是一个 Java 持久层框架&#xff0c;用于简化数据库的操作。它通过 XML 或注解的方式配置和映射原始类型、接口和 Java POJO&#xff08;Plain Old Java Objects&#xff0c;普通…

跑深度学习模型I:一文正确使用CUDA

1. 安装显卡驱动NVIDIA 如果出现这个问题&#xff0c;是NVIDIA环境配置原因。一定要注意配置系统环境变量正确。 C:\Users\2605304845>nvcc --version nvcc 不是内部或外部命令&#xff0c;也不是可运行的程序 或批处理文件。 - CSDN文库 2. 安装CUDA 安装时注意版本对应…

C语言--函数

1. 函数定义 语法&#xff1a; 类型标识符 函数名&#xff08;形式参数&#xff09; {函数体代码 } &#xff08;1&#xff09;类型标识符 --- 数据类型&#xff08;函数要带出的结果的类型&#xff09; 注&#xff1a;数组类型不能做函数返回结果的类型&#xff0c;如果函…

pt模型转onnx模型,onnx模型转engine模型,pt模型转engine模型详细教程(TensorRT,jetpack)

背景 背景是需要在nvidia jetpack4.5.1的arm64设备上跑yolov8,用TensorRT加速&#xff0c;需要用*.engine格式的模型&#xff0c;但是手头上的是pt格式模型&#xff0c;众所周知小板子的内存都很小&#xff0c;连安装ultralytics依赖库的容量都没有&#xff0c;所以我想到在wi…

【开源】嵌入式Linux(IMX6U)应用层综合项目(1)--云平台调试APP

目录 1.简介 1.1功能介绍 1.2技术栈介绍 1.3演示视频 1.4硬件介绍 2.软件设计 2.1连接阿里云 2.2云平台调试UI 2.3Ui_main.c界面切换处理文件 2.4.main函数 3.结尾&#xff08;附网盘链接&#xff09; 1.简介 此文章并不是教程&#xff0c;只能当作笔者的学习分享&…

go中的值传递和指针传递

文章目录 1、& 和 *2、空指针3、nil4、用值传递还是指针传递&#xff1f;5、补充 1、& 和 * &后跟一个变量名&#xff0c;得到的是这个变量的内存地址*int类型的变量&#xff0c;代表这个变量里存的值是int类型的变量的内存地址数据类型的指针类型&#xff0c;即在…

顺序表的实现【数据结构】

1.线性表 线性表&#xff08;linear list&#xff09;是n个具有相同特性的数据元素的有线序列。线性表是一种在实际中广泛使用的数据结构&#xff0c;常见的线性表有&#xff1a;顺序表、链表、栈、队列、字符串… 线性表在逻辑上是线性结构&#xff0c;也就是说是连续的一条线…

医院设置(洛谷)

设有一棵二叉树&#xff0c;如图&#xff1a; 其中&#xff0c;圈中的数字表示结点中居民的人口。圈边上数字表示结点编号&#xff0c;现在要求在某个结点上建立一个医院&#xff0c;使所有居民所走的路程之和为最小&#xff0c;同时约定&#xff0c;相邻接点之间的距离为 11。…

C语言实现 -- 单链表

C语言实现 -- 单链表 1.顺序表经典算法1.1 移除元素1.2 合并两个有序数组 2.顺序表的问题及思考3.链表3.1 链表的概念及结构3.2 单链表的实现 4.链表的分类 讲链表之前&#xff0c;我们先看两个顺序表经典算法。 1.顺序表经典算法 1.1 移除元素 经典算法OJ题1&#xff1a;移除…