蓝牙BQB认证的过程与方式(SIG)

2023-12-17 09:32
文章标签 认证 方式 过程 sig 蓝牙 bqb

本文主要是介绍蓝牙BQB认证的过程与方式(SIG),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

蓝牙BQB认证的过程与方式(SIG)

刚刚做完了车机产品的蓝牙认证,遇到了一些问题,特此整理记录下,分享给大家。

1 项目背景

项目立项初期,整机成本压力下,选择了国内的一家偏小的蓝牙模块供应商,供应商承诺会提供蓝牙模块的相关QDID,便于我司产品的通过蓝牙BQB认证。
实际在开发后期,启动BQB认证时,确认了模块的认证相关状态如下:

  1. 模块供应商对此模块未做完整的BQB认证,即不能提供整体的DID(End product DID);
  2. 此蓝牙模块为BT5.0 EDR模块,但前期仅提供了蓝牙芯片(cypress)Component QDID(包含了部分协议栈的测试结论)。

2 BQB认证的两种方式

与BQB第三方测试机构沟通,参考蓝牙模块的BQB认证方式,分两种情况:

  • 列名方式,无需第三方机构测试;
  • 非列名方式,需要第三方机构测试。
2.1 列名方式
  1. 首先,需要到SIG官网购买一个DID(如果是SIG年费会员,要4000美金一个DID,如果是免费会员,则需要8000美金);
  2. 获得蓝牙模组供应商的授权,注意:所采用的蓝牙模组需要过BQB认证,且认证方式必须为end product,或着为Controller Subsystem、Profile Subsystem、Host Subsystem三个子系统的组合,缺一不可
  3. 将购买的DID与蓝牙模组授权进行绑定(在SIG账户中进行操作);
  4. 以后每次用该蓝牙模组生产新产品,只需在此DID下列名即可,SIG就会分配一个QDID给每个产品(End product 的DID是永久有效的,Component的DID一般是三年有效期)。
  5. 需要注意的是,一般情况下,模组在做End product时,Profile,RF性能会和模块导入到整机后的Profile,RF性能不同,故严格意义上来说,也是建议对整机中,这两部分进行重新测试。然后结合模块的End product QDID进行整机列名。
2.2 非列名方式

当蓝牙模块厂商拿到的BQB认证不是end product,也不是Controller Subsystem、Profile Subsystem、Host Subsystem三个子系统的组合,例如,为Component,那么就不能采用上面列名的方式了。
此时我们就需要以车机为单位,拿到第三方实验室进行BQB的认证测试,一般情况下的测试项目是如下这些:

  1. 补充测试Component QDID中未包含的协议栈;
  2. 测试Profile;
  3. 测试RF性能。

最终此车机会作为End Product的类型,然后我们就可以基于此车机,做其他类似车机的Listing,这样也能做到花一份钱,在SIG官网上列名多个产品的操作。
相对于上面列名的方式,此方式首先得准备硬件设备去做测试,且除了支付SIG购买DID的费用,还需要支付第三方实验室一笔检测费用,一般是几万块,实验室会根据Profile和蓝牙版本进行调整。

3 项目实际操作

在实验室的帮助下,供应商提供了Host的QDID,基于此,蓝牙模块等同于做了实验室确认了车机产品相关协议栈的是完整通过测试的。
最终以我司的车机为单位测试了Profile,RF性能,然后综合供应商提供的蓝牙模块的Controller和Host 的QDID,完成了本次的蓝牙BQB测试。
实验室测试完成后,将报告提供给SIG的BQE1审核后,就可以进行蓝牙最终DID的列名操作了。

4 其他注意点

BQB认证的官方文档要求:BQB认证,必须以品牌商的名义去申请,审查的时候会进行关注。即产品产品的Brand所属哪家公司的,就得以这家公司的名义做BQB的Listing。

参考链接:

  1. BQB listing的查询网站
  2. Bluetooth 官网

  1. BQE: Bluetooth Qualification Expert ↩︎

