将 Api.ai 助手接入物联网的那些实践

原文:How to Connect Your Api.ai Assistant to the IoT
作者:Patrick Catanzariti
翻译:安翔
审校:屠敏

当个人助理通过物联网访问个人数据和现实世界时,它变得更加迷人,让人心驰神往。这可能出现新的应用场景,比方说请求你的助手打开灯光,或者向它询问你的睡眠质量。我们将把你的 Api.ai 助手连接到 Jawbone Up API,以此作为示例。

前期准备

为了更好地掌握本教程的内容,你需要做如下准备:

  • 连接到一个简单 HTML 网页应用的 Api.ai 代理。如果你想了解此过程,请参阅此文。此外,你也可以从本教程下载代码使用。
  • 指定一个 entity 为 “sleep” 的代理。创建方法可以查阅此文。它至少应当理解诸如“how much sleep did I have last night?” 和 “how much REM sleep did I get?”这样的指令。如果你想要使之适应自己的 IoT 设备,你需要创建自定义的 entity ,用于识别你的 IoT 功能。
  • 需要你对 Node.js 有基本的了解并且能够运行 Node 服务器。因为缺少它们的支持,本系统将无法运行。
  • 知道如何使用Jawbone UP API(或者你打算使用的其他API)。之前我们已经介绍了使用Node.js连接到Jawbone Up API 的方法,本教程将会引用该文章中的一些内容。
  • 基于 HTTPS 运行你的站点的 SSL 证书。它对于 Jawbone Up API 来说是必需的。正如本系列开始时所提到的那样,基于 HTTPS 实现会相对容易。我们在Jawbone Up API文章中介绍了如何设置自签名证书,有兴趣可以查阅,但这并不是最简方案。更轻松的实现方法是本系列的第一篇文章中提到的 Let’s Encrypt 。此外,Glitch.com 还提供了一个默认为 HTTPS 的原型设计环境。

代码

本教程的所有代码提供免费下载和使用。 GitHub地址:https://github.com/sitepoint-editors/Api-AI-Personal-Assistant-IoT-Demo

系统如何工作

你的 Api.ai 助手连接到一个简单的 Web 应用之后,它通过 HTML5 语音识别 API 接受指令。此时,你需要添加一些新功能,用于监听你的 Api.ai 代理的特定 Action 。在本例中, Action 是“sleepHours”。

每当 JavaScript 检测到该 Action 时,它会触发调用你的 Node.js 应用程序,以向Jawbone API 请求数据。一旦 web 应用收到这些数据,它会将数据转换成友好的提示语并将其读出 - 为你的助手提供全新的智能体验!

项目结构

我将应用程序从初始的 HTML 结构调整为使用 EJS 视图的应用程序,以便你通过 OAuth 登录到 Jawbone Up API 后在 Web 应用程序中切换页面。实际上,你只有一个页面,但是如果需要其他 IoT 设备,你可以通过此方法添加更多。这个唯一的界面在 /views/index.ejs 中定义。然后,你的 Node 服务器 server.js 和证书文件将位于根目录中。为了尽可能简单和灵活,所有前端 JavaScript 和 CSS 代码都应当是内联的。你可以随意将它们移动到 CSS 和 JS 文件中,将它们细化并使其变得更好。

在 JavaScript 中为 Api.ai 添加 Action

正如你从以前的文章所了解到的那样,当 Api.ai 返回一个响应时,它提供了一个如下所示的 JSON 对象:

{
  "id": "6b42eb42-0ad2-4bab-b7ea-853773b90219",
  "timestamp": "2016-02-12T01:25:09.173Z",
  "result": {
    "source": "agent",
    "resolvedQuery": "how did I sleep last night",
    "speech": "I'll retrieve your sleep stats for you now, one moment!",
    "action": "sleepHours",
    "parameters": {
      "<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值