npm 包 node-red-contrib-viseo-sarah 使用教程

前言

node-red-contrib-viseo-sarah 是一个基于 Node-RED 开发的语音助手插件,其可以与 SARAH 交互,实现语音控制 Node-RED 中的设备、节点等操作。

本教程将介绍如何使用该插件,希望能够帮助读者了解 Node-RED 插件的开发和使用技巧。

环境要求

在使用 node-red-contrib-viseo-sarah 插件之前,需要满足以下环境要求:

  • Node.js 版本大于等于 8.9.0
  • Node-RED 版本大于等于 0.19.0
  • SARAH 插件

另外,如果您要运行示例代码,还需要安装以下软件:

  • Git 客户端
  • MongoDB 数据库

安装

在满足环境要求后,可以通过以下两种方式安装 node-red-contrib-viseo-sarah 插件:

方式一:使用 Node-RED 管理界面安装

  1. 打开 Node-RED 管理界面,点击右上角的菜单图标,选择 “管理面板”。

  2. 在左侧菜单中选择 “Pallete” 选项卡,在搜索栏中输入 “viseo-sarah”,然后点击 “Install” 按钮进行安装。

方式二:使用 npm 安装

--- ------- ----------------------------

使用方法

1. 配置 SARAH 插件

在使用 node-red-contrib-viseo-sarah 插件之前,需要在 SARAH 中进行一些配置。

  1. 在 SARAH 安装目录下创建 plugins/sarah-viseo 文件夹,并将 node-red-contrib-viseo-sarah 插件的 www/js/sarah-files 文件夹中的所有文件复制到 plugins/sarah-viseo 文件夹下。

  2. 打开 plugins/sarah-viseo/config/config.xml 文件进行配置。需要修改以下参数:

    • url:将其设置为 Node-RED 管理界面的地址(例如:http://localhost:1880);

    • port:将其设置为 Node-RED 管理界面的端口号(例如:1880);

    • ssl:如果使用 SSL 进行连接,则将其设置为 true,否则设置为 false

    • keyPathcertPath:如果使用 SSL,需要分别设置证书和私钥文件的路径。

2. 配置 Node-RED

在 SARAH 插件配置好后,需要在 Node-RED 中进行一些配置。

  1. 启动 Node-RED,打开管理界面。

  2. 打开 Settings.js 文件进行配置。需要修改以下参数:

    • credentialSecret:设置一个用于加密/解密用户凭证的密钥。该参数需要在后面的配置中使用;

    • httpStatic:设置一个用于保存静态资源的目录(例如:/home/user/static)。该参数需要在后面的配置中使用;

    • contextStorage:将其设置为 memoryOnlyfile

  3. 在 Node-RED 中安装 node-red-contrib-viseo-sarah 插件,使用方式请参考前文。

  4. 在 Node-RED 中创建一个 sarah-config 节点,并根据自己的情况进行配置。

    配置项包括:

    • name:节点的名称;

    • url:SARAH 插件的地址;

    • port:SARAH 插件的端口号;

    • ssl:如果使用 SSL 进行连接,则将其设置为 true,否则设置为 false

    • keyPathcertPath:如果使用 SSL,需要分别设置证书和私钥文件的路径;

    • token:用于加密/解密用户凭证的密钥,同 Settings.js 文件中的 credentialSecret 参数。

  5. 在 Node-RED 中创建一个 sarah-speech 节点,并根据自己的情况进行配置。

    配置项包括:

    • name:节点的名称;

    • listen:用于监听语音指令的端口号;

    • answer:用于回答语音指令的端口号;

    • credential-usercredential-password:用于验证用户凭证的用户名和密码。

3. 使用示例

下面是一个使用 node-red-contrib-viseo-sarah 插件的示例,其可以通过语音指令控制 LED 灯的开关。

首先在 Node-RED 中创建以下节点:

这些节点分别是:

  • sarah-config 节点,用于配置 SARAH 插件的参数;
  • sarah-speech 节点,用于监听和回答语音指令;
  • http in 节点(GET 方法),用于获取 LED 灯状态;
  • http request 节点(PUT 方法),用于设置 LED 灯状态。

其中,http in 节点和 http request 节点需要安装 node-red-contrib-httpauth 插件,以实现用户认证。

接着,我们需要初始化 MongoDB 数据库。首先在 MongoDB 中创建一个名为 test 的数据库,然后执行以下命令:

----------- ---- ---- ------------ ---- ------ ------ --------

其中,led.json 是一个 JSON 文件,其内容如下:

-
  -
    ------- ------
    -------- -----
  -
-

该文件用于初始化 LED 灯的状态。

最后,将以下代码复制到 http in 节点和 http request 节点之间的 function 节点中:

----- ----------- - -------------------------------
----- --- - ---------------------------------
----- -------------- - -------

-------------- - ------------- -
    -------- --------------- -
        -------------------------- --------
        ----- ---- - -----

        ------------------ ------ ------ ------ ----- ------------------

        ------------------------ ------------- --- -
            -- ----- -
                ------------------ ------ ------ ------ ----- --- ---------- ----------
                ----------------
            - ---- -
                ------------------ -------- ------ ------ ----- --- ---------- -----------
                ----- ---------- - ------------------------------
                ----- ---- - ------------

                ---------------- ------------- -
                    -- ------------ --- ----- -
                        --------------------------- ------ ------ ------- ------- ------------- ------- -
                                -- ----- -
                                    ---------------
                                - ---- -- -------------------- --- -- -
                                    -------------- ------- --- --------
                                - ---- -
                                    ------------- ------- ------ -----
                                -
                        ---
                    - ---- -
                        --------------------------- ------ ------ ------- -------- ------------- ------- -
                            -- ----- -
                                ---------------
                            - ---- -- -------------------- --- -- -
                                -------------- ------- --- --------
                            - ---- -
                                ------------- ------- ------ ------
                            -
                        ---
                    -
                ---

                ---------------- ---------- -
                    -----------
                ---
            -
        ---
    -

    ----------------------------- ---------
--

该代码实现了一个 led 节点,用于控制 LED 灯的开关。每当 http request 节点向 http in 节点发送请求时,会触发 led 节点的 input 事件,从而控制 LED 灯的状态。

最后,我们需要在 Node-RED 管理界面上创建一些节点,连接以上节点,并进行配置。具体操作过程请参考下面的截图:

至此,我们已经完成了 node-red-contrib-viseo-sarah 插件的配置和使用,您可以使用语音指令 “打开/关闭 LED 灯” 进行控制测试。

总结

本文介绍了 node-red-contrib-viseo-sarah 插件的安装和使用,包括 SARAH 插件的配置、Node-RED 的配置和节点的创建等操作。同时,本文也展示了一个使用该插件的示例,帮助读者更好地理解插件的开发和使用方式。

该插件可以帮助开发者实现语音控制 Node-RED 中的设备、节点等操作,提高开发效率和用户体验。希望本文对读者有所帮助,也希望开发者们能够从中汲取一些有用的学习和指导意义。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/80469


猜你喜欢

  • npm包node-red-contrib-viseo-salesforce的使用教程

    在前端开发中,npm是一个非常重要的工具,通过这个工具可以实现众多的功能,包括管理包、更新包、安装包等等。本文将介绍如何通过npm包node-red-contrib-viseo-salesforce来...

    5 年前
  • npm 包 node-red-contrib-viseo-tokenizer 使用教程

    什么是 node-red-contrib-viseo-tokenizer? node-red-contrib-viseo-tokenizer 是一个用于自然语言处理的 npm 包,基于 Node-RE...

    5 年前
  • npm 包 node-red-contrib-viseo-sox 使用教程

    Node.js 是一个非常强大的 JavaScript 运行环境,让开发人员可以在服务器端构建高性能应用程序。npm 是 Node.js 的包管理器,可以让开发人员方便地管理和分享应用程序的代码。

    5 年前
  • npm 包 node-red-contrib-viseo-trello 使用教程

    前置知识 在开始使用 node-red-contrib-viseo-trello,需要先了解以下概念: Node-RED:一个基于 Node.js 开发的可视化编程工具,用于 IoT 设备、API ...

    5 年前
  • npm包node-red-viseo-bot-manager使用教程

    在前端开发中,npm作为最受欢迎的包管理器,已被广泛应用。今天,我们将介绍一个名为node-red-viseo-bot-manager的npm包,并提供详细的使用教程。

    5 年前
  • npm 包 node-red-contrib-viseo-zendesk 使用教程

    简介 node-red-contrib-viseo-zendesk是一个用于Node-RED的npm包,它提供了一个方便的方式来与Zendesk API进行交互。它可以用来获取、创建、更新和删除Zen...

    5 年前
  • npm 包 node-red-viseo-helper 使用教程

    前言 Node-RED 是一个比较流行的基于 JavaScript 的工具,用于构建物联网应用、自动化流程和机器学习等领域。在 Node-RED 中,我们可以通过编写自定义节点来扩展其功能。

    5 年前
  • npm 包 node-red-contrib-viseo-ethjs 使用教程

    简介 node-red-contrib-viseo-ethjs 是一个用于与以太坊区块链进行交互的 Node-RED 组件。该组件基于 ethjs 库实现,提供了许多与以太坊交互相关的功能,如查询账户...

    5 年前
  • npm 包 ethjs-provider-signer 使用教程

    介绍 ethjs-provider-signer 是一个基于 ethjs-provider 的 npm 包,用于将签名后的请求发送到以太坊节点。其支持多种签名方法,并且适用于前端和 Node.js 应...

    5 年前
  • npm 包 bisonjs 使用教程

    Bisonjs 是一个基于 JavaScript 的解析器生成器。其通过提供一个简单的 DSL(领域特定语言)来使得用户能够轻松地定义自己的语法。在使用过程中,您只需编写一些规则即可自动生成语法解析器...

    5 年前
  • npm 包 emblem-js 使用教程

    Emblem-js 是一个模板引擎,它可以将模板转化为 HTML。它使用类似 Handlebars 的语法,并且提供了像默认值、条件语句、循环等功能。本文将会介绍如何使用 npm 包 emblem-j...

    5 年前
  • npm 包 babel-plugin-inline-json 使用教程

    在前端开发中,我们经常会遇到需要在 JavaScript 代码中使用 JSON 数据的情况。如果每次都把 JSON 数据写在 JavaScript 文件里显然是不太优雅的做法,而且也不便于维护。

    5 年前
  • npm 包 robonomics-js 使用教程

    Robonomics 是一个针对机器人经济的开源平台,而 robonomics-js 是 Robonomics 官方提供的 JS 库,提供了与 Robonomics 网络进行交互的接口。

    5 年前
  • npm 包 xrtd-js 使用教程

    在前端开发中,我们常常会使用一些第三方的库和工具来提高开发效率。其中,NPM 是一个广受欢迎的包管理工具,能够帮助我们轻松地管理和下载所需的 JavaScript 包。

    5 年前
  • npm 包 ipfs-api 使用教程

    什么是 IPFS IPFS(InterPlanetary File System)是由 Juan Benet 创建的开源分布式文件系统。它是一个基于内容寻址的 p2p 文件系统,旨在使整个互联网可以变...

    5 年前
  • npm 包 complex-filter 使用教程

    在前端开发过程中,我们常常需要对数据进行筛选和过滤。这个时候,一个好用的数据过滤工具就显得尤为重要了。其中,npm 上有一个常用的数据筛选工具,名为 complex-filter。

    5 年前
  • npm 包 oip-js 使用教程

    什么是 oip-js? oip-js 是一款基于 Node.js 平台的 npm 包,用于实现与 OIP(Open Index Protocol)协议的交互。OIP 是一种去中心化数据存储和查询协议,...

    5 年前
  • npm 包 etdb-downloads 使用教程

    前言 etdb-downloads 是一个基于 Node.js 的 npm 包,用于批量下载 ETDB 数据库文件。ETDB(The Encyclopedia of DNA Elements)是一个基...

    5 年前
  • npm 包 build-and-watch 使用教程

    简介 build-and-watch 是一个基于命令行的 npm 包,用于监听指定目录下的文件变化并执行一些构建任务,可以帮助前端工程师自动化构建,提高工作效率。 安装 在命令行中输入以下代码进行安装...

    5 年前
  • npm 包 blockexplorer 使用教程

    如果你是前端开发者,而且对比特币和区块链有所了解,那么你肯定听说过 blockexplorer。 blockexplorer 是一个开源的区块链浏览器,它可以用来查询比特币和其他加密货币的交易和区块信...

    5 年前

相关推荐

    暂无文章