簡體   English   中英

Google上的Google Assistant操作

[英]Google Assistant actions on google

我所有的硬件均已開發。 我使用MQTT在我的設備之間進行通信,我有燈,風扇,加熱器和許多ioT設備。 我可以從自己構建的Android應用程序中控制所有這些。 我也想使用Google Assistant來控制我的設備。 我的燈光狀態(開/關)存儲在sql數據庫中,並且一旦數據庫發生更改(由硬件檢測到),我的硬件就可以控制該特定的燈光。 在我的Android應用程序中,我做同樣的事情,即更新燈光的數據庫值(開/關),並且該更改被我的硬件平台檢測到。 我可以使用Google Assistant更新sql數據庫值嗎? 我可以創建一個Web服務器(ASP.NET C#)並將該命令傳遞給相關客戶的sql數據庫,如果Google Assistant可以將用戶名或電子郵件,lightID命令調用給我的Web服務器。 Google Assistant可以這樣做嗎? 如果沒有,將如何實現這一目標。

聽起來您好像想看看Google Smart Home API上的操作,它將使Assistants Smart Home控件直接與您的控制服務器一起使用。

在不確切了解數據庫或現有Web服務器如何配置或托管的情況下,我充其量只能講最多。 您的Web服務器將需要實現兩個主要方面:

  1. 您將需要一個OAuth2服務器,該服務器可以發出代表您的用戶的令牌。 這就是Google如何將Assistant上的用戶帳戶與您的帳戶相關聯,以及Google如何識別(向您)發出該命令的用戶。

  2. 您將需要在Web服務器上的URL上實現Webhook。 將向此Webhook發送POST消息,該消息包含帶有有效auth令牌(已發出)的標頭和JSON正文。 JSON將包含有關用戶已發出的命令的信息。 您的HTTP回復正文也將為JSON。 有關JSON格式及其可以發送的所有字段以及您必須回復的所有字段的詳細信息,請查閱Google的文檔。

Google可以代表用戶向您發送許多不同的命令(Google稱之為“意圖”)。 您應該能夠通過查詢或修改數據庫來處理所有這些問題:

  • SYNC-請求此用戶擁有哪些設備,一些配置信息以及他們遵循的命令。
  • 查詢 -該用戶當前設備​​的狀態是什么。
  • 執行 -更改某些用戶設備上的狀態。
  • 重新同步 -(未來更新)重新請求用戶的設備信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM