当前位置:首页 > 物联网 > IoT设计分享
[导读]现在私人助理很受欢迎。它们帮助用户使用语音控制提供信息和控制设备。市场上有很多语音助手,比如亚马逊Alexa、谷歌助手、Siri等。它们都非常先进,使用人工智能(AI)来检测用户的查询并给予适当的反馈。IBM沃森也是提供语音助手服务的工业级物联网和人工智能平台之一。我们以前使用IBM沃森物联网平台与树莓派和ESP32发送温度和湿度数据到云端。

现在私人助理很受欢迎。它们帮助用户使用语音控制提供信息和控制设备。市场上有很多语音助手,比如亚马逊Alexa、谷歌助手、Siri等。它们都非常先进,使用人工智能(AI)来检测用户的查询并给予适当的反馈。IBM沃森也是提供语音助手服务的工业级物联网和人工智能平台之一。我们以前使用IBM沃森物联网平台与树莓派和ESP32发送温度和湿度数据到云端。

IBM Watson是一个强大的平台,它为您的产品提供语音到文本、文本到语音、视觉识别、自然语言处理和认知计算功能等服务。IBM沃森也有开源机器人,被称为TJBot。这个IBM沃森人工智能机器人可以很容易地实现使用树莓派。这个机器人的所有组件都是开源的,你可以3D打印它的身体,也可以用树莓派制作你自己的TJBot。TJBot还支持摄像头检测并给出适当的反馈。

因此,在本教程中,我们将制作一个个性化的IBM Watson AI聊天机器人,它可以为您提供基于语音的反馈。在这里,我们将通过创建讲笑话的技能来演示它,但是您可以使用这个AI聊天机器人创建任何交互和有用的技能。

硬件需求

•Raspberry Pi 3[推荐]或Raspberry Pi 2 Model B[支持]和SD卡(8GB及以上)

•外接扬声器,3.5mm AUX电缆

•任何网络摄像头或USB 2.0麦克风

要开始使用树莓派,您应该有一个可以使用HDMI电缆连接的显示器,或者您可以使用SSH终端或VNC服务器访问它。

注意:网络摄像头有内置麦克风,所以我们将使用它来代替USB 2.0麦克风。

整个Watson聊天机器人教程主要分为4个部分,具体如下:

•设置SSH或VNC服务器访问pi,并检查音频输入和输出。

•从IBM云获取沃森服务

•添加与IBM Watson机器人交互的技能。

•在树莓派上安装Tjbot库。

第1部分:使用SSH和VNC设置Raspberry Pi

首先,我们必须使用Putty、MobaXterm、TeamViewer等远程访问软件设置SSH或VNC。如果你有HDMI显示器,那么你可以直接连接树莓派与它,并可以访问它的功能。

用树莓派检查摄像头麦克风:

1. 打开树莓派终端,输入record -l命令。这将显示连接到树莓派的硬件设备,如下所示:

卡片1是我们将要使用的网络摄像头的MIC。如果没有显示,则表示摄像头可能有缺陷。

2. 现在,通过运行record audio命令检查MIC是否正常工作:

3. 要播放录制好的音频,输入以下命令:

如果树莓派用HDMI电缆连接到显示器,那么默认情况下音频输出将通过显示器的扬声器(如果有内置扬声器)。因此,要将输出改为3.5mm音频插孔,输入以下命令:

现在,你应该听到3.5毫米插孔的声音。

注意:要增加或减少麦克风的输入声音响度,请在终端输入alsamixer,然后按F6从终端选择声卡。

按F4改变MIC - dB增益,并设置为您想要的。

这里我们使用Webcam作为USB麦克风,但是上面的步骤对于为IBM Watson会话设置USB 2.0麦克风仍然是相同的。

第2部分:设置Watson帐户和服务

1. 首先,要在IBM云网站上创建帐户,请访问该网站并单击“创建帐户”。如果您已经有帐户,那么您可以简单地通过输入您的凭据登录。

2. 单击搜索栏右侧给出的Catalog。现在,点击AI选项。为了与Bot聊天,我们需要在这个平台上提供三个服务。这些服务包括语音到文本、文本到语音和沃森助手。因此,添加这些服务,并注意在添加这些API密钥时我们将获得的API密钥。注意每个服务的键。

