Windows 蓝牙驱动开发-简介

蓝牙(英语: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.mzph.cn/web/65938.shtml

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

相关文章

【Vue】全局/局部组件使用流程(Vue2为例)

全局组件和局部组件区别 如何使用 全局组件:全局注册后,可以在任意页面中直接使用。局部组件:在页面中需要先导入子组件路径,注册组件才能使用。 适用场景 全局组件:适用于高频使用的组件,如导航栏、业…

【Pytorch实用教程】PyTorch 中如何输出模型参数:全面指南

文章目录 PyTorch 中如何输出模型参数:全面指南1. 为什么需要输出模型参数?2. PyTorch 中输出模型参数的方法2.1 使用 `model.parameters()` 输出所有参数2.2 使用 `model.named_parameters()` 输出参数名称和值2.3 使用 `model.state_dict()` 输出模型的参数字典2.4 输出特定…

vscode vue 自动格式化

vscode vue 自动格式化 安装Prettier和Vetur插件 选择设置,并且转到编辑文件。增加如下内容。 {"editor.formatOnSave": true,"editor.defaultFormatter": "esbenp.prettier-vscode","[vue]": {"editor.defaultFor…

1、docker概念和基本使用命令

docker概念 微服务:不再是以完整的物理机为基础的服务软件,而是借助于宿主机的性能。以小量的形式,单独部署的应用。 docker:是一个开源的应用容器引擎,基于go语言开发的,使用时apache2.0的协议。docker是…

Genymotion配套VirtualBox所在地址

在 Genymotion打开虚拟机前需要先打开VirtualBox中的虚拟机 C:\Program Files\Oracle\VirtualBox\VirtualBox.exe 再开启genymotion中的虚拟机开关

【Linux】深刻理解软硬链接

一.软硬链接操作 1.软连接 touch 创建一个文件file.txt ,对该文件创建对应的软链接改怎么做呢? ln -s file.txt file-soft.link .给对应文件创建软连接。 软连接本质就是一个独立的文件,因为我们对应的软连接有独立的inode,他…

linux下MySQL的数据存放

在 Linux 下安装的 MySQL,数据表的数据默认存放在 My晓SQL 数据库的**数据目录**(Data Directory)中。具体来说,MySQL 会将所有数据库的数据存储在一个由 MySQL 配置文件中指定的目录里。该目录包含了所有数据库的表、索引、日志等…

第三十六章 Spring之假如让你来写MVC——拦截器篇

Spring源码阅读目录 第一部分——IOC篇 第一章 Spring之最熟悉的陌生人——IOC 第二章 Spring之假如让你来写IOC容器——加载资源篇 第三章 Spring之假如让你来写IOC容器——解析配置文件篇 第四章 Spring之假如让你来写IOC容器——XML配置文件篇 第五章 Spring之假如让你来写…

快速上手 HarmonyOS 应用开发

一、DevEco Studio 安装与配置 1. DevEco Studio 简介 DevEco Studio 是 HarmonyOS 的一站式集成开发环境(IDE),提供了丰富的工具和功能,支持 HarmonyOS 应用开发的全流程。 2. DevEco Studio 下载与安装 下载地址&#xff1a…

Java Web开发进阶——错误处理与日志管理

错误处理和日志管理是任何生产环境中不可或缺的一部分。在 Spring Boot 中,合理的错误处理机制不仅能够提升用户体验,还能帮助开发者快速定位问题;而有效的日志管理能够帮助团队监控应用运行状态,及时发现和解决问题。 1. 常见错误…

图解Git——分支的新建与合并《Pro Git》

⭐分支的新建与合并 先引入一个实际开发的工作流: 开发某个网站。为实现某个新的需求,创建一个分支。在这个分支上开展工作。 正在此时,你突然接到一个电话说有个很严重的问题需要紧急修补。你将按照如下方式来处理: 切换到你…

C#使用实体类Entity Framework Core操作mysql入门:从数据库反向生成模型2 处理连接字符串

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 源码指引:github源…

【数据可视化-12】数据分析岗位招聘分析

🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…

LeetCode 977 题:有序数组的平方

LeetCode 977 题&#xff1a;有序数组的平方 (Squares of a Sorted Array) LeetCode 第977题要求给定一个按非降序排列的整数数组 nums&#xff0c;返回每个数字的平方并按升序排列。 题目描述 给定一个整数数组 nums&#xff0c;它按非降序排列&#xff08;即 nums[i] < …

excel仅复制可见单元格,仅复制筛选后内容

背景 我们经常需要将内容分给不同的人&#xff0c;做完后需要合并 遇到情况如下 那是因为直接选择了整列&#xff0c;当然不可以了。 下面提供几种方法&#xff0c;应该都可以 直接选中要复制区域然后复制&#xff0c;不要选中最上面的列alt;选中可见单元格正常复制&#xff…

微信小程序实现拖拽盒子效果

要实现一个当前盒子高度由里面的盒子进行支配高度拖拽的效果 // wxml<view class"exmation-item" wx:elif"{{type4}}"> <view class"exmation-item-drag-box" id"drag-box"> <!-- 内容 --><view class"exm…

支持向量回归(SVR:Support Vector Regression)用于A股数据分析、预测

简单说明 支持向量回归是一种用来做预测的数学方法,属于「机器学习」的一种。 它的目标是找到一条「最合适的线」,能够大致描述数据点的趋势,并允许数据点离这条线有一定的误差(不要求所有点都完全落在这条线上)。 可以把它想象成:找到一条「宽带」或「隧道」,大部分…

透明部署、旁路逻辑串联的区别

背景 需讨论防火墙到底是串联&#xff0c;还是旁挂。 通常串联指的就是“透明部署”&#xff0c;旁挂指的就是“逻辑串联”。 透明部署&#xff08;串联&#xff09; 也称为透明模式或桥接模式&#xff0c;是一种安全设备的部署方式。在这种模式下&#xff0c;安全设备被串联…

LabVIEW水位监控系统

LabVIEW开发智能水位监控系统通过集成先进的传感技术与控制算法&#xff0c;为工业液体存储提供精确的水位调控&#xff0c;保证了生产过程的连续性与安全性。 项目背景 在化工和饮料生产等行业中&#xff0c;水位控制的准确性对保证生产安全和提高产品质量至关重要。传统的水…

深入浅出 Android AES 加密解密:从理论到实战

深入浅出 Android AES 加密解密&#xff1a;从理论到实战 在现代移动应用中&#xff0c;数据安全是不可忽视的一环。无论是用户隐私保护&#xff0c;还是敏感信息的存储与传输&#xff0c;加密技术都扮演着重要角色。本文将以 AES&#xff08;Advanced Encryption Standard&am…