【问题标题】:give Google Assistant device commands programmatically以编程方式发出 Google Assistant 设备命令
【发布时间】:2021-09-30 09:32:38
【问题描述】:

是否可以通过编程方式向 Google 助理发出命令?例如,我希望能够以文本“打开风扇”的形式发送命令,并让 GA 做出反应,就好像那是口头命令一样。我也会接受以任何需要的格式(使用设备 ID 或 API 需要的任何格式)发送 JSON 请求。

我的情况是我有一个由 Google 助理控制的吊扇。我希望能够以编程方式控制它。例如,发生了一些事件,我的代码想要打开风扇。我的代码有什么方法可以告诉 GA 打开风扇吗?

我尝试使用 Google Assistant SDK。我可以向它发送诸如“现在几点了?”之类的文本。并取回文本和音频,例如“现在是上午 11:00”。但是,我有一个名为“洗衣机”的测试设备,如果我发送文本“洗衣机正在运行吗?”我回复“对不起,我不明白”。如果我对着手机说出这些话,我会得到“洗衣机正在运行”。

为什么 GA SDK 不能与我的设备交互?我提供给 GA SDK 的凭据与我用于定义“洗衣机”设备的 SmartHomeApp 的凭据相同。

【问题讨论】:

    标签: actions-on-google


    【解决方案1】:

    为此,您可以设置一个虚拟助手设备,然后向它发送命令。 查看Assistant Relay,这是一项设置虚拟助手设备并公开 REST API 的服务,因此您可以向其发送文本命令,就好像它们被说出一样。

    根据文档:

    只需向 Assistant Relay 发送您通常会发送给 Google 的任何查询 Assistant,Assistant Relay 会调用 Assistant SDK 执行 你的命令。

    根据您在使用 Google Assistant SDK 时遇到的问题,我相信您想要实现的目标只能通过设备实现,无论是物理设备还是虚拟设备,而不是直接使用 SDK。

    【讨论】:

      【解决方案2】:

      有很多防火墙和安全问题允许每个智能设备连接到互联网。为了缓解这个问题,Google 的设计方法使用履行设备作为桥梁,从他们的一个设备本地连接到设备。

      您在本地,通过智能手机连接 Google 助理。
      手机是“洗衣机”设备的履行胶水。

      据此page

      需要 Google Home 或 Google Nest 设备才能执行 实现。

      由于手机的便携性,允许将手机用作远程执行设备是没有意义的,因此是本地挂钩。

      【讨论】:

        猜你喜欢
        • 2011-04-01
        • 2018-09-19
        • 2017-04-04
        • 1970-01-01
        • 1970-01-01
        • 2010-12-16
        • 1970-01-01
        • 2021-07-12
        • 1970-01-01
        相关资源
        最近更新 更多