npm 包 noble-highsierra 使用教程

介绍

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


猜你喜欢

  • NPM 包 vfly-ui 使用教程

    介绍 vfly-ui 是一个基于 Vue.js 的组件库,包含了各种常见的 UI 组件,如按钮、表单、弹窗、图表等等。它的设计理念是灵活、易用、可扩展,可以帮助开发者快速搭建漂亮的界面。

    3 年前
  • npm 包 Gif-Talkr 使用教程

    1. 简介 Gif-Talkr 是一款基于 WebRTC 和 WebSocket 技术的 npm 包,可以实时捕获麦克风的音频并转换成 Gif 动画,并通过 WebSocket 发送给远程用户展示,提...

    3 年前
  • npm 包 face-blinder 使用教程

    什么是 face-blinder? face-blinder 是一个基于 JavaScript 的 npm 包,可以用于自动模糊图像中的人脸部分,保护人们的隐私。这个包基于 face-api.js,是...

    3 年前
  • npm 包 global-package-version 使用教程

    什么是 global-package-version? global-package-version 是一个 npm 包,它可以帮助你在全局安装的 npm 包中查询当前版本号。

    3 年前
  • npm 包 @corbinu/code 使用教程

    前言 前端开发过程中,我们经常使用各种工具和框架来辅助我们开发。其中,npm 包是非常重要的一部分,因为 npm 是一个庞大的生态系统,其中有数以千计的第三方包,可以极大地方便我们的开发。

    3 年前
  • npm 包 shimiteer 使用教程

    引言 随着前端开发的快速发展,前端技术领域的 npm 包数量也越来越多。npm 这一包管理工具极大地简化了开发者的工作,让前端应用的开发变得更加高效和便捷。而在许多 npm 包中,极具实用性的 shi...

    3 年前
  • npm 包 redux-asynch-middleware 使用教程

    介绍 redux-asynch-middleware 是一个用于处理异步 action 的 redux 中间件。它可以使得我们在 redux 中以更加清晰规范的方式进行异步处理。

    3 年前
  • npm 包 cordova-plugin-acmp 使用教程

    简介 cordova-plugin-acmp 是一个 Cordova 插件,用于 Android 平台音乐播放和控制。该插件封装了 Android 可用的 MediaPlayer 类,以便于前端开发者...

    3 年前
  • npm 包 express-resolve-path 使用教程

    npm包express-resolve-path使用教程 在前端开发中,我们通常需要使用Node.js和npm包管理器来构建Web应用程序。而其中一个重要的npm包就是express-resolve-...

    3 年前
  • npm 包 mip-forms 使用教程

    mip-forms 是一个用于快速创建表单的 npm 包。在前端开发中,表单常常是不可或缺的一部分。mip-forms 可以帮助开发者快速创建表单,并提供轻松的表单数据管理功能。

    3 年前
  • npm 包 pinyin-engine 使用教程

    简介 Pinyin Engine 是一个用于将中文汉字转化成拼音的 npm 包。通过这个包,您可以方便地将中文汉字转化成拼音,并且可以选择不同的转化模式。本文将向您介绍 pinyin-engine 的...

    3 年前
  • npm 包 vue-simple-assistive-ball 使用教程

    介绍 vue-simple-assistive-ball 是一个 Vue.js 组件,提供一个半透明的浮动球,用户可以拖动它来打开相关的功能弹窗,如回到顶部、侧边栏等功能。

    3 年前
  • npm 包 react-vr-hand 使用教程

    在实际的前端开发中,我们往往需要使用到各种第三方库来提高我们的开发效率和代码质量。npm 是目前最为流行的 JavaScript 包管理器之一,而 react-vr-hand 就是 npm 上提供的一...

    3 年前
  • npm 包 hummus-form-basics 使用教程

    介绍 npm 包 hummus-form-basics 是一个基于 HummusJS 的 PDF 表单操作工具。使用该工具,您可以轻松地在 PDF 文件中创建、填写、保存表单。

    3 年前
  • npm 包 notify_sender 使用教程

    1. 简介 notify_sender 是一个基于 Node.js 的 npm 包,用于发送桌面通知。它支持 Windows、macOS 和 Linux 平台,并且可以自定义通知的标题、消息内容和图标...

    3 年前
  • npm 包 react-category-jd 使用教程

    介绍 react-category-jd 是一个层次分类组件,可以让用户方便地选择多个分类项。react-category-jd 针对京东的分类展示进行了优化,界面美观且易于使用。

    3 年前
  • NPM包react-native-cards使用教程

    介绍 react-native-cards是一个React Native组件库,它可以让你轻松地创建卡片式UI。它提供了多种样式和皮肤,你可以根据自己的需要选择合适的卡片风格。

    3 年前
  • npm 包 unixtimejs 使用教程

    1. 简介 Unix 时间戳(Unix Time Stamp)是从 1970 年 1 月 1 日 00:00:00 UTC 到当前时间的秒数。在前端开发中,经常会涉及到时间戳的转换和比较,这时我们可以...

    3 年前
  • npm 包 hyper-giphy-stickers 使用教程

    简述 hyper-giphy-stickers 是一个帮助我们在 Hyper 终端中使用 Giphy 表情包的 npm 包。它以命令行的形式为终端用户提供了一个接口,用于搜索并自动粘贴 Giphy 表...

    3 年前
  • npm 包 jquery.autocomplete-multiple 使用教程

    介绍 jquery.autocomplete-multiple 是一个能够提供自动补全多选功能的 jQuery 插件。该插件利用了 jQuery UI Autocomplete 控件的能力,提供了多选...

    3 年前

相关推荐

    暂无文章