JavaScript 通过 Web Bluetooth API 可在支持的浏览器中直接与蓝牙低功耗(BLE)设备交互,实现扫描发现、连接断连、读写特征值、订阅通知及服务遍历;需 HTTPS、Chromium 内核、用户授权且仅限 BLE 设备。

JavaScript 通过 Web Bluetooth API 可以在支持的浏览器中直接与蓝牙低功耗(BLE)设备交互,无需原生 App 或插件。它不是操作传统经典蓝牙(如音频耳机),而是面向 BLE 外设(如传感器、手环、开发板等)的现代 Web 标准。
Web Bluetooth API 提供以下关键能力:
navigator.bluetooth.requestDevice() 弹出系统选择框,用户手动选取设备(需用户主动授权)device.gatt.connect() 建立 GATT 连接;支持监听 gattserverdisconnected 事件处理意外断连readValue()、writeValue()、startNotifications() 等操作device.gatt.getPrimaryService() 和 service.getCharacteristics() 动态探索设备能力(部分设备需先启用服务发现权限)该 API 并非随处可用,必须满足以下条件:
localhost 也允许,适合本地开发)bluetooth 用户组)以下代码点击按钮后请求连接一个提供电池服务(0000180f-0000-1000-8000-00805f9b34fb)的设备,并读取电量:
立即学习“Java免费学习笔记(深入)”;
document.getElementById('connectBtn').addEventListener('click', async () => {
try {
const device = await navigator.bluetooth.requestDevice({
filters: [{ services: ['battery_service'] }], // 或用 UUID 字符串
optionalServices: ['battery_service']
});
const server = await device.gatt.connect();
const service = await server.getPrimaryService('battery_service');
const characteristic = await service.getCharacteristic('battery_level');
const value = await characteristic.readValue();
console.log('电量:', value.getUint8(0) + '%');
} catch (error) {
console.error('操作失败:', error);
}
});实际开发中容易踩坑的地方:
properties.read、properties.notify 等),否则会报错DataView 或 Uint8Array 处理,别直接当字符串解析stopNotifications() 和 disconnect(),避免资源泄漏基本上就这些。Web Bluetooth 让网页具备了轻量级硬件交互能力,适合做控制面板、调试工具、教育演示等场景,但不适合高实时性或复杂配对流程的应用。
以上就是javascript如何操作蓝牙_Web Bluetooth API有哪些功能的详细内容,更多请关注php中文网其它相关文章!
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号