Google Assistant su Magic Mirror con hotword personalizzata

Magic Mirror

Scritto da Luigi Duchi

Hey Google, Hey Google. OK Google... Sono certo che anche voi come me vi sarete annoiati di questa frase di attivazione...

In passato abbiamo girato in liungo e in largo per la rete alla ricerca di un sistema per cambiarla, senza tuttavia ottenere alcun risultato.

...fortuna che abbiamo uno specchio magico che, non a caso, si chiama Magic Mirror.

Mi sento come Marty quando dice "un momento, ho una macchina del tempo, ho tutto il tempo che voglio!"

Come avete visto nei miei video precedenti ho integrato il modulo Google Assistant sul mio specchio per trasformarlo, o quasi, in un Google Home.

E' possibile infatti a installare il modulo Developer di Google Assistant seppur con qualche piccola limitazione sulle funzionalità. Tuttavia si potrà, ad esempio, comandare i nostri dispositivi domotici, chiedere informazioni sul meteo, sui propri appuntamenti o effettuare ricerche su internet.

Ma la chicca di questo modulo developer è quella della possibilità di sostituire la parola di attivazione, la cosiddetta hotword. Sarà quindi possibile sostituire il classico HEY GOOGLE con una serie di parole di attivazione alternative preimpostate. C'è anche la possibilità di crearne alcune completamente personalizzate, ma questo magari lo affronteremo in un'altra guida.

Per la felicità di molti, tra le "HOTWORD" preimpostate c'è JARVIS... finalmente nella vostra casa domotica potrete sentirvi Tony Stark

Già! Potrete avviare l'assistente con il nome del tanto acclamato assistente vocale di IronMan....

Solo per questo, questa guida, si merita del tempo da dedicare a questa configurazione (ehhehehehehe).

La procedura non è semplice e richiede un bel pò di passaggi, ma in fondo ogni cosa bella richiede un po' di fatica.

Cercherò di rendervi la vita più facile con questa guida.

 N.B mentre scrivevo questa guida è uscito un aggiornamento del modulo che ne permette l'installazione in maniera più semplice, vi elenco qui sotto i passaggi:

aprite il terminale e digitate 

sudo chmod -R 777 MagicMirror

di seguito

cd MagicMirror/modules

successivamente:

git clone https://github.com/eouia/MMM-AssistantMk2

poi:

cd MMM-AssistantMk2

ed in fine:

npm install

Lo script vi dovrebbe proporre in automatico l'installazione della giusta versione di gcc e grpc. Accettate tutte le voci che vi propone e seguite i passaggi. Al termine potrete provare anche microfono e altoparlante.

##################################################################

SE TUTTO QUELLO SCRITTO SOPRA NON DOVESSE FUNZIONARE SEGUITE QUESTA GUIDA FINO A "dove vi verrà segnalato"

##################################################################

andate sul desktop del vostro raspberry e aprite il TERMINALE 

Per prima cosa dovrete dare i permessi di scrittura, lettura ed esecuzione alla cartella Magic Mirror

lo potrete fare digitando questo comando seguito dal tasto invio:

sudo chmod -R 777 MagicMirror

Successivamente digitate i seguenti comandi e premete invio:

sudo apt-get install libasound2-dev sox libsox-fmt-all

se vi viene richiesto di confermare l'installazione fatelo premendo la lettera (o Y se il vostro sistema operativo è in inglese) e successivamente INVIO

dopo andate nella cartella MagicMirror/modules digitando il seguente comando:

Cd MagicMirror/modules

una volta in quella cartella, copiate la seguente stringa nel vostro terminale e date il comando di invio:

git clone https://github.com/eouia/MMM-AssistantMk2.git

Andate nella cartella appena creata digitando

cd MMM-AssistantMk2

Una volta in quella cartella sarà necessario scrivere il comando:

npm install

dopo aver premuto invio attendete che la procedura termini

ignorate i vari warning e andate avanti recandovi nella cartella scripts con questo comando:

cd scripts

una volta giunti nella cartella scripts digitate il comando:

sudo chmod +x *.sh

bene, tornate alla radice del vostro terminale digitando cd e successivamente premere invio.

Vi ritroverete nuovamente in questa situazione

arrivati a questo punto dovrete controllare la versione del componente ggc ed eventualmente fare un downgrade se risulterà essere una versione 8 o superiore 

per controllare digitate il comando 

ggc -v

Se, come nel mio caso, la versione è superiore o uguale alla versione 8, dovrete fare un downgrade.

vediamo come fare:

 Digitate questi comandi uno alla volta (per ogni comando che digitate, premete invio e attendete la fine della procedura prima di passare al comando successivo).

nel caso vi venga chiesta conferma di esecuzione accettate sempre.

sudo apt-get remove gcc g++
sudo apt-get install gcc-7 g++-7
sudo ln -s /usr/bin/g++-7 /usr/bin/g++
sudo ln -s /usr/bin/gcc-7 /usr/bin/gcc

al termine di tutti i comandi digitate nuovamente il comando 

ggc -v

questa volta la versione di gcc dovrebbe restituirvi questo valore.

arrivati a questo punto dovrete digitare questi comandi (per ogni comando che digitate, premete invio e attendete la fine della procedura prima di passare al comando successivo).

Quando avrete eseguito tutti i comandi vi recherete nuovamente nella cartella MMM-AssistantMk2 con il comando

 

cd MagicMirror/modules/MMM-AssistantMk2

una volta dentro eseguite il comando 

npm install grpc@1.23.4

dopo eseguite

npm install --save-dev electron-rebuild

ed infine il seguente comando

./node_modules/.bin/electron-rebuild

appena lancerete questo comando inizierà il rebulding.....

prendetevi pure una pausa, magari un bel caffè (o una camomilla se questa procedura vi sta facendo diventare matti).

Il rebuild durerà circa 20/30 minuti

Se tutto è andato a buon fine vi troverete, trascorso il tempo indicato, di fronte a questa schermata.

complimenti la prima parte è conclusa (pensavate di aver finito? ...e invece nulla).

##################################################################

DA QUI IN POI LA PROCEDURA ANDRA' ESEGUITA SIA SE AVETE USATO LO SCRIPT AUTOMATICO, SIA CHE ABBIATE USATO L'INSTALLAZIONE MANUALE

##################################################################

Adesso ci dovremo spostare sulla console per sviluppatori di Google.

utilizzate il browser del vostro Raspberry.

Per prima cosa dovrete creare un progetto su ACTION CONSOLE Google, cliccate QUI per andare alla pagina e

cliccate su NEW PROJECT

Successivamente selezionare le voci come da fotografia e selezionare AGREE AND CONTINUE

Date un nome al vostro progetto e successivamente cliccate su CREATE PROJECT

Selezionate smart home nell'elenco

e successivamente cliccare su smart home nell'unica icona selezionabile

Cliccate su MODIFY LANGUAGES selezionando l'italiano

Cliccate su save e confermate quando vi verrà chiesto.

 cliccate su OVERVIEW e successivamente date un nome al vostro progetto selezionando la voce evidenziata di blu che potete osservare in foto.

 selezionate il nome che preferite e salvate 

andate a cliccare l'icona con i 3 punti in alto a destra.

e cliccate su project setting da li annotatevi il vostro project id vi servirà  dopo.

adesso che avete creato il progetto sarà necessario abilitare le API su questo progetto. Per farlo dovrete andare su Cloud Platform Console, cliccate QUI per arrivarci. Selezionate il nome del vostro progetto tra i disponibili in alto a sinistra

Se è la prima volta che aprite cloud platform, vi verrà richiesto di compilare queste voci. Selezionate come da foto e cliccate su ACCETTA E CONTINUA

nel menù a tendina cliccate la voce API E SERVIZI e cliccate su credenziali

nella schermata che si presenterà cliccate configura schermata di consenso.

selezionate esterno e poi crea

alla pagina successiva selezionate la vostra mail dove richiesto e poi cliccate su salva.

Cliccate adesso su libreria

una volta aperta la pagina sottostante

cercate google assistant api

cliccateci sopra e abilitate con l'apposito tasto.

dovrete andare nella schermata per registrare il vostro progetto

visto che è piuttosto complicato navigare tra i menù vi lascio un link al quale dovrete solo aggiungere il project id che avete annotato prima

https://console.actions.google.com/u/[0]/project/QUI INSERITE IL PROJECT ID CHE AVETE ANNOTATO PRIMA/deviceregistration/

AD ESEMPIO:

https://console.actions.google.com/u/[0]/project/magicmirror12345/deviceregistration/

fate solo attenzione al numero tra parentesi quadre, esso indica il numero dell'account: se avete più di un account, il numero sarà progressivo in base a quanti ne avete, ad esempio il secondo account avrà un 1 al posto dello zero, il terzo avrà il 2 e così via. Mettete il numero corrispondente all'account con il quale avete creato il progetto.

vi ritroverete di fronte a questa schermata

cliccate su register model

come vedete nella schermata sopra compilate con il nome che preferite

prendete nota del model id, potrebbe essere necessario più avanti

cliccate su download OAuth 2.0 credentials 

quando vi verrà chiesto dove scaricare il file fatelo direttamente nella cartella MagicMirror/modules/MMM-AssistantMK2 rinominate il file appena scaricato con il nome credentials.json lo potrete fare digitando il comando 

mv vecchio_nome nuovo_nome

Dove vecchio nome sarà il nome del file scaricato comprensivo del .json e nuovo nome sarà credentials.json