3. 我们将从向文本添加语音开始,添加其他服务的步骤将与下面描述的相同。点击语音转文本服务然后点击创建。

4. 单击Service Credentials,然后单击View Credentials。通过点击复制图标复制整个内容,如下所示。

5. 现在,将同一AI目录中的文本添加到语音和沃森助手,并复制每个服务的凭据。如果“服务凭据”中没有出现凭据,那么只需单击“新凭据”,它就会出现。

我们已经完成了为IBM聊天机器人设置服务的工作。现在,我们需要创造技能并用可能的答案训练它。

第3部分:创造和训练技能

1. 转到您之前创建的沃森助手服务,并在沃森助手服务中添加技能。因此,单击Launch Watson Assistant,如下所示。

2. 技能模板已经在沃森助手中给出,我们将使用它并放置我们的技能内容。所以,点击技能,然后点击我的第一个技能。单击“创建技能”,还可以创建其他技能。

3. 在这里,我们正在制作一个讲笑话的技能,所以创建一个实体来检测单词“笑话”,点击实体,然后创建实体。

4. 现在,输入“joke”作为实体名称和值名称。输入单词joke的同义词,然后单击Add value,如下所示。如果你想做其他的活动,比如介绍,那就单独做一个实体。

5. 现在,创建一个对话框,对被问到的问题给出反馈。点击对话框然后点击创建对话框。

6. 在对话中,写出对所问问题的回答。然后创建一个包含可能问题的节点,并为它编写可能的答案。默认情况下,已经有两个节点,一个是Welcome note,另一个是其他节点。

7. 单击Add节点并给它一个名称,然后识别单词为@joke:joke。写出可能的答案,如下所示。

8. 现在,我们需要训练我们的机器人识别问题并做出相应的反应。因此,单击窗口右下角的Try it,您将看到welcome节点生成的欢迎提示。

9. 在try it out窗口中写一个问题来获得响应。就像我们会问“告诉我一个笑话”,写下这句话并按回车键,你会看到如下所示的回复。如果答案与所问的问题不匹配,只需从下拉菜单中选择标记无关。这样模型就可以被训练成沃森聊天机器人。

10. 类似地,对其他问题,比如你是谁?你能做什么?填好你的回答,然后训练它。你已经准备好在树莓派上测试你的技能了。

第4部分:在Raspberry pi中安装TJBot库

1. 首先,我们必须更新树莓派软件包,打开终端并运行以下命令

2. 现在,使用下面的命令安装TJBot的引导包

安装它需要时间,所以,去给你拿杯咖啡吧。

3. 安装完成后,您将看到如下消息

一些设置问题会被问到,比如你想安装TJBot库吗,点击Y,你想安装nodejs吗,点击9,因为TJBot包运行在nodejs 9版本上,其他问题也类似。

完全安装完成后,将在Desktop上创建一个TJBot文件夹。

4. 如果你没有安装NodeJS 9,那么运行以下命令来安装NodeJS 9。

现在,重新启动树莓派

5. 现在,使用npm编译TJBot模块。使用下面的命令安装npm

6. 使用cd命令转到tjbot/recipes/conversation目录,运行以下命令编译模块。

7. 编译完成后,输入我们正在使用的服务的凭据。为此,转到conversation文件夹并运行以下命令

该命令将config.default.js文件中的内容复制到config.js中。现在,我们可以在config.js文件中编辑和输入凭据。

8. 使用nano文本编辑器使用下面的命令打开config.js文件:

然后输入工作区ID, Watson助手的凭据(api密钥和url),语音到文本和文本到语音。工作空间ID可以在IBM平台的技能控制台中找到,如下所示。

如下所示,输入所有三个服务的凭据,并使用ctrl+x保存并按Enter。

IBM聊天机器人演示

现在,我们准备运行IBM沃森助手。因此,在tjbot/recipes/conversation文件夹中运行下面的命令来启动助手。

如果所有模块工作正常,那么您将在终端上看到如下所示的输出

现在,问一个问题“沃森,给我讲个笑话”,你会得到类似这样的回答,你也可以从扬声器上听到回答。

可以通过在config.js文件中编辑TJBot的配置来更改bot的名称,如下所示。

本文编译自iotdesignpro

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