Windows 蓝牙驱动开发-BLE低功耗

蓝牙的版本为1.0 ~5.2版本,蓝牙1.0~3.0都是经典蓝牙(rfcomm)。而蓝牙4.0开始就是包括蓝牙BLE了。蓝牙4.0的蓝牙芯片都是双模的,既包括经典蓝牙也包括低能耗蓝牙。经典蓝牙和蓝牙BLE完全是两个东西,只是它们在底层上有一些相似的地方。蓝牙BLE相比于经典蓝牙的优点是搜索、连接的速度更快,关键就是BLE都是低能耗,缺点是传输的速度慢,传输的数据量也很小,每次只有20个字节,但BLE因为其低能耗的优点,在智能穿戴设备和车载系统上的应用越来越广泛。

注意,在windows平台,经典蓝牙编程和BLE编程分别是两个概念,蓝牙API是使用经典蓝牙进行开发,而BLE则是在winrt中集成。不过在应用层无法直接区分是经典蓝牙还是BLE蓝牙。

蓝牙 BLE 引入了一个新的物理层,该层与蓝牙基本速率共享相同的频率空间。 基于此技术开发的配置文件组织成通用属性配置文件 (GATT)。

每个配置文件定义了使用一个或多个服务来创建用例或场景。 合规服务实现是根据一些特征构造的,这些特征的组织方式符合蓝牙特别兴趣小组开发人员网站上定义的已建立架构。

下图演示了对象在典型 GATT 服务内的结构方式。

当蓝牙 LE 设备与 Windows 计算机配对时,设备将成为系统的一部分。 Windows 提供设备对象来表示设备所报告的设备和主要服务。

每个设备及其主要服务都表示为 Windows 中的设备对象,可以使用设备安装函数(例如 SetupDiEnumDeviceInfo 和 SetupDiGetDeviceProperty)查询和管理这些设备对象。

除了标准蓝牙配置文件驱动程序函数,蓝牙BLE 函数还提供用于开发蓝牙 GATT 客户端应用程序的功能。

这些函数允许枚举服务及其对象(包括服务、特征及其描述符),以及读取和写入功能。

相关推荐
flyingonpine1 天前
PowerShell脚本数字签名实战:自签名证书、代码签名与信任链验证
windows·信任链
goehou1 天前
让 AI 替我操作这台电脑,先把手能伸多远定下来
windows·自动化·权限管理·ai agent
公子小六1 天前
基于.NET的Windows窗体编程之WinForms数据持久化(1)
windows·microsoft·c#·.net·winforms
2601_967987372 天前
安装 Redis 或 Redis Stack
linux·windows·redis·macos·安装
xbzb2 天前
自定义 yum 软件源:Linux 上 createrepo,Windows 上纯 Python 也能造
linux·运维·windows·python·yum·createrepo
武雄(小星Ai)2 天前
Ollama报llama-server binary not found排坑实录:服务活着引擎没了
人工智能·windows·大模型·ollama·排坑
LabVIEW开发2 天前
AI 如何接进 LabVIEW:链路怎么搭、边界在哪、还差什么
人工智能·驱动开发·labview
叼烟扛炮3 天前
[LangChain] 学习笔记(06):突破大模型限制——结构化输出(Structured Output)
windows·笔记·学习·langchain
Thneonl3 天前
桌宠穿透不是一行 SetWindowLong
windows·程序员
女神下凡4 天前
芯参谋(95):嵌入式文件系统_开发指南
linux·服务器·arm开发·驱动开发·设计规范