使用 Watson 和 IoT Platform 服务构建家庭助理移动应用程序(1)
 
- UID
- 1066743
|

使用 Watson 和 IoT Platform 服务构建家庭助理移动应用程序(1)
过去,构建家庭助理需要做大量工作,而且可能在技术上存在挑战。但是,借助 IBM Watson 和其他互补性云服务,您现在能够轻松地进行创造和创新。
本教程将介绍如何将 Watson 的强大功能与 IBM IoT Platform 的简单性相结合,创建一个家庭助理来控制一些基本的电子设备(灯和相机)。可以扩展该框架来控制连接的真实家电。您可以使用本教程作为指导,构建自己的应用程序。
家庭助理移动应用程序使用 iOS Swift 开发,它使用键盘输入和语音命令与 IBM Watson Conversation 进行通信;而且用户界面还支持发送消息或讲话。我使用了 Watson Text to Speech 和 Speech to Text 服务来实现此对话。Watson Conversation 已经过训练,能够根据语音命令或输入消息来推断意图。根据这些意图,家庭助理应用程序会通过 IoT Platform 服务和一个家庭网关 (Raspberry Pi) 向设备发送命令。家庭网关控制各种设备,并通过 IoT Platform 服务将设备事件发送给家庭助理应用程序。该系统还使用 Object Storage 服务来存储家庭网关上传的照片。
您可以下载该家庭助理的代码,作为构建自己的应用程序的起点。

该应用程序的基本工作流是:
- (1) 用户口头发出一个命令或在家庭助理的用户界面中键入一个命令。
- (2,3)使用 Watson Speech to Text 服务将语音命令转录为文本。如果用户键入命令,则跳过这一步。
- (4,5)将已转录的文本转发给 Watson Conversation,使其能够从用户的语音中推断出意图。
- (6) 收到意图时,家庭助理程序会构造一条 JSON 消息的命令并将其发送给 IoT Platform。
- (7) 一个 Node-RED 应用程序在家庭网关上运行,它会订阅命令主题并接收命令消息。
- (8a,8b)家庭网关执行相应操作,包括开灯或关灯,或者拍照。
- (8c) 将拍摄的照片上传到 Object Storage。
- (9) 完成任务后,Node-RED 应用程序将设备事件(包含状态)作为一个 JSON 消息发送给 IoT Platform。
- (10) 家庭助理(已订阅该设备主题)收到设备事件。
- (10a) 从 Object Storage 下载拍摄的照片并显示在用户界面上。
- (11,12)家庭助理会提取状态文本,并将它转发给 Watson Text to Speech 服务,以便将其转换为音频。
- (13) 然后,家庭助理向用户播放该音频。
下面的屏幕截图显示了这个家庭助理移动应用程序。

构建您的应用程序需要做的准备工作要构建一个类似家庭助理的应用程序,需要熟悉:
- iOS 开发环境
- Swift 编程
- Node-RED 开发环境
- Watson Developer SDK
- IoT Platform 和 MQTT 协议
为了构建该应用程序,我使用了以下开发环境、硬件和 Bluemix 服务:
开发环境Bluemix 服务- IBM
- Watson
- Watson
- Watson
- Watson
- Bluemix
硬件- Raspberry Pi 3B Starter Kit,包括 SD 卡和电源适配器(带 USB 线)
- Adafruit NeoPixel 散射 8 毫米通孔 LED - 5 个装
- 适合 Raspberry Pi 3B/2B/B+ 的 500 万像素网络摄像机模板块 1080 p x720 p 快速版
- 母对母跨接电缆 1P-1P
- 0.1µF 电容器
- 560 Ω 电阻器
- 以太网线(仅第一次引导硬件时需要)
- USB 键盘(仅第一次引导硬件时需要)
- HDMI 显示线(仅第一次引导硬件时需要)
- 鼠标(仅第一次引导硬件时需要)
|
|
|
|
|
|