这篇关于蓝牙BQB认证的过程与方式(SIG)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/503886

相关文章

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

作业提交过程之HDFSMapReduce

作业提交全过程详解 (1)作业提交 第1步:Client调用job.waitForCompletion方法,向整个集群提交MapReduce作业。 第2步:Client向RM申请一个作业id。 第3步:RM给Client返回该job资源的提交路径和作业id。 第4步:Client提交jar包、切片信息和配置文件到指定的资源提交路径。 第5步:Client提交完资源后,向RM申请运行MrAp

内核启动时减少log的方式

内核引导选项 内核引导选项大体上可以分为两类:一类与设备无关、另一类与设备有关。与设备有关的引导选项多如牛毛,需要你自己阅读内核中的相应驱动程序源码以获取其能够接受的引导选项。比如,如果你想知道可以向 AHA1542 SCSI 驱动程序传递哪些引导选项,那么就查看 drivers/scsi/aha1542.c 文件,一般在前面 100 行注释里就可以找到所接受的引导选项说明。大多数选项是通过"_

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

用命令行的方式启动.netcore webapi

用命令行的方式启动.netcore web项目 进入指定的项目文件夹,比如我发布后的代码放在下面文件夹中 在此地址栏中输入“cmd”,打开命令提示符,进入到发布代码目录 命令行启动.netcore项目的命令为:  dotnet 项目启动文件.dll --urls="http://*:对外端口" --ip="本机ip" --port=项目内部端口 例: dotnet Imagine.M

深入理解RxJava:响应式编程的现代方式

在当今的软件开发世界中,异步编程和事件驱动的架构变得越来越重要。RxJava,作为响应式编程(Reactive Programming)的一个流行库,为Java和Android开发者提供了一种强大的方式来处理异步任务和事件流。本文将深入探讨RxJava的核心概念、优势以及如何在实际项目中应用它。 文章目录 💯 什么是RxJava?💯 响应式编程的优势💯 RxJava的核心概念

【即时通讯】轮询方式实现

技术栈 LayUI、jQuery实现前端效果。django4.2、django-ninja实现后端接口。 代码仓 - 后端 代码仓 - 前端 实现功能 首次访问页面并发送消息时需要设置昵称发送内容为空时要提示用户不能发送空消息前端定时获取消息,然后展示在页面上。 效果展示 首次发送需要设置昵称 发送消息与消息展示 提示用户不能发送空消息 后端接口 发送消息 DB = []@ro

脏页的标记方式详解

脏页的标记方式 一、引言 在数据库系统中,脏页是指那些被修改过但还未写入磁盘的数据页。为了有效地管理这些脏页并确保数据的一致性,数据库需要对脏页进行标记。了解脏页的标记方式对于理解数据库的内部工作机制和优化性能至关重要。 二、脏页产生的过程 当数据库中的数据被修改时,这些修改首先会在内存中的缓冲池(Buffer Pool)中进行。例如,执行一条 UPDATE 语句修改了某一行数据,对应的缓

【Kubernetes】K8s 的安全框架和用户认证

K8s 的安全框架和用户认证 1.Kubernetes 的安全框架1.1 认证:Authentication1.2 鉴权:Authorization1.3 准入控制:Admission Control 2.Kubernetes 的用户认证2.1 Kubernetes 的用户认证方式2.2 配置 Kubernetes 集群使用密码认证 Kubernetes 作为一个分布式的虚拟

Solr 使用Facet分组过程中与分词的矛盾解决办法

对于一般查询而言  ,  分词和存储都是必要的  .  比如  CPU  类型  ”Intel  酷睿  2  双核  P7570”,  拆分成  ”Intel”,”  酷睿  ”,”P7570”  这样一些关键字并分别索引  ,  可能提供更好的搜索体验  .  但是如果将  CPU  作为 Facet  字段  ,  最好不进行分词  .  这样就造成了矛盾  ,  解决方法