Appunti su Google Assistant

I miei appunti per interfacciare Google Assistant alle schede Linux Embedded di Acme

Come configurare una scheda embedded per accettare comandi da Google Assistant

Creazione certificato per accettare comandi https

Aggiungere il sequente repository in /etc/apt/sources.list:

sudo deb http://ftp.debian.org/debian stretch-backports main
sudo apt update

Creare un certificato per il dominio su cui si fa vedere il dispositivo da:

Copiare sul filesystem del dispositivo la chiave privata e i certificato in modo da darli poi in pasto al palette di Node-Red

Creare un progetto Google Assistant

Creare un nuovo progetto di tipo Home Automation su:

Scaricare la versione ARM di Gaction CLI sul dispositivo che deve essere chiamato su una directory di lavoro tipo (home/tanzilli/ga):

Settare l'attributo x:

sudo chmod +x gactions

Creare un file action.json di default

./gactions --init

Modificare il file action.json, per esempio:

{
  "actions": [
    {
      "description": "Default Welcome Intent",
      "name": "MAIN",
      "fulfillment": {
        "conversationName": "porkypigApp"
      },
      "intent": {
        "name": "actions.intent.MAIN",
        "trigger": {
          "queryPatterns": [
            "talk to Porky Pig"
          ]
        }
      }
    }
  ],
  "conversations": {
    "membroApp": {
      "name": "porkypigApp",
      "url": "https://node-red.tanzolab.it:8081"
    }
  },
  "locale": "it"

Copiare l'id del progetto dalla console Action:

Ruota dentata -> Project settings -> Project ID

Quindi sul dispositivo digitare:

./gactions test -action_package action.json -project porkypig-ad559

Usare la URL che viene restituita per prendere il toker di autizzazione e ridarlo in pasto a Gactions-CLI

A questo punto dovrebbe essere usabile il simulatore su Google Action Console

Settare Node-Red per accettare comandi da Google Assistant

Installare in Node-RED:

Configurare il nodo Google Action in Node-Red con i path alla chiave privata e al certificato

Installazione di Google Assistant su Roadrunner

apt install alsa-utils

Configurazione interfaccia audio su USB

Prove effettuate usando una cuffia USB Microsoft LifeChat LX-3000

cat /proc/asound/cards
 1 [LX3000         ]: USB-Audio - Microsoft LifeChat LX-3000
                      Microsoft LifeChat LX-3000 at usb-at91-2, full speed

Contenuto di ~/.asoundrc e /etc/asound.conf:

options snd-usb-audio index=1

pcm.!default {
        type plug
        slave {
                pcm "hw:1,0"
        }
}

ctl.!default {
    type hw
    card 1
}

In /usr/share/alsa/alsa.conf:

defaults.ctl.card 1
defaults.pcm.card 1

Regolare i volumi con:

alsamixer
sudo alsactl store

Prova audio

arecord -d 5 -f S16_LE -r 44100 -t wav prova.wav
aplay prova.wav

Installazione Google SDK

sudo apt-get install build-essential

Seguire le istruzioni riportate qui:

Links utili

Video