介绍
noble-highsierra 是一个用于在 macOS High Sierra 上与蓝牙低功耗设备通信的 Node.js 模块。它是 noble 的一个修补版,因为原本的 noble 无法在 macOS High Sierra 上使用。
本文将主要介绍 noble-highsierra 的安装、使用以及一些例子与教程。
安装
在安装 noble-highsierra 之前,你需要在你的电脑上先安装 node.js 和 npm。
使用 npm 命令进行安装:
npm install noble-highsierra
使用
首先,你需要引入 noble-highsierra 并以 peripheral 模式启动它:
-- -------------------- ---- ------- ----- ----- - ---------------------------- ----------------------- --------------- - -- ------ --- ------------ - -------------------------------------- - ---- - --------------------- - ---
注意:SERVICE_UUID
需要替换成你要扫描的设备的服务 UUID。
在成功启动 noble-highsierra 后,你可以使用以下事件来监听扫描、发现和连接设备:
stateChange
: 监听蓝牙适配器的状态变化scanStart
: 监听 noble 开始扫描事件scanStop
: 监听 noble 停止扫描事件discover
: 监听 noble 发现设备事件connect
: 监听 noble 连接设备事件disconnect
: 监听 noble 断开连接事件
下面是一个基本的例子:
-- -------------------- ---- ------- ----- ----- - ---------------------------- ----------------------- --------------- - -- ------ --- ------------ - -- ------ ---- - ---- ------ ----------------------------- ------- - ---- - --------------------- - --- --------------------- ---------- - ----------------------- --- -------------------- ---------- - ----------------------- --- -------------------- -------------------- - ------------------ ----------------- ---------------------------------------- --- ------------------- ---------- - ---------------- -- ----------- --- ----------------- ---------- - ---------------- -- ----------- --- ------------------- -------------------- - ------------------- ---------------------------------------- --- ---------------------- -------------------- - -------------------- ---------------------------------------- ---
API
noble-highsierra 提供了以下 API:
startScanning(serviceUUIDs, allowDuplicates, callback)
: 开始扫描蓝牙设备。可以传入serviceUUIDs
数组进行筛选,筛选方式是只返回符合这些服务 UUID 的设备。allowDuplicates
布尔值表示是否允许重复扫描同一个设备。callback
可选,是一个参数为 error 的回调函数。stopScanning()
: 停止扫描蓝牙设备。on(event, listener)
: 在 noble-highsierra 上注册一个事件监听器。所有事件见上方。
同时,noble-highsierra 继承了 noble 中的 API,不再赘述。
完整例子
下面是一个完整的例子,它可以扫描指定的设备,并读取设备输出的全部信息:
-- -------------------- ---- ------- ----- ----- - ---------------------------- -- -------- --- -------------------- - --- ------ -- ----------- ----------------------- --------------- - -- ------ --- ------------ - -------------------------------- -- ---- ----------------------------- ------- - ---- - ------------------------ --------------------- - --- -- -------- --------------------- ---------- - ------------------------- --- -- -------- -------------------- ---------- - ---------------------------- --------------------------- --- -- -------- -------------------- -------------------- - ----------------- ----------------- ---------------------------------------- -- ---- ---------------------------------- - -- ------- - --------------------- ------- - ----------------- ---------------- ----- -- ---------- ------------------------------------- -- -------- --------------------------- ---------- - ------------------ ------------------- -- ----------- ---------------------------------------- --- -- -------- --------------------------------------------- --------------- --------- - -- ------- - ---------------------- ----------- ------- - --------------- ------------------- ------------------- -- -------- ------------------------------------------------------------ --------------- ---------------- - -- ------- - ---------------------- ----------- ------- - ---------------------------------- ---------------------- - --- ---- -------------- -- ---------------- - ----------------------------------- ----- - -- ------- - ------------------- ---------------------- --- ----------- - ---- - --------------- ---------------- --- -------------------------- - --- - -- ------ --- --- --- ---
结论
noble-highsierra 是在 macOS High Sierra 上与蓝牙低功耗设备通信的 Node.js 模块。本文介绍了 noble-highsierra 的安装、使用方法和示例代码。希望对你的开发和学习有所帮助!
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005738981e8991b448e97b5