Windows 蓝牙驱动开发-简介

news/2025/1/16 2:58:22/

蓝牙(英语: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/news/1563048.html

相关文章

Linux第二课:LinuxC高级 学习记录day02

2.4、shell中的特殊字符 2.4.4、命令置换符 或者 $() 反引号:esc下面的按键,英文状态下直接按 功能:将一个命令的输出作为另一个命令的参数 echo 不会认为hostname是一个命令 加上 之后,先执行hostname,拿到主机名…

Lock接口

java.util.concurrent.locks.Lock 接口是Java并发包中的一部分,它提供了比内置锁(即 synchronized 关键字)更灵活和强大的锁机制。通过使用 Lock 接口及其相关实现类,开发者可以获得更多的功能选项来控制线程间的同步行为&#xf…

vue3 懒加载组件 + 自定义hooks

背景 有一天我在逛淘宝的时候发现一个现象,就是淘宝pc 端的搜索列表页,在滚动的时候,它的那些图片总有一种从无到有的感觉,作为一个前端人,我就很好奇他是做了什么优化,是不是对元素做了懒加载处理。没进入…

安卓14无法安装应用解决历程

客户手机基本情况: 安卓14,对应的 targetSdkVersion 34 前天遇到了安卓14适配问题,客户发来的截图是这样的 描述:无法安装我们公司的B应用。 型号:三星google美版 解决步骤: 1、寻找其他安卓14手机测试…

Excel多层嵌套IF条件写法

Excel多层嵌套IF条件的实现方法 需求如下 利润 > 35% 卖价 成本 *&#xff08;1-毛利0.15&#xff09;利润 < 35% 并 >0.34 卖价 成本 *&#xff08;1-毛利0.14&#xff09;利润 < 34% 并 >0.33 卖价 成本 *&#xff08;1-毛利0.13&#xff09;利润 < 33% …

Keep-Alive功能的抓包分析测试

成功的抓包 如图&#xff0c;间隔30秒 问:你还在吗 1501 56.502616 192.168.5.105 58683 192.168.5.25 8848 TCP 55 02:50:48.155738 [TCP Keep-Alive] 58683 → 8848 [ACK] Seq344 Ack1679196 Win131072 Len1 答&#xff1a;在 1502 56.503982…

项目概述、开发环境搭建(day01)

软件开发整体介绍 软件开发流程 第1阶段: 需求分析 需求规格说明书&#xff0c; 一般来说就是使用 Word 文档来描述当前项目的各个组成部分&#xff0c;如&#xff1a;系统定义、应用环境、功能规格、性能需求等&#xff0c;都会在文档中描述。产品原型&#xff0c;一般是通过…

jeecg-boot 表单选择一条数据保存

HTML&#xff08;新增form&#xff09; <a-col :span"24"><a-form-item label"专题学习表名称" :labelCol"labelCol" :wrapperCol"wrapperCol"><!-- <a-input v-decorator"[studyName, validatorRules.studyN…