Web Bluetooth API
Web Bluetooth API 是一项允许网页通过蓝牙与附近设备通信的浏览器标准 API。它使网页应用无需安装原生程序即可连接蓝牙设备,读取设备数据或与设备交互。该 API 基于蓝牙低功耗(BLE)协议,支持 GATT(通用属性协议)进行数据通信。Web Bluetooth API 的设计遵循安全最佳实践:必须由用户主动触发(如点击按钮)、浏览器会显示设备选择对话框、必须使用 HTTPS 或 localhost 访问。
GATT(通用属性协议)
GATT(Generic Attribute Profile)是蓝牙低功耗(BLE)设备间数据通信的基础协议。它定义了设备之间如何发现服务、读写特征值以及接收通知。GATT 协议采用客户端-服务器架构:蓝牙设备作为 GATT 服务器,提供各种服务和特征;手机或电脑作为 GATT 客户端,读取或订阅这些数据。本工具通过 GATT 协议与蓝牙设备通信,读取 Battery Service 的电量数据。
Battery Service(电池服务)
Battery Service(UUID: 0x180F)是蓝牙 SIG 定义的标准 GATT 服务,用于报告设备电池状态。许多蓝牙外设(鼠标、键盘、耳机等)都实现了此标准服务。主要特征包括:Battery Level(UUID: 0x2A19)返回 0-100 的百分比,表示当前电量,支持 Notification 实时推送;Battery Power State(UUID: 0x2A1A)报告充电状态(未知/未充电/充电中/充电完成)。
Characteristic(特征)
Characteristic 是 GATT 服务中的具体数据项,代表一个可读、可写或可通知的值。每个特征有唯一的 UUID 标识符和一组属性(读、写、通知、指示等)。本工具主要使用 Battery Level 特征(UUID: 0x2A19)读取电量百分比,以及 Battery Power State 特征(UUID: 0x2A1A)读取充电状态。特征是蓝牙数据通信的基本单位。
Notification(通知)
Notification 是 GATT 协议中的一种数据推送机制。当设备的某个特征值发生变化时(如电量降低),设备会主动向已订阅该特征通知的客户端推送新数据,无需客户端再次请求。这种机制实现实时监控,减少不必要的蓝牙通信。本工具优先使用 Battery Level 特征的 Notification 机制,当设备电量变化时自动更新显示。如果设备不支持通知,则回退到定时轮询模式。
BLE(蓝牙低功耗)
BLE(Bluetooth Low Energy)是蓝牙技术的一个重要分支,专为低功耗、低数据量的物联网应用设计。与经典蓝牙相比,BLE 具有功耗极低、连接速度快、支持大量设备同时连接等优点。Web Bluetooth API 基于 BLE 协议,适用于读取传感器数据、控制智能设备等场景。本工具使用的 Battery Service 就是基于 BLE 协议的标准服务。
UUID(通用唯一标识符)
UUID(Universally Unique Identifier)是一种用于唯一标识信息的 128 位数字。在蓝牙 GATT 协议中,每个服务和特征都有唯一的 UUID 标识符。例如 Battery Service 的 UUID 是 0x180F,Battery Level 特征的 UUID 是 0x2A19。UUID 确保了不同设备和应用之间的互操作性,是蓝牙标准的重要组成部分。
requestDevice(请求设备)
requestDevice 是 Web Bluetooth API 中的一个核心方法,用于请求用户选择蓝牙设备。调用该方法时,浏览器会弹出设备选择对话框,显示附近可发现的蓝牙设备列表。用户可以从中选择一个设备进行连接。该方法支持可选参数,如 filters(过滤条件)和 optionalServices(可选服务),帮助缩小设备选择范围。本工具使用 filters 参数分别筛选支持 Battery Service 的设备和所有设备。
GATT 服务器(Server)
GATT 服务器是蓝牙设备在 GATT 协议中扮演的角色,负责提供各种服务和特征数据。当蓝牙设备(如鼠标、耳机)被连接后,它会作为 GATT 服务器向客户端暴露其数据接口。本工具作为 GATT 客户端,连接到蓝牙设备(GATT 服务器),读取其 Battery Service 中的电量数据。GATT 服务器的设计决定了设备可以提供哪些数据和服务。
GATT 客户端(Client)
GATT 客户端是发起蓝牙通信的一方,通常是手机或电脑。在本工具中,用户的浏览器充当 GATT 客户端角色,主动连接蓝牙设备(GATT 服务器)并读取数据。GATT 客户端可以发现服务器上的服务、读写特征值、订阅通知等。本工具通过 Web Bluetooth API 实现 GATT 客户端功能,完成设备连接和数据读取。
Bluetooth Device(蓝牙设备)
Bluetooth Device 是指支持蓝牙通信的硬件设备,如蓝牙鼠标、键盘、耳机、游戏手柄、智能手表等。在 Web Bluetooth API 中,蓝牙设备通过 requestDevice 方法被发现和选择,然后通过 GATT 协议进行通信。每个蓝牙设备可能实现不同的 GATT 服务和特征,本工具主要关注实现了 Battery Service 的设备。
UD5工具箱