谷歌主页行动休息api调用

kay*_*kay 5 rest google-home

我正在努力寻找如何让 google home 拨打本地网络休息电话。

我有一些带有 mDNS 的 ESP8266 并在其中放置了 api。现在有了 google home,我希望它向设备发送一个休息电话。

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

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

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

Pri*_*ner 2

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

更新

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

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

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

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

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

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