蓝牙(2):BR/EDR的连接过程;查询(发现)=》寻呼(连接)=》安全建立=》认证=》pair成功;类比WiFi连接过程。
4.2.1 BR/EDR 流程:
查询(发现)=》寻呼(连接)=》安全建立=》认证=》pair成功

4.2.1.1 查询(发现)流程Inquiry (discovering)
类比WiFi的probe request/response
蓝牙设备使用查询流程来发现附近的设备,或被其所在区域内的设备发现。
查询流程是不对称的。一个试图寻找其他附近设备的蓝牙设备被称为查询设备,并主动发送查询请求。可以被发现的蓝牙设备被称为可发现设备,它们监听这些查询请求并发送响应。查询流程使用特殊的物理通道进行查询请求和响应。
查询设备和可发现设备可能已经与 piconet 中的其他蓝牙设备连接。任何用于查询或占用查询扫描物理通道的时间都需要与现有逻辑传输的 QoS 承诺需求相平衡。
尽管在交换查询和查询响应信息时可能会认为存在瞬态物理链路,但查询流程并不使用物理通道以上的任何架构层。
4.2.1.1.1 扩展查询响应
扩展查询响应可以在查询响应过程中提供杂项信息。数据类型被定义用于提供本地名称和支持的服务等信息,这些信息在通常情况下需要通过建立连接来获得。如果一个设备在扩展查询响应中收到了本地名称和支持的服务列表,那么它就不需要建立连接来进行远程名称请求和SDP服务搜索,从而缩短了获取有用信息的时间。建议设备在扩展查询响应中包含所有支持的服务和本地名称的重要部分(如果名称太长无法完整发送)。
扩展查询响应数据可以以加密或未加密的形式传输。未加密的数据可以被任何设备解析。加密的数据可以被任何设备接收,但只能被之前共享了用于加密数据的会话密钥的设备解密和验证。
扩展查询响应流程与标准查询响应流程向后兼容。
4.2.1.2 寻呼(连接)流程 Paging (connecting),
类比WiFi的association request/response。
建立连接的流程是不对称的,要求一个蓝牙设备执行寻呼(连接)流程,而另一个蓝牙设备处于可连接状态(寻呼扫描)。这个流程是定向的,因此只有指定的蓝牙设备才会对寻呼流程作出响应。
可连接设备使用特殊的物理通道来监听来自寻呼(连接)设备的连接请求数据包。这个物理通道具有特定于可连接设备的属性,因此只有知道可连接设备的寻呼设备才能在此通道上进行通信。
寻呼设备和可连接设备可能都已经与其他蓝牙设备连接。任何用于寻呼或占用寻呼扫描物理通道的时间都需要与现有逻辑传输的QoS承诺需求相平衡。
4.2.1.3 连接模式,connected mode。物理连接已经建立,可以进行key交互,认证,最终pair成功。
类比WiFi,已经associated,可以进行WPA加密和认证,最终连接成功。
在BR/EDR控制器上成功执行连接流程后,将有一个piconet物理通道,两个设备都连接到这个通道上,设备之间建立了物理链路,并存在默认的ACL-C、ACL-U、APB-C和APB-U逻辑链路。其中两个链路(ACL-C和APB-C)传输LMP控制协议,并且对链路管理器层以上的层是不可见的。ACL-U链路传输L2CAP信号协议以及任何复用的L2CAP尽力而为(best-effort)通道。APB-U链路传输L2CAP通道,这些通道将广播到piconet上的所有外设。通常提到默认的ACL逻辑传输,这可以根据上下文来确定,但通常指的是默认的ACL-U逻辑链路。
在连接模式下,可以在保持与piconet物理通道连接的同时创建和释放额外的逻辑链路,并更改物理和逻辑链路的模式。设备还可以执行查询、寻呼或扫描流程,或者连接到其他piconet,而无需断开与原始piconet物理通道的连接。这些操作都是通过链路管理器完成的,链路管理器与远程蓝牙设备交换链路管理器协议消息。
在外设与piconet积极连接期间,外设和中心之间始终存在一个默认的ACL逻辑传输。删除默认ACL逻辑传输的唯一方法是使设备从piconet物理通道上断开连接,此时设备之间的L2CAP通道、逻辑链路和逻辑传输的整个层次结构都将被删除。
相关文章:
蓝牙(2):BR/EDR的连接过程;查询(发现)=》寻呼(连接)=》安全建立=》认证=》pair成功;类比WiFi连接过程。
4.2.1 BR/EDR 流程: 查询(发现)》寻呼(连接)》安全建立》认证》pair成功 4.2.1.1 查询(发现)流程Inquiry (discovering) 类比WiFi的probe request/response 蓝牙设备使用查询流程来发现附近的…...
源码部署EFK
目录 资源列表 基础环境 关闭防护墙 关闭内核安全机制 修改主机名 添加hosts映射 一、部署elasticsearch 修改limit限制 部署elasticsearch 修改配置文件 单节点 集群(3台节点集群为例) 启动 二、部署filebeat 部署filebeat 添加配置文件 启动 三、部署kiban…...
CSDN智能总结助手
github项目地址: https://github.com/anjude/little-demo/tree/master 获取CSDN的user name和user token 打开csdn,打开控制台 - Application - Cookies,找到domain为blog.csdn.net的cookie,复制user_name和user_token的值 把上…...
setImmediate是在当前事件循环的所有周期的末尾执行,还是再当前事件循环的当前周期的下一个周期执行?
实际上,setImmediate 的回调函数会在当前事件循环的当前周期的末尾执行,而不是下一个周期。 在事件循环中,任务分为宏任务(macrotask)和微任务(microtask)。setImmediate 的回调函数属于宏任务…...
建材行业工程设计资质动态核查不通过怎么办
详细了解核查结果:首先,需要仔细阅读核查结果,了解不通过的具体原因。这些原因可能涉及企业基本情况、技术负责人情况、主要人员情况、设备和厂房情况、业绩和信誉等方面。 针对问题制定整改计划:根据核查结果,针对存…...
二叉数之插入操作
首先是题目 给定二叉搜索树(BST)的根节点 root 和要插入树中的值 value ,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据 保证 ,新值和原始二叉搜索树中的任意节点值都不同。 注意,可能存在多种有效…...
【Python】全局变量与init的区别
一个脚本里,设置全局变量,和初始化类时__init__中加载,有什么区别? 在Python脚本中,使用全局变量和在类的__init__方法中加载数据有几个关键区别: 作用域: 全局变量:全局变量在整个…...
JAVA学习-练习试用Java实现“位1的个数”
问题: 编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 1 的个数(也被称为汉明重量)。 提示: 请注意,在某些语言(如…...
HTML静态网页成品作业(HTML+CSS)——魅族商城首页网页(1个页面)
🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有1个页面。 二、作品演示 三、代…...
Windows DNS 服务器配置转发器
DNS服务器转发器 在企业中由于自身条件的限制, 可能本身的DNS新能并不是很好,这个时候通过使用转发器功能, 将收到的DNS请求转发给另外一台高性能的DNS服务器,让其做后面的迭代查询。 1. 选择DNS服务器, 右击选择属性…...
基于FPGA的VGA协议实现----条纹-文字-图片
基于FPGA的VGA协议实现----条纹-文字-图片 引言: 随着数字电子技术的飞速发展,现场可编程门阵列(FPGA)因其高度的灵活性和并行处理能力,在数字系统设计中扮演着越来越重要的角色。FPGA能够实现复杂的数字逻辑&#…...
hdfs中MapReduce中的shuffle,combine和partitioner(hadoop,Hdfs)
1- MapReduce中shuffle阶段的工作流程以及何如优化该阶段? 分区 ,排序 ,溢写 ,拷贝到对应reduce机器上 ,增加combiner ,压缩溢写的文件 2-MapReduce中combine的作用,一般使用情景,…...
Linux应用入门(二)
1. 输入系统应用编程 1.1 输入系统介绍 常见的输入设备有键盘、鼠标、遥控杆、书写板、触摸屏等。用户经过这些输入设备与Linux系统进行数据交换。这些设备种类繁多,如何去统一它们的接口,Linux为了统一管理这些输入设备实现了一套能兼容所有输入设备的…...
高仿果汁导航模板
参考原文:果汁导航风格模板_1234FCOM专注游戏工具及源码例子分享 极速云...
机器学习之一分类支持向量机(One-class SVM)
一分类支持向量机(One-class SVM)是一种用于异常检测(outlier detection)和新颖性检测(novelty detection)的无监督学习算法。与传统的SVM不同,一分类SVM仅使用一种类别的数据进行训练,目的是在高维空间中找到一个最大边界超平面,将大部分数据点包含在超平面的一侧,从…...
签发免费https证书的方式
目录 http访问和https访问的区别 实现https后有哪些好处: 如何申请、安装部署免费https证书: 在浏览网页时,最常见的是http访问,但是也有一部分网站前缀是https,且浏览器网址栏会出现“安全”字样,或是绿…...
Autodl服务器中Faster-rcnn(jwyang)训练自己数据集(二)
前言 上一章中完成了faster-rcnn(jwyang版本)的复现,本节将在此基础进一步训练自己的数据集~ 项目地址:https://github.com/jwyang/faster-rcnn.pytorch/tree/pytorch-1.0 复现环境:autodl服务器python3.6cuda11.3Ubuntu20.04Pytorch1.10.0…...
安卓手机文件误删或丢失?教你快速找回的方法!
概括 有时我们可能会错误地删除Android设备上的重要文件。更疯狂的是,Android 手机上的文件一夜之间就消失了,我们不知道为什么。我们很遗憾、很恼火,但又不知道。然而,现在学习如何从Android手机恢复已删除的文件已经为时已晚&a…...
C语言 | Leetcode C语言题解之第108题将有序数组转换为二叉搜索树
题目: 题解: struct TreeNode* helper(int* nums, int left, int right) {if (left > right) {return NULL;}// 选择任意一个中间位置数字作为根节点int mid (left right rand() % 2) / 2;struct TreeNode* root (struct TreeNode*)malloc(sizeo…...
关于在企业环境中中间人攻击(MITM)可行性研究的报告
这份文件是一篇关于在企业环境中中间人攻击(MITM)可行性研究的报告,由Nobel Ang和Koh Chuen Hia撰写。 以下是其核心内容的概述: 标题: 研究在企业环境中中间人攻击的可行性 作者: Nobel Ang(…...
2026-04-06:字典序最小和为目标值且绝对值是排列的数组。用go语言,给你一个正整数 n 和一个整数 target。 你需要构造一个长度为 n 的整数数组,要求同时满足: 1.数组中所有元素的总
2026-04-06:字典序最小和为目标值且绝对值是排列的数组。用go语言,给你一个正整数 n 和一个整数 target。 你需要构造一个长度为 n 的整数数组,要求同时满足: 1.数组中所有元素的总和必须等于 target。 2.把数组里每个元素取绝对值…...
避开这5个坑!WPS宏调用DeepSeek API识别标题的实战经验分享
WPS宏调用DeepSeek API识别标题的五个典型陷阱与实战解决方案 当技术文档超过20页时,手动设置标题样式和目录的工作量会呈指数级增长。去年我为某科技公司处理一份87页的技术白皮书时,团队花了整整两天时间调整标题层级,而最终因为格式不一致…...
网站推广seo优化公司如何做好移动端优化_网站推广seo优化公司如何提高网站的权重
网站推广seo优化公司如何做好移动端优化 在当前互联网市场的发展背景下,移动端的重要性日益凸显。无论是用户访问还是企业推广,移动端已经成为不可忽视的一部分。因此,网站推广seo优化公司在提升网站权重的过程中,移动端优化显得…...
程序内存管理:堆与栈的核心原理与应用
1. 内存分配基础概念解析在计算机编程中,内存管理是每个程序员必须掌握的核心技能。程序运行时,操作系统会为其分配一块虚拟内存空间,这块空间被划分为几个关键区域,每个区域都有其特定的用途和管理方式。1.1 程序内存布局典型的程…...
Linux IO调度器详解与性能优化指南
1. Linux IO调度器概述作为一名长期从事Linux系统调优的工程师,我经常需要面对磁盘IO性能优化的问题。今天我想和大家深入探讨Linux内核中的四大IO调度算法,这些算法直接影响着系统的IO性能表现。现代计算机系统中,磁盘IO往往是性能瓶颈所在。…...
2026届必备的十大降重复率工具实际效果
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 当前,人工智能生成内容于各类文本里的广泛运用引发了对于原创性以及真实性的关注…...
用AirSim和Habitat手把手教你搭建第一个无人机VLN仿真环境(避坑指南)
从零搭建无人机视觉语言导航仿真环境:AirSim与Habitat实战指南 第一次接触无人机视觉语言导航(VLN)时,我被这个交叉领域深深吸引——它完美融合了计算机视觉、自然语言处理和机器人控制三大技术方向。但当我真正开始动手实践时&am…...
手把手教你用RFSoC ZU47DR的DAC/ADC:从单音信号到1200MHz宽带调制的避坑实践
手把手教你用RFSoC ZU47DR的DAC/ADC:从单音信号到1200MHz宽带调制的避坑实践 当一块开发板的价格抵得上半辆家用轿车时,每个操作步骤都值得反复推敲。这就是RFSoC ZU47DR给我的第一印象——强大到令人兴奋,复杂到让人却步。作为赛灵思第三代射…...
x86汇编堆栈
x86汇编堆栈 1)堆栈操作 x86汇编中的堆栈是一块特殊的内存区域,用于存储程序运行时的数据。它遵循"后进先出LIFO的原则",主要用于函数调用时的参数传递、局部变量存储以及保存返回地址。 堆栈操作的核心指令是PUSH和POP。PUSH指令将…...
解锁Intel GPU的CUDA能力:从零开始的跨硬件计算实践
解锁Intel GPU的CUDA能力:从零开始的跨硬件计算实践 【免费下载链接】ZLUDA CUDA on non-NVIDIA GPUs 项目地址: https://gitcode.com/GitHub_Trending/zl/ZLUDA 当实验室电脑只有Intel集成显卡却需要运行CUDA加速程序时,当笔记本的Iris Xe显卡面…...