Sul vostro raspberry aprite il terminale e digitate il comando  

cd MagicMirror/modules/MMM-AssistantMk2

successivamente digitate

node auth_and_test.js

nel caso si dovessero verificare degli errori riguardanti il node version digitare il comando 

npm rebuild

successivamente rilanciare nuovamente questo 

node auth_and_test.js

Il terminale vi chiederà un codice e contemporaneamente si aprirà il browser e vi chiederà di fare il login con l'account con il quale avete creato il progetto, fatelo.

In genere vi chiederà una doppio controllo, riceverete un sms o una mail con un codice a seconda della modalità di controllo del vostro account Google.

Scrivetelo dove vi viene richiesto dalla pagina web e premete su invio.

La pagina web genererà un token, copiatelo sul terminale del raspberry proprio dove prima vi chiedeva il codice

successivamente vi chiederà di porre una domanda scrivete hello sul terminale e premete invio 

a questo punto se andate a vedere nel percorso /home/pi/MagicMirror/modules/MMM-AssistantMk2

del vostro raspberry troverete un file chiamato token.json rinominatelo e spostatelo nella cartella profiles.

Per farlo da terminale digitate:

cd MagicMirror/modules/MMM-AssistantMk2

per andare in quel percorso (a meno che non siate già li) e successivamente digitate:

mv token.json ./profiles/default.json

Non ci crederete ma abbiamo terminato questa complicata parte....

Non ci rimane che andare a configurare il modulo.

Aprite il terminale su Raspberry

andate nel percorso /home/pi/MagicMirror/config

con il comando:

cd MagicMirror/config

successivamente andate ad editare il file config.js con il comando:

sudo nano config.js

inserite questo:

        {
           module: "MMM-AssistantMk2",
           position: "top_left",
           config: {
             ui: "Fullscreen", // or "Classic", "Classic2", "Fullscreen"
             assistantConfig: {

inserendo ovviamente latitudine e longitudine della vostra casa, dati che potrete facilmente recuperare da Google Maps. In aggiunta se vorrete usare le Gaps dovrete inserire anche il nome del vostro progetto prelevato dalla console Google.

Con questo nuovo aggiornamento sarà possibile scegliere tra 3 interfacce.

La classic e la classic2 visualezzarenno un'icona dinamica del logo di Google Assistant nella posizione che determinerete nella configurazione del modulo MMM-AssistantMk2

Mentre la full screen sarà invisibile fino al momento della chiamata e andrà a riempire tutto lo schermo, facendo sparire tutti i moduli una volta richiamato.

Finalmente abbiamo terminato la configurazione di questo modulo ma non abbiamo ancora finito...

Per attivarlo vocalmente sarà necessario installare anche il modulo MMM-Hotword .

Questo modulo sarà necessario per comandare vocalmente il vostro modulo precedentemente configurato.

Aprite il terminale.

digitate il comando:

sudo apt install libmagic-dev libatlas-base-dev sox libsox-fmt-all

Andate nella cartella MagicMirror/modules con il solito comando 

cd MagicMirror/modules

Qui lanciate il comando:

git clone https://github.com/eouia/MMM-Hotword.git

Successivamente andate nella cartella MMM-Hotword con il comando 

cd MMM-Hotword

digitate il comando:

chmod +x ./installer/install.sh

Successivamente il comando:

./installer/install.sh

lasciatelo compilare ci vorranno circa 20/30 minuti 

Una volta finito tutto andate nello stesso file config dove prima abbiamo inserito la configurazione per MMM-AssistantMk2

e inserite la seguente stringa stando sempre attenti a rispettare gli spazi.

               {
		   module: "MMM-Hotword",
		   position: "top_left",
		   config: {
		     recipes: ["with-AMk2v3_Jarvis.js"],
		     mic: {
		       recordProgram: "arecord",
		       device: "plughw:1"
	              },
		     iconify: null,
		     chimeOnFinish: null,
	             useDisplay: false,
		   },
		},

A questo punto salvate e riavviate il vostro raspberry.

Avrete finalmente GOOGLE ASSISTANT SUL VOSTRO SPECCHIO.

Vi lascio al solito video di fine articolo dove potrete osservare la configurazione finale in funzione!

Produrre e aggiornare contenuti su vincenzocaputo.com richiede molto tempo e lavoro. Se il contenuto che hai appena letto è di tuo gradimento e vuoi supportarmi, clicca uno dei link qui sotto per fare una donazione.

Luigi Duchi

Nato a Grosseto il 24 Dicembre 1982 perito elettrotecnico che lavora nel mondo della domotica e installazione di impianti elettrici, impianti di allarmi, videosorveglianza e automazioni in genere. Appassionato da sempre di tecnologia e aperto alla conoscenza di nuove soluzioni.


Vai ai commenti