Actions on google 谷歌智能家居与我的物联网设备集成(需要澄清)
我想澄清一下谷歌智能家居是如何工作的。 我正在寻找集成我目前的终端设备控制与谷歌智能家居灯 我的终端设备正在运行一个利用RTOS的非常小的微控制器(Linux不可用) 以下是我的看法(请更正或评论)Actions on google 谷歌智能家居与我的物联网设备集成(需要澄清),actions-on-google,google-home,Actions On Google,Google Home,我想澄清一下谷歌智能家居是如何工作的。 我正在寻找集成我目前的终端设备控制与谷歌智能家居灯 我的终端设备正在运行一个利用RTOS的非常小的微控制器(Linux不可用) 以下是我的看法(请更正或评论) 据我所知,这要求我拥有自己的云服务 哪个将与我当前的终端设备通信 然后,我的云服务将与谷歌云服务对话 我的云服务定义了与多个终端设备通信的协议 谷歌智能家居定义了与我的云服务对话的协议 问题 在没有自己的云服务的情况下,有什么方法可以做到这一点吗 这是一个相当基本的总结-是的 关键的一点是,向G
- 据我所知,这要求我拥有自己的云服务 哪个将与我当前的终端设备通信
- 然后,我的云服务将与谷歌云服务对话
- 我的云服务定义了与多个终端设备通信的协议
- 谷歌智能家居定义了与我的云服务对话的协议
这是一个相当基本的总结-是的 关键的一点是,向Google Home发出命令并不会让它在您的本地网络上发送消息。谷歌从他们的网络发布任何命令,而不是从你的设备 这看起来可能是一个小细节,但它不需要是一个由你控制的“云服务”,谷歌可以与之对话。它确实需要是一个可公开访问的HTTPS端点。这可能是一个云服务(在大多数情况下都是),一个公共的非云服务器,或者甚至只是一个公共URL,它有一个到您的私有网络的隧道(比如ngrok)
最后一个问题是你如何使用自己的云服务——你可以在本地机器上设置控件,并使用一个隧道 我认为一个具体的例子可能是有益的:下面是如何使用像IFTTT这样的中介服务将Google Home连接到您的设备:
当然,微控制器muse上的RTO能够运行ngrok和web服务器——这就是为什么许多人选择使用单板计算机(如运行linux形式的Raspberry Pi或Orange Pi)来托管和控制他们的设备。由于您的设备的RTO不是linux,我建议使用一种linux设备ld然后通过LAN将请求转发到您的RTOS设备。更大规模地考虑这一点(多个家庭中有1000台设备)没有我自己的云服务。我需要每个设备都有一个公共URL。一旦这些公共URL上线,谷歌服务如何知道它们?你需要某种中央服务器,可以用来帮助向各个设备发出请求。每个执行请求都将包含一个唯一的设备id,你可以使用该id识别哪个终端设备e你需要。但是,人们期望中央服务器也能处理查询请求,并将设备状态返回给助手。你应该有某种服务来存储设备状态并处理助手请求。这可以通过Firebase函数和实时数据库以轻量级的方式完成。这有点垃圾家庭设备无法直接与本地网络端点通信。这将减少大量中间件。