Windows 蓝牙驱动开发-简介

devtools/2025/1/14 14:02:48/

蓝牙(英语:Bluetooth)是一种无线通信技术标准,用来让固定与移动设备,在短距离间交换资料,以形成个人局域网(PAN)。其使用短波特高频(UHF)无线电波,经由2.4至2.485 GHz的ISM频段来进行通信。1994年由电信商爱立信(Ericsson)发展出这个技术。它最初的设计是希望建立一个RS-232数据线的无线通信替代版本。它能够链接多个设备,以克服同步的亦被干扰等问题。

蓝牙技术目前由蓝牙技术联盟(SIG)负责维护其技术标准,其成员已超过三万,分布在电信、电脑、网络与消费性电子产品等领域。

Bluetooth经典

Bluetooth Classic无线电,也被称为Bluetooth 基本速率/增强数据速率(BR/EDR),是一种低功率无线电,在2.4GHz非授权工业、科学和医疗(ISM)频段的79个频道上进行数据流。支持点对点设备通信,Bluetooth Classic主要用于实现无线音频流,已成为无线扬声器、耳机和车载娱乐系统背后的标准无线电协议。Bluetooth Classic无线电还能实现数据传输应用,包括移动打印。

Bluetooth 低能耗(BLE)

Bluetooth 低能耗(LE)无线电是为非常低的功率操作而设计的。Bluetooth LE无线电在2.4GHz非授权ISM频段的40个信道上传输数据,为开发者提供了巨大的灵活性,以构建满足其市场独特连接要求的产品。Bluetooth LE支持多种通信拓扑结构,从点对点扩展到广播,最近又扩展到广播。 mesh,使Bluetooth 技术能够支持创建可靠的、大规模的设备网络。虽然最初以其设备通信功能而闻名,但Bluetooth LE现在也被广泛用作设备定位技术,以满足对高精度室内定位服务日益增长的需求。Bluetooth LE现在包括一些功能,使一个设备能够确定另一个设备的存在、距离和方向。

window 蓝牙配置文件驱动

Microsoft 为无线蓝牙协议提供的支持。 蓝牙是一种行业标准协议,可实现各种设备的无线连接,包括电脑、手机、手持设备、鼠标设备、键盘和打印机。 。

独立硬件供应商 (IHV) 编写蓝牙配置文件驱动程序以支持蓝牙规范中定义的各种协议。 蓝牙配置文件驱动程序应遵循 Windows 驱动程序模型 (WDM) 体系结构。

为了支持蓝牙协议,Microsoft 提供了多个驱动程序和支持文件,包括:

  • BthPort.sys
  • BthEnum.sys
  • BthUsb.sys
  • BthProps.cpl

蓝牙驱动程序堆栈提供设备驱动程序接口 (DDI),使配置文件驱动程序能够访问本地系统和远程蓝牙设备之间面向同步连接 (SCO) 的链接以及逻辑链接控制器和适应协议 (L2CAP) 链接。

SCO

面向同步连接 (SCO) 的链接是两个蓝牙设备之间的点到点连接。 它们主要定义为支持限时信息,例如语音。

Windows 蓝牙驱动程序堆栈提供 SCO 内核模式设备驱动程序接口 (DDI)。 通过使用这些接口,配置文件驱动程序可以使用 SCO DDI 打开、更新和关闭 SCO 连接,以及通过打开的 SCO 连接执行读写操作。

L2CAP 和 SDP

L2CAP 旨在支持异步无连接链接 (ACL) 蓝牙链接。 蓝牙驱动程序堆栈为面向连接的服务提供支持。 配置文件驱动程序使用蓝牙 L2CAP DDI 打开、更新和关闭 L2CAP 连接,以及通过打开的 L2CAP 连接执行读取和写入操作。

服务发现协议 (SDP) 提供了一种方法,让配置文件驱动程序可以播发其管理的设备提供的服务或发现这些服务。

SDP 记录在复杂的字节流中播发。 配置文件驱动程序可以使用 SDP DDI 查找 SDP 记录,并将其转换为基于树的表示形式,以便更轻松地解释进行分析。 配置文件驱动程序还可以使用 SDP DDI 生成基于树的 SDP 记录表示形式,然后将其转换为流来播发它。


http://www.ppmy.cn/devtools/150424.html

相关文章

迅为RK3568开发板篇OpenHarmony配置HDF驱动控制LED-新增 topeet子系统

在 Openharmony 源码根目录下新建 topeet 文件夹及其文件夹下的文件。目录如下所示: 接下来依次解释一下每个文件的作用。 bundle.json: demos:组件目录 hdf_led:子组件目录 app:led 应用层目录 ├── BUILD.gn&#…

从字符串使用看Golang和Rust对内存使用的区别

从字符串使用看Golang和Rust对内存使用的区别 ​ 今天从Rust偶然回到Golang的世界,怎么写代码怎么别扭,总是忍不住在句子结尾加个分号…看到golang的字符串使用起来特别爽可以到处复制疯狂乱用,有一种从部队宿舍豆腐块被子的生活回归到居家肥…

监控易钢铁行业:IT 设备、动环设施全方位一体化监控

在当今数字化浪潮汹涌澎湃的时代,各行业对信息技术的依赖程度日益加深,钢铁行业亦不例外。作为钢铁行业的中流砥柱,某钢铁公司在贸易、信息科技、循环经济和物流等多元业务领域开疆拓土,取得了斐然佳绩。 然而,随着业务…

【华为OD-E卷 - 篮球比赛 100分(python、java、c++、js、c)】

【华为OD-E卷 - 篮球比赛 100分(python、java、c、js、c)】 题目 篮球(5V5)比赛中,每个球员拥有一个战斗力,每个队伍的所有球员战斗力之和为该队伍的总体战斗力。 现有10个球员准备分为两队进行训练赛,教练希望2个队…

【PPTist】插入形状、插入图片、插入图表

一、插入形状 插入形状有两种情况,一种是插入固定的形状, 一种是插入自定义的形状。 插入固定的形状时,跟上一篇文章 绘制文本框 是一样一样的,都是调用的 mainStore.setCreatingElement() 方法,只不多传的类型不一…

PHP语言的学习路线

PHP语言的学习路线 PHP(Hypertext Preprocessor)是一种广泛使用的开源服务器端脚本语言,尤其适用于Web开发。由于其易学易用、功能强大,PHP成为了许多动态网站和Web应用程序开发的首选语言。随着Web3.0和云计算的兴起&#xff0c…

【数据仓库】— 5分钟浅谈数据仓库(适合新手)从理论到实践

大家好,我是摇光~ 对于刚进入大数据领域的萌新,且想要在数据分析岗、数据运维岗、数据工程师这些岗位立足,了解数据仓库是必要的,接下来我尽量用通俗易懂的语言让大家了解到数据仓库。 在当今大数据盛行的时代,数据仓…

支持selenium的chrome driver更新到131.0.6778.264

最近chrome释放新版本:131.0.6778.264 如果运行selenium自动化测试出现以下问题,是需要升级chromedriver才可以解决的。 selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only s…