【问题标题】:Can the Echo dot 'talk' to local devices or does everything go via the cloud?Echo dot 能否与本地设备“对话”,还是一切都通过云进行?
【发布时间】:2017-12-05 20:21:05
【问题描述】:

我正在考虑开发一个插件(可能是他们的回声特定词),它将允许我控制许多本地硬件设备。这些设备有一个简单的 HTTP 接口,因此需要很少的管道,但是到目前为止我所做的所有阅读(我是 Echo API 的新手,所以还没有那么多)表明您的代码可以远程执行在“云”中。在这种情况下,它很难访问本地资源而不使它们面向网络(这是不可能的)。

举个例子,当你说“打开厨房的灯”时,我想写一些东西。 echo 框对本地控制器进行 http 调用,即http://192.168.0.4/Light?room=kitchen&state=on

这可能吗,如果可以的话,有什么关于我工作的简单例子吗?

谢谢

【问题讨论】:

    标签: alexa-voice-service


    【解决方案1】:

    它们被称为技能。

    首先是坏消息:您所说的 Echo 不会与您本地网络上的服务通信。

    人们这样做的方式是使用 Bespoken Toolsngrok 从 AWS lambda 技能将命令代理回您家中的服务器。该服务器对设备进行调用。

    这是一个使用 Ruby 的示例:Alexa HUE

    如果您还有其他问题,请告诉我。

    【讨论】:

    • 谢谢 我会好好看看这个例子,但它似乎涵盖了我需要的大部分概念。这是一种限制,他们不允许本地网络访问,知道这样做的理由是什么吗? ngrok 似乎是业余项目的好工作。这似乎是许多家庭自动化软件的发展方式,将所有内容推送到云端,但您最不需要的就是互联网中断,您无法进入您的房子......
    • 恕我直言,这个答案是错误的。请参阅下面的答案。
    【解决方案2】:

    是的,它可能的。请参阅https://www.npmjs.com/package/node-red-contrib-alexa-local 了解一个节点红色插件,该插件允许 Alexa 通过模拟飞利浦 Hue 来控制本地设备。

    无需云技能!!

    我的本​​地设置有灯、加热器和我的前门锁,所有这些都由 Alexa 控制。关键是 Alexa 已经有一个内置的 HA 技能可以理解,例如 Philips Hue。因此,只要您有模仿飞利浦 Hue 的东西,您就一切就绪。我链接的节点红色技能就是这样做的。

    所以,我的设置是:-

    Alexa ---> Node-Red(使用我链接的模块)---> MQTT Broker ---> 我的设备

    Node-Red 和 MQTT (Mosquitto) 都在 Pi 上运行,这就是我的“集线器”。我的设备各不相同,所以有些是运行 Tasmoto 的 Sonoff,有些使用我构建的自定义 NodeMCU 板。一旦你运行了 Node-red,你就可以让它与几乎任何使用任何接口的设备通信。但是,对于 HA,MQTT 无疑是最好的选择,而不是 HTTP。

    对于远程访问,我使用 node-red 中的 Telegram 模块来侦听来自我创建的 Telegram 机器人的命令。这意味着我可以坐在火车上输入“heater on”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-30
      • 2017-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-31
      相关资源
      最近更新 更多