npm 包 noble-highsierra 使用教程

阅读时长 8 分钟读完

介绍

noble-highsierra 是一个用于在 macOS High Sierra 上与蓝牙低功耗设备通信的 Node.js 模块。它是 noble 的一个修补版,因为原本的 noble 无法在 macOS High Sierra 上使用。

本文将主要介绍 noble-highsierra 的安装、使用以及一些例子与教程。

安装

在安装 noble-highsierra 之前,你需要在你的电脑上先安装 node.js 和 npm。

使用 npm 命令进行安装:

使用

首先,你需要引入 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

纠错
反馈