2017-08-02 207 views
0

我有一個運行Google Assistant SDK的樹莓派,到目前爲止它的工作情況令人驚訝。我只是想知道如何爲助理製作自定義命令,然後觸發pi上的bash命令。 任何幫助將不勝感激。Google Assistant SDK的自定義命令

回答

1

據我所知,你在找什麼比這更復雜。 助理無法直接訪問其安裝的環境。

所以,如果它是在你的手機上,你不能直接在手機上運行的東西。

你要找什麼是創建谷歌的行動:

對谷歌的行動,你將創建將與助理的命令觸發,則它它會自動觸發一個webhook(在雲中運行的函數),可能在你的pi中託管(如果你有一個你可以公開訪問的web服務器),然後從那裏你可以運行你正在談論的任何腳本。 我已經做到了我的使用:

  • 谷歌首頁==>在谷歌==> api.ai ==>樹莓派==>運行動作

隨意行動,問你是否有任何事情都不清楚。

+0

我聽說過webhooks的方法,但我不知道如何讓它工作。有沒有我可以遵循的教程,也許?順便說一句,謝謝你的迴應。 – Digiton

+0

是的,但首先讓我給你一個關於它是如何工作的快速解釋: 你在console.actions.google.com上創建一個google動作 一旦你需要一些NLP(自然語言處理),在我的情況下是API .ai,它是一個谷歌產品。 然後從那裏API.ai你有一個部分稱爲履行,你指定一個後端(webhook)的網址,這將爲你做一些計算,並回歸一個anwser將被髮送到你的谷歌助理設備在本地託管你的履行搜索ngrok 我使用的視頻: https://www.youtube.com/watch?v=Y26vvxCb3zE – Ayoub

+0

我不能接受它是如此複雜。他們在代碼中包含此演示。我只是沒有設法得到它的工作。 https://github.com/google/aiyprojects-raspbian/blob/aiyprojects/src/assistant_library_with_local_commands_demo.py#L68-L73 –

1

您可以使用來自GitHub上的aiyprojects-raspbian項目的assistant_library_with_local_commands_demo.py中的模式來添加自己的函數,調用外部命令等。 Here is a commit其中我將自己的自定義本地命令添加到Google智能助理。

您必須跳過使用Cloud Speech API的箍環,但仍然使用Google智能助理。您不必使用上述@Ayoub描述的「對Google的操作」。

注:如果你不包括assistant.stop_conversation()因爲我第一次做, 你得到2周的聲音和你說話一個奇怪的反應。