rest - 谷歌主页操作休息 api 调用

标签 rest google-home

我正在努力寻找如何让 google home 进行本地网络休息调用。

我有一些 ESP8266 与 mDNS 并在其中休息 api。
现在有了谷歌主页,我希望它向设备发送休息电话。

我不想要任何像 IFTTT 这样的网络 Hook /服务。我不希望通过这些 3rd 方服务进行通信。

它应该像这个谷歌主页获得输入一样工作(谷歌服务可以理解)。它检索操作(本地网络、带有正文的 url 休息调用)。 Google home 将其余 api 调用发送到本地设备。

无需更改端口转发/防火墙。

最佳答案

Google Home 在设备上进行的处理非常少。发送本地网络调用不是它所做的事情之一。几乎所有的处理,包括通过智能家居 API 进行的物联网控制,都是通过基于云的服务完成的。

更新

我无法回答“为什么”它不这样做,因为我不是 build 它的工程师之一,但我可以对原因做出很多猜测。

对于初学者 - 它显着增加了设备上软件和硬件的复杂性。现在,该设备实际上只不过是一个麦克风和一个扬声器,具有一点逻辑来检测启动指令,然后将其他所有内容流式传输到服务器,然后返回并播放结果。其余大部分代码可能会处理设置和配置。

如果设备还必须是通用 IoT 中心,则它需要用于蓝牙和可能的其他信号系统的软件和硬件。它需要能够跟踪网络上其他设备的状态,并在设备的电源周期之间进行管理(甚至处理设备本身的电源中断)。其中的一些含义可能需要打开设备上的网络以接收消息,而不仅仅是发送消息。它必须具有更广泛的网络配置 - 了解什么是本地网络,而不仅仅是本地路由器是什么以及如何处理该配置(以及当它发生变化时的配置)。当然,这些都是可能的,但会增加复杂性,并且在某些情况下会降低设备的安全性。

这可能是合理的……如果这样做有重大值(value)的话。但是您已经在问题中规定语音处理可以在云中完成,所以一旦命令被发送到云并在那里解析 - 为什么不同时执行上述所有操作(设备和状态跟踪、更改等)在云端?特别是因为大多数物联网设备无论如何都维护着云服务器,因为人们还希望能够在他们不在家庭局域网上时控制或监控他们的家庭设备。在某些情况下,拥有一组双重命令(一些用于本地时,而另一些用于非本地时)确实有意义 - 但也大大增加了 Controller 和设备的复杂性,因此大多数只依赖于云, 再次。

因此,虽然我理解为什么有些人想要一个漂亮的小系统,它可以不时地向您的本地 REST 服务器发送命令,但现实情况是,为消费者系统执行此操作并不合理。

如果您真的想要一个可以做到这一点的系统 - 您可以继续本着业余爱好者的精神并使用 Assistant SDK 构建一些东西。和您最喜欢的物联网平台。

关于rest - 谷歌主页操作休息 api 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47139975/

相关文章:

RESTful : bidirectional communication

json - JSON 表示中的链接关系

c# - c# 中的 dialogflow 简单实现 webhook 不起作用

android - 如何让我的智能家居应用在 Google Home 应用中显示为建议

java - Spring REST - 当资源尚不存在时正确的 PUT 功能

java.io.FileNotFoundException : while accessing REST service 错误

rest - 对嵌套资源上的POST和PUT的正确RESTful响应

dialogflow-es - 我们可以在谷歌助手中使用对话框实现网络钩子(Hook)播放多个音频文件吗

node.js - 使用特定设备源调用 Dialogflow 事件

dialogflow-es - api.ai webhook 身份验证