前言
@abandonware/noble 作为一个 Node.js 的 npm 包,是一个用于处理蓝牙 Low Energy 设备的模块。它基于特征驱动方式,让你能够很方便地读写蓝牙设备的特征和描述符。
本文将介绍如何使用 @abandonware/noble 模块来处理蓝牙 Low Energy 设备,并附带具体的代码示例。文章假定你已经熟悉 JavaScript、Node.js 和蓝牙技术的基础知识。
安装
若你还未安装 Node.js,请先前往官方网站下载并安装最新版 Node.js(截止本文编写时,最新版为 14.17.0)。
在 Node.js 安装好之后,就可以使用 npm 来安装 @abandonware/noble 模块了。在终端中输入以下命令:
--- ------- ------------------
使用
安装完成后,我们需要用 require 函数将 @abandonware/noble 模块引进来:
----- ----- - ------------------------------
初始化
在使用任何 @abandonware/noble 提供的方法前,我们需要先初始化 noble。noble 的初始化过程非常简单,只需要调用 noble 的 start 方法即可:
----------------------
扫描设备
在 noble 初始化后,我们就可以使用 noble 的 startScanning 方法来扫描周围的低功耗蓝牙设备。当搜索到目标设备时,noble 会通过你传入的回调函数通知你:
-------------------- ------------ -- - ----------------------- ------------------------------------ ---
连接设备
扫描到感兴趣的设备后,我们需要使用 noble 的 connect 方法来连接设备:
----------------------------- ----------
其中 peripheralUuid 是你感兴趣的设备的 UUID。在连接成功后,你可以使用 noble 的 discoverServices 方法来发现设备上的服务:
----------------------------------------- ----------
其中 serviceUuids 是你感兴趣的服务的 UUID。
读写特征值
在 noble 让我们成功连接到设备并发现服务后,我们就可以使用 noble 的 read 和 write 方法来读写设备上的特征值:
-- ----- -------------- --------------------------- ----- -- - -------------------- - ------ --- -- -------- -------------- -------------------------- ------ ----- -- - ------------------- - ---- - ------ - ----- ---
示例代码
以下是一个完整地利用 @abandonware/noble 读取蓝牙 Low Energy 温度计数据的示例代码:
----- ----- - ------------------------------ --- ------------- ----- ------------------------ - ------- ----- ------------------------------- - ------- ----------------------- --------------- - -- ------ --- ------------ - ------------------------------ ----------------------------------------------- ------- - ---- - --------------------- - --- -------------------- -------------------- - ----------------------- ------------------------------------ -- ----------------------------------- --- --------------------- - ------------ - ----------- ---------------------- ------------------------------------ --------------------- ------------------ - --- -------- ----------------- - ----------------------------- ------- - -- ------- - ---------------------- ------- - ---- - -------------------------------- ------------------- - --- - -------- ------------------ - --------------------------------------------------------- -------- ------- --------- - -- ------- - ------------------------ ------- - ---- - -------------------------------- ----------------------------------------------- - --- - -------- ------------------------------------------ - ------------------------------------------------------------------ -------- ------- ---------------- - -- ------- - ------------------------ ------- - ---- - --------------------------------- -------------------------------------------------- - -- - -------- --------------------------------------------- - ---------------------------- ------- ----- - -- ------- - ------------------------ ------- - ---- - ---------------------- ------------------- - --- -
总结
在本文中,我们介绍了如何使用 Node.js 的 @abandonware/noble 模块来处理蓝牙 Low Energy 设备,具体包括了如何扫描设备、连接设备、读写特征值等操作。本文还提供了一个完整的读取蓝牙 Low Energy 温度计数据的示例代码,可以直接在浏览器中运行。
当然,这只是一个简单的应用场景,真正使用 noble 处理蓝牙设备还有很多其他的方面需要考虑,比如断开连接后的自动重连、蓝牙设备服务的枚举、特征值的解析等等,这里就不再赘述了。如果你有相关的需求,可以去 noble 的官方文档中了解更多关于该模块的详细信息。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/5eedadc5b5cbfe1ea0610d13