深入浅出理解BLE AUDIO CSIS

news2024/11/27 16:31:57

CSIS是Coordinate Sets Identification service,翻译过来就是协调集识别服务。什么是协调集,可以理解为具有相同特征的一伙设备,最典型的就是左右两个蓝牙耳机是一个协调集,所以它们具有相同的协调集标志,但是具有相同协调集的设备要如何识别,这就是本篇需要讲解的内容,其实还是比较简单,下面还是以手机和蓝牙耳机为例,看看BLE AUDIO CSIS是如何工作:

扩展广播里的RSI

RSI是Resolvable Set Identifier,可解析的协调集标志 ,我们可以把它类比RPA,这个值会附属在我们的左右耳机的广播里,下面从HCI看看实例:
在这里插入图片描述
如上图,主耳和副耳的广播都附带有RSI值,手机扫描到的时候,会把这些值存储起来,以便后面解释用。

主耳BLE连接

在这里插入图片描述

读取SIRK

SIRK是Set Identity Resolvable Key的缩写,也就是解析RSI的钥匙,可以理解为类似IRK, 手机和主耳建立BLE连接后,会通过ATT服务读取耳机传过来的RSIK:
在这里插入图片描述如上图,红色框表示读到的SIRK的值,下面解释一下绿色框的三个值的含义:

参数解释
Size2表示此协调集有2个成员
LockUnlocked此成员有没有锁定,可以理解为没有锁定,就是可以是主耳,也可以是副耳
Rank2Rank可以理解为手机给两个耳机发送音频流的顺序

手机BLE连接副耳

通过读取了主耳的SIRK,然后把主副耳的RSI解析出来,发现这两个设备是同一协调集,这样手机就会主动去连接副耳:
在这里插入图片描述

总结:

BLE AUDIO CSIS服务还是比较简单,说就是找寻同类型设备,这样方便后面进来的同类型设备可以自动连接,不需要人工干预了。

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

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

相关文章

disql 全量备份SQL脚本DM7/DM8

disql 全量备份SQL脚本DM7/DM8 环境介绍1 全量备份前准备工作2 全量备份2.1 cd 到数据库bin 目录,并编辑文件2.2 编写数据库全量备份SQL 脚本2.3 执行编写的sql脚本2.4 编写Linux定时任务 , 每月执行全量备份 3 备份还原4 增量备份配置5 更多达梦数据库学习使用列表 环境介绍 …

CTA-GAN:基于生成对抗网络对颈动脉和主动脉的非增强CT影像进行血管增强

写在前面 目前只分析了文章的大体内容和我个人认为的比较重要的细节,代码实现还没仔细看,后续有时间会补充代码细节部分。 文章地址:Generative Adversarial Network-based Noncontrast CT Angiography for Aorta and Carotid Arteries 代…

【C++】STL容器-string常用接口

1.string类的优势及重要性(部分) C语言中,字符串是以’\0’结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数,但是这些库函数与字符串是分离开的,不太符合OOP的思想&…

【Unity实战笔记】第二一 · 基于状态模式的角色控制——以UnityChan为例

目录 一 内容摘要二 前言三 状态模式的必要性3.1 非状态模式的角色控制3.2 简易状态模式的角色控制3.3 状态模式3.3.1 IState3.3.2 IdleState3.3.3 RunState3.3.4 JumpState3.3.5 PlayerController_ComplexStateMode3.3.6 注意事项 3.4 SMB 四 基于SMB的角色控制4.1 项目实战案…

Java | Leetcode Java题解之第497题非重叠矩形中的随机点

题目&#xff1a; 题解&#xff1a; class Solution {Random rand;List<Integer> arr;int[][] rects;public Solution(int[][] rects) {rand new Random();arr new ArrayList<Integer>();arr.add(0);this.rects rects;for (int[] rect : rects) {int a rect[0…

【大模型问答测试】大模型问答测试脚本实现(第二版)——接入pytest与代码解耦

背景 接上一篇&#xff0c;【大模型问答测试】大模型问答测试脚本实现&#xff08;第一版&#xff09;。 在实现自动化的时候&#xff0c;原先把很多方法与request请求写在一块了&#xff0c;趁着目前实现接口数量较少&#xff0c;决定对代码进行解耦&#xff0c;并且清晰目录…

《梦里花落知多少》凄美地,如同散落的花

《梦里花落知多少》凄美地&#xff0c;如同散落的花 三毛&#xff08;1943/3/26~1991/01/04&#xff09;&#xff0c;本名陈平&#xff0c;当代女作家&#xff0c;旅行家。著有《雨季不再来》《撒哈拉的故事》《哭泣的骆驼》《稻草人手记》《温柔的夜》《梦里花落知多少》等作品…

HDFS异常org.apache.hadoop.hdfs.protocol.NSQuotaExceededException

HDFS异常org.apache.hadoop.hdfs.protocol.NSQuotaExceededException 异常信息&#xff1a; Hive:org.apache.hadoop.hdfs.protocol.NSQuotaExceededException: The NameSpace quota (directories and files) of directory /xxxdir is exceeded: quota10000 file count15001N…

代码随想录-哈希表-有效的字母异位词

思路 哈希表的三种方式:数组、set、map 本题采用数组形式的哈希表来解决 三个注意事项: ①数组哈希表定义&#xff0c;包括思路和原始大小 ②Java中字符串的某个字符访问方式&#xff0c;字符串长度的方法 ③for-each循环的书写方式 代码 class Solution {public boole…

Python 爬虫下载图片

使用免费的代理ip进行网络请求,降低了反爬机制的触发率。加入自动发送邮件的功能,在代码运行出错的时候可以及时收到提醒消息。 主程序代码: import requests import os import time from lxml import etree from bs4 import BeautifulSoup import random # 自定义模块,发…

安全防护修改用户sudo权限

修改ssh端口 vim /etc/ssh/sshd_config 修改port端口为60022端口&#xff0c;端口最大为65535 修改完&#xff0c;重启服务 可以看到此时ssh监听端口为60022,此时远程登陆时就需要用端口60022&#xff0c;原来的22端口拒绝访问 下载nmap端口扫描工具 用命令nmap 192.168.45.…

CZX前端秘籍2

vue生命周期&#xff08; 组件从创建到销毁的过程就是它的生命周期&#xff09; 创建前 beforeCreat&#xff08; 在这个阶段属性和方法都不能使用&#xff09; 创建时 created&#xff08; 这里时实例创建完成之后&#xff0c; 在这里完成了数据监测&#xff0c; 可以使用数…

【C++进阶】之C++11的简单介绍(二)

&#x1f4c3;博客主页&#xff1a; 小镇敲码人 &#x1f49a;代码仓库&#xff0c;欢迎访问 &#x1f680; 欢迎关注&#xff1a;&#x1f44d;点赞 &#x1f442;&#x1f3fd;留言 &#x1f60d;收藏 &#x1f30f; 任尔江湖满血骨&#xff0c;我自踏雪寻梅香。 万千浮云遮碧…

C#使用log4net结合sqlite数据库记录日志

0 前言 为什么要把日志存到数据库里? 因为结构化的数据库存储的日志信息,可以写专门的软件读取历史日志信息,通过各种条件筛选,可操作性极大增强,有这方面需求的开发人员可以考虑。 为什么选择SQLite? 轻量级数据库,免安装,数据库的常用的基本功能都有,可以随程序…

批量修改YOLO格式的标注类别

1.解决的问题 假如你有一个YOLO格式的数据集&#xff0c;标注类别为0&#xff0c;1&#xff0c;2&#xff0c;3四个类别标签。如果你想删除标签1&#xff0c;只保留0&#xff0c;2&#xff0c;3类别的标注信息&#xff0c;或者想将标签0和标签1合并为标签1&#xff0c;只剩下标…

第三届“奇安信杯”网络安全技能竞赛 部分题目WriteUP

第三届“奇安信杯”网络安全技能竞赛WriteUP 文章目录 第三届“奇安信杯”网络安全技能竞赛WriteUPMISCGIFpycseeyouagain CRYPTObase全家桶base6432rsa WEB MISC GIF 下载附件&#xff0c;解压得到test1.jpg。 用010 Editor打开&#xff0c;发现GIF文件头&#xff0c;修改文…

从“Hello World”到“Success” —— 1024程序员节的感悟与成长

目录 1.成为程序员 2.成长之路 3.困难与挑战 4.磨炼与前进 5.总结与收获 6.感悟 1.成为程序员 今天&#xff0c;我们迎来了专属于程序员的节日——1024程序员节。这一天不仅是对所有编程爱好者的致敬&#xff0c;更是回顾过去一年来成长历程的时刻。对于每一位踏上编程之旅…

AI带货主播如何打造真实视觉效果!

AI带货主播作为新兴的数字营销手段&#xff0c;正在逐步改变着电商行业的面貌&#xff0c;AI技术的不断进步使得带货主播能够以更加真实、生动的视觉效果展现在消费者面前&#xff0c;从而大大提升了购物体验和销售转化率。 那么&#xff0c;AI带货主播如何打造真实视觉效果呢…

深入浅出神经网络:从基础原理到高级应用

第5章 神经网络 更加详细内容可以看这篇文章 5.1 神经元模型 神经网络的基本单元是神经元模型。神经元模拟了生物神经元的行为&#xff0c;通过接收输入信号&#xff0c;进行加权求和&#xff0c;然后经过激活函数输出结果。 数学上&#xff0c;一个简单的神经元可以表示为&…

业务开发常见问题-并发工具类

hello&#xff0c;大家好&#xff0c;本讲我们一起聊一下常见的几个并发工具类的使用和坑&#xff01; 在日常工作中&#xff0c;我们经常会遇到多线程并发问题&#xff0c;比如ThreadLocal、锁、ConcurrentHashMap、CopyOnWriteArrayList等。那么如何正常的使用呢&#xff1f;…