在 Web 前端中使用 JavaScript 进行蓝牙通信可以通过 Web Bluetooth API 实现。Web Bluetooth API 提供了一组函数和事件,用于与蓝牙设备进行交互。下面是一个简单的示例代码,演示如何在 Web 页面中连接并与蓝牙设备通信:
// 检查浏览器是否支持 Web Bluetooth API
if (navigator.bluetooth) {
console.log('Web Bluetooth is supported');
// 点击按钮时触发连接操作
document.querySelector('#connectButton').addEventListener('click', async () => {
try {
// 请求选择蓝牙设备
const device = await navigator.bluetooth.requestDevice({
filters: [{ services: ['your_service_uuid'] }] // 替换为你要连接的蓝牙设备服务 UUID
});
// 连接到选定的设备
const server = await device.gatt.connect();
// 获取特定服务和特征值
const service = await server.getPrimaryService('your_service_uuid');
const characteristic = await service.getCharacteristic('your_characteristic_uuid');
// 添加监听器以获取从设备接收的数据
characteristic.addEventListener('characteristicvaluechanged', event => {
const value = event.target.value;
console.log('Received data:', value);
// 在这里处理接收到的数据
});
// 启用通知以启动接收数据
await characteristic.startNotifications();
} catch (error) {
console.error(error);
}
});
} else {
console.log('Web Bluetooth is not supported');
}
上述代码首先检查浏览器是否支持 Web Bluetooth API,然后在连接按钮的点击事件中进行蓝牙设备选择、连接和数据通信的操作。你需要将代码中的 your_service_uuid
和 your_characteristic_uuid
替换为你要连接的蓝牙设备服务和特征 UUID。
请注意,Web Bluetooth API 目前只在某些最新版本的浏览器中受支持(如 Chrome 和 Opera),并且可能需要启用一些浏览器标志或设置。此外,用户必须授权网站访问蓝牙设备才能正常工作。
建议在实际开发中参考官方文档以获取更多详细信息和示例代码:https://web.dev/bluetooth/
内容由零声教学AI助手提供,问题来源于学员提问