在前端开发中,我们经常需要使用蓝牙技术与外部设备进行通信。而 UUID(通用唯一识别码)是区分蓝牙设备和服务的重要标识符。由于设备和服务数量众多,每一个 UUID 都是唯一的,导致我们需要记忆众多 UUID 十分困难。这时候,应用程序只需要使用相同的 UUID 即可轻松地访问蓝牙设备和服务。本文介绍了一个非常方便的 npm 包 gattuuids,它可以极大地帮助我们识别蓝牙设备和服务的 UUID,大大简化了开发过程。
安装 gattuuids
在使用 gattuuids 前,我们需要在 Node.js 中安装它。可以使用以下命令在 Node.js 运行环境中安装:
npm i -S gattuuids
这条命令将下载和安装 gattuuids 的最新版本并放置在项目目录的 node_modules
文件夹中。
使用 gattuuids
引入 gattuuids
在 JavaScript 中,我们可以使用以下方式引入 gattuuids:
const gattuuids = require('gattuuids');
使用 gattuuids
gattuuids 提供了大量的蓝牙设备和服务 UUID,涵盖了广泛的电子设备和服务类型。我们可以使用 gattuuids 包含的数据文件,通过它们的名称来访问它们的 UUID。以 TI 的传感器标签为例,我们可以使用以下代码访问其服务 UUID:
console.log(gattuuids.ti.sensortag.temperature);
输出:
"F000AA01-0451-4000-B000-000000000000"
同时,我们也可以通过服务 UUID 访问其所有特性 UUID:
console.log(gattuuids.ti.sensortag.uuids);
输出:
{ "temperature": ["F000AA01-0451-4000-B000-000000000000", "F000AA02-0451-4000-B000-000000000000", "F000AA03-0451-4000-B000-000000000000"], "accelerometer": ["F000AA11-0451-4000-B000-000000000000", "F000AA12-0451-4000-B000-000000000000", "F000AA13-0451-4000-B000-000000000000"], "humidity": ["F000AA21-0451-4000-B000-000000000000", "F000AA22-0451-4000-B000-000000000000"], "magnetometer": ["F000AA31-0451-4000-B000-000000000000", "F000AA32-0451-4000-B000-000000000000", "F000AA33-0451-4000-B000-000000000000"], "barometer": ["F000AA41-0451-4000-B000-000000000000", "F000AA42-0451-4000-B000-000000000000"], "gyroscope": ["F000AA51-0451-4000-B000-000000000000", "F000AA52-0451-4000-B000-000000000000", "F000AA53-0451-4000-B000-000000000000"] }
向 gattuuids 中添加新的 UUID
如果 gattuuids 中没有您需要的服务或设备 UUID,您可以通过以下方式添加新的 UUID:
gattuuids['myDevice'] = { myService: 'myServiceUUID', myCharacteristic: 'myCharacteristicUUID' };
接下来,您可以使用以下代码访问新添加的设备和服务 UUID:
console.log(gattuuids.myDevice.myService); console.log(gattuuids.myDevice.myCharacteristic);
总结
在蓝牙通讯的前端开发中,gattuuids 提供了快捷的访问 UUID 的方式。借助 gattuuids,我们无需记忆大量的设备和服务 UUID,可以轻松地创建连接,简化了开发过程。同时,gattuuids 还提供了可拓展性,可以方便地添加新的设备和服务 UUID。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005708481e8991b448e7ebc