前言
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 管理界面安装
打开 Node-RED 管理界面,点击右上角的菜单图标,选择 “管理面板”。
在左侧菜单中选择 “Pallete” 选项卡,在搜索栏中输入 “viseo-sarah”,然后点击 “Install” 按钮进行安装。
方式二:使用 npm 安装
--- ------- ----------------------------
使用方法
1. 配置 SARAH 插件
在使用 node-red-contrib-viseo-sarah
插件之前,需要在 SARAH 中进行一些配置。
在 SARAH 安装目录下创建
plugins/sarah-viseo
文件夹,并将node-red-contrib-viseo-sarah
插件的www/js/sarah-files
文件夹中的所有文件复制到plugins/sarah-viseo
文件夹下。打开
plugins/sarah-viseo/config/config.xml
文件进行配置。需要修改以下参数:url
:将其设置为 Node-RED 管理界面的地址(例如:http://localhost:1880
);port
:将其设置为 Node-RED 管理界面的端口号(例如:1880
);ssl
:如果使用 SSL 进行连接,则将其设置为true
,否则设置为false
;keyPath
和certPath
:如果使用 SSL,需要分别设置证书和私钥文件的路径。
2. 配置 Node-RED
在 SARAH 插件配置好后,需要在 Node-RED 中进行一些配置。
启动 Node-RED,打开管理界面。
打开
Settings.js
文件进行配置。需要修改以下参数:credentialSecret
:设置一个用于加密/解密用户凭证的密钥。该参数需要在后面的配置中使用;httpStatic
:设置一个用于保存静态资源的目录(例如:/home/user/static
)。该参数需要在后面的配置中使用;contextStorage
:将其设置为memoryOnly
或file
。
在 Node-RED 中安装
node-red-contrib-viseo-sarah
插件,使用方式请参考前文。在 Node-RED 中创建一个
sarah-config
节点,并根据自己的情况进行配置。配置项包括:
name
:节点的名称;url
:SARAH 插件的地址;port
:SARAH 插件的端口号;ssl
:如果使用 SSL 进行连接,则将其设置为true
,否则设置为false
;keyPath
和certPath
:如果使用 SSL,需要分别设置证书和私钥文件的路径;token
:用于加密/解密用户凭证的密钥,同Settings.js
文件中的credentialSecret
参数。
在 Node-RED 中创建一个
sarah-speech
节点,并根据自己的情况进行配置。配置项包括:
name
:节点的名称;listen
:用于监听语音指令的端口号;answer
:用于回答语音指令的端口号;credential-user
和credential-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