-
Notifications
You must be signed in to change notification settings - Fork 0
Google Assistant
Il supporto a Google Assistant permette di interagire con l'assistente vocale per mandare comandi a Hyperion (es. "Ok Google, effetto Snake")
Per prima cosa è necessario creare un account su https://io.adafruit.com/. Questo sito permette di creare un broker MQTT online che verrà usato per lo scambio di messaggi tra Google Assistant e il Raspberry Pi, senza dover aprire porte del proprio router. A questo punto è necessario creare 3 nuovi feeds:
- un feed per lo scambio di messaggi riguardanti gli effetti da applicare
- un feed per lo scambio di messaggi riguardanti il colore da applicare
- un feed per lo scambio di messaggi di diversa natura (rimuovere effetti/colori precedentemente applicati, attivare/disattivare la modalità caminetto, azioni personalizzate)
Successivamente da https://io.adafruit.com/ saranno necessari:
- nome assegnato a ciascun feed
- username e AIO key (visualizzabili clickando su "View AIO key")
è necessario anche un account su https://ifttt.com. IFTTT verrà utilizzato come interfaccia tra Google Assistant e Adafruit IO in qualità di publisher. Una volta collegato IFTTT ai due suddetti servizi, questi sono gli applets necessari:
screenshot
Se si usa la lingua inglese per comunicare con l'Assistente Google OPPURE non si desidera applicare colori tramite l'Assistente vocale è possibile saltare questo passaggio. Altrimenti per poter applicare un colore bisogna tradurre il nome del colore dalla lingua di partenza all'inglese. Per fare ciò è necessaria una API key da https://translate.yandex.com/developers/keys
L'ultimo passo consiste nel configurare il client subscriber che dovrà comandare Hyperion. Questa procedura può essere eseguita scrivendo sul file client.json
:
- hyperion_server
"hyperion_server":
{
"ip_address": "Insert.Ip.Address.Here",
"port": 19444
},
Informazioni relative a Hyperion: l'indirizzo IP del dispositivo su cui è in esecuzione Hyperion ("127.0.0.1" se è lo stesso dispositivo che fa girare questo script) e la porta (19444 di default).
- mqtt_broker
"mqtt_broker":
{
"url": "mqtts://io.adafruit.com",
"port": 8883,
"username": "InsertYourUsernameHere",
"key": "InsertYourKeyHere",
"topics":
{
"effect_topic": "InsertTopicNameHere",
"color_topic": "InsertTopicNameHere",
"other_topic": "InsertTopicNameHere"
}
},
Informazioni relative al broker MQTT: username, AIO key e nomi dei feed salvati precedentemente.
- translation
"translation":
{
"engine": "yandex",
"API_key": "InsertYourKeyHere",
"from_language": "it"
},
Informazioni relative al motore di traduzione: API key e lingua di partenza (se non si inserisce alcun valore verrà scelta la lingua di sistema). Se si usa la lingua inglese non è necessario riempire il campo API_key
, ma è comunque consigliato specificare il valore di from_language
con la lingua "en"
- kodi_server
"kodi_server":
{
"ip_address": "Insert.Ip.Address.Here",
"port": 80,
"video_uri": "InsertLink/PathHere"
}
Informazioni relative al server Kodi: l'indirizzo IP del dispositivo su cui è in esecuzione Kodi ("127.0.0.1" se è lo stesso dispositivo che fa girare questo script), il percorso locale o il link da internet del video che vuoi riprodurre nella modalità caminetto (supportati: YouTube, Dropbox, Flickr, GoogleDrive, Reddit, Twitch:video, Vimeo, VK e molti altri)
- custom actions
"custom_actions":
[
{
"message": "ON",
"target": [255, 255, 255]
}
]
Informazioni relative alle azioni personalizzate che viaggiano sul feed per i messaggi di diversa natura: messaggio da ricevere e cosa lanciare quando esso viene ricevuto (è possibile assegnare un effetto, un colore, "clear"
oppure null
). Puoi aggiungere quante azioni personalizzate vuoi semplicemente aggiungendo, come primo elemento dopo "custom_actions": [
il seguente codice:
{
"message": "*il_tuo_messaggio*",
"target": "effetto"/colore/"clear"/null
},