无需登录 数据私有 本地保存

Web Bluetooth 电池服务演示 - 读取蓝牙设备电量

6
0
0
0
什么是 Web Bluetooth API?哪些浏览器支持?
Web Bluetooth API 是一项允许网页通过蓝牙与附近设备通信的浏览器标准。它使网页应用无需安装原生程序即可连接蓝牙设备。支持情况:Chrome(桌面版 + Android)完整支持;Microsoft Edge 基于 Chromium,完整支持;Opera 支持;Safari(macOS/iOS)不支持,iOS 用户可使用 Bluefy 等第三方浏览器;Firefox 目前不支持。必须使用 HTTPS 或 localhost 访问。
蓝牙电池服务(Battery Service)是什么?
Battery Service(UUID: 0x180F)是蓝牙 SIG 定义的标准 GATT 服务,用于报告设备电池状态。主要特征:Battery Level(0x2A19)返回 0-100 的百分比,表示当前电量,支持 Notification 实时推送;Battery Power State(0x2A1A)报告充电状态(未知/未充电/充电中/充电完成)。许多蓝牙外设(鼠标、键盘、耳机等)都实现了此标准服务。
为什么扫描不到我的设备?
可能的原因及解决方案:设备未处于可发现模式——确保设备处于配对/广播模式;设备不在范围内——蓝牙有效距离通常为 10 米以内;设备不支持电池服务——部分设备未实现标准 Battery Service,尝试使用扫描全部设备按钮;设备已被其他应用连接——蓝牙设备通常只能同时连接一个主机,请断开其他连接;浏览器权限——确保浏览器有蓝牙权限,Chrome 需在系统设置中允许蓝牙访问;系统蓝牙未开启——检查电脑/手机的蓝牙是否已打开。
电量数据多久更新一次?是否支持实时通知?
本工具优先使用蓝牙 GATT 的 Notification 机制:如果设备支持 Battery Level 特征的通知,当电量变化时设备会主动推送更新,实现实时监控。如果设备不支持通知,工具会自动回退到定时轮询模式,每 10 秒读取一次电量。你也可以随时点击刷新电量按钮手动获取最新数据。设备断开后所有更新自动停止。
这个工具安全吗?我的设备数据会泄露吗?
完全安全。本工具的所有操作均在您的浏览器本地执行:蓝牙连接仅在您的设备与浏览器之间建立,不会经过任何远程服务器;电量数据仅在页面内存中处理,不会被上传或存储;Web Bluetooth API 要求用户主动点击触发,网站无法自动扫描设备;浏览器会显示设备选择对话框,用户完全掌控连接哪个设备;关闭页面或标签后,蓝牙连接自动断开。
蓝牙 GATT 服务与特征值入门知识
GATT(通用属性协议)是蓝牙低功耗(BLE)设备间数据通信的基础:Profile(配置文件)定义设备功能的顶层规范;Service(服务)是一组相关功能的集合,每个服务有唯一 UUID;Characteristic(特征)是服务中的具体数据项,可读/可写/可通知;Descriptor(描述符)是特征的元数据,如单位、范围等。例如:蓝牙耳机可能有 Battery Service(0x180F)提供电量,HID Service(0x1812)提供输入功能。
常见支持电池服务的设备有哪些?
蓝牙鼠标——Logitech、Microsoft、Razer 等大多数蓝牙鼠标;蓝牙键盘——机械键盘、薄膜键盘的蓝牙型号;蓝牙耳机/音箱——AirPods(通过特定方式)、Sony、Bose 等;游戏手柄——PS4/PS5 手柄、Xbox 蓝牙手柄、Switch Pro 手柄;智能手表——部分型号支持 Battery Service;其他 BLE 设备——智能标签、传感器等。提示:如果设备在蓝牙广播中声明了 Battery Service UUID,使用扫描电池设备即可发现;否则请使用扫描全部设备。
如何在 iOS 设备上使用 Web Bluetooth?
Safari 浏览器目前不支持 Web Bluetooth API。iOS 用户可以使用 Bluefy 等第三方浏览器,这些浏览器基于 WebKit 但添加了 Web Bluetooth 支持。另外,确保 iOS 设备的蓝牙已开启,并且目标设备处于可发现模式。由于 iOS 的蓝牙权限管理较为严格,首次使用时需要在弹出的权限对话框中允许蓝牙访问。