Web Bluetooth API允许HTTPS或localhost环境下通过用户交互调用requestDevice()、connect()、getPrimaryService()、readValue()等异步方法与BLE设备通信,Chrome/Edge/Opera支持,Safari/Firefox不支持。

JavaScript 本身不能直接操作蓝牙硬件,但现代浏览器(Chrome、Edge、Opera 等)支持 Web Bluetooth API,它允许网页在用户授权前提下与附近的蓝牙设备(如传感器、手环、打印机、BLE 设备)进行通信。这个 API 是异步的、基于 Promise 的,且必须运行在安全上下文(HTTPS 或 localhost)中。
一、基础前提和限制
使用 Web Bluetooth 前需确认:
- 浏览器支持:Chrome 56+、Edge 79+、Opera 43+;Safari 和 Firefox 暂不支持
- 页面必须通过 HTTPS(生产环境)或
http://localhost(开发调试)提供 - 用户必须主动触发(比如点击按钮),不能自动连接——这是强制的安全策略
- 仅支持 BLE(Bluetooth Low Energy),不支持经典蓝牙(如音频耳机、鼠标)
二、核心流程:发现 → 连接 → 读写特征值
典型操作分四步,每步都返回 Promise:
- requestDevice():弹出系统设备选择框,让用户选一个 BLE 设备
- connect():建立 GATT 连接(类似“打开通道”)
- getPrimaryService() + getCharacteristic():定位服务(Service)和特征(Characteristic)
- readValue() / writeValue() / startNotifications():读、写、监听数据
示例:读取温度传感器的当前值(假设服务 UUID 为 0000181a-0000-1000-8000-00805f9b34fb,温度特征 UUID 为 00002a6e-0000-1000-8000-00805f9b34fb):
标签: javascript java 浏览器 app edge 打印机 字节 safari ai 耳机
还木有评论哦,快来抢沙发吧~