6

我想直接从我的 Google Assistant 向我的 LAN 上的服务器(例如 Node-red 或 Arduino)发出 HTTP 请求。

我想重现这个小部件的行为,但是,它在谷歌助手中不起作用。

使用带有 webhook 的 IFTTT 可以使 IFTTT 网站从他们的服务器上 ping 互联网,而不是从我的私人 LAN 中的手机。我认为如果我将 google 操作与 api.ai 与 webhook 一起使用,也会发生同样的情况。例如,Wake On Lan这个应用程序可以局域网请求,但它不会接受链接192.168.0.2:1880/test,它只接受 IP 地址,但它适用于谷歌热词 OK Google。

那么如何直接从我的 Google Assistant 发出 HTTP POST 请求呢?

4

1 回答 1

3

我不是 100% 确定你想在这里做什么,但我认为 ngrok可能能够帮助你。

如果您的目标是能够访问只能在您的本地网络中访问的服务器,那么您真正需要的是一种使该服务器可以从网络外部访问的方法,但仅限于您自己。你有两种方法可以做到这一点。一种是在路由器上打开一个端口,这本质上是不安全的。另一种是使用ngrok。ngrok 是您在本地服务器上运行的应用程序,它打开通往本地网络的安全隧道。您可以使用如下所示的外部 url 访问它:

https://02355cab0.ngrok.io/

哈希是唯一的,只有您知道。该 URL 可从 Internet 上的任何位置访问,但指向本地 LAN 上的服务器,即:

https://02355cab0.ngrok.io/ -> http://192.168.0.2:1880

在这里查看: https ://ngrok.com/

然后使用这个 ngrok url,您可以将其提供给 Google Assistant 或任何应用程序(如果您愿意,可以使用 IFTTT),以便从网络直接向您的本地网络拨打电话。

于 2018-03-22T17:31:41.780 回答