Montagem do nosso altifalante inteligente Google HOME num Raspberry Pi

Finalmente foi libertado o SDK do Google Assistant para poder usar o Google Home em Castellano (ou Espanhol) entre outros novos idiomas! Portanto, agora é possível montar o nosso próprio Google Assistant numa Raspberry Pi, em poucos minutos, com um microfone e uma coluna, terás uma Raspberry Pi pronta para atender aos teus pedidos!

 

 

 

Ideal para a colocar na sala ou em qualquer lugar escondido, com um bom microfone omnidirecional, podemos fazer-lhe perguntas no nosso próprio idioma e ele responderá corretamente 😉 Para recordar, além do Espanhol, também suporta Inglês, Alemão, Francês, Italiano e Japonês. O bom é que a Google tem tudo muito bem documentado, podes seguir os passos deles ou estes mais resumidos para ter tudo pronto!

 

Usaremos uma Raspberry Pi com Raspbian instalado e atualizado, o primeiro será verificar se o áudio funciona corretamente, tanto do microfone como das colunas por onde queremos emitir o som. Com o seguinte comando, primeiro veremos os dispositivos de gravação de áudio e depois os de reprodução:

[Código-fonte]arecord -l
aplay -l[/Código-fonte]

 

Editamos o nosso ficheiro de configuração de áudio '~/.asoundrc'’ e especificamos o microfone que estamos a usar, neste caso um USB específico, mas também poderíamos usar o microfone de uma webcam, assim como o áudio que seja reproduzido pelo predefinido:

[Código-fonte]pcm.!inadimplência {
type asym
playback.pcm {
type plug
slave.pcm "hw:0,0"
}
capture.pcm {
type plug
slave.pcm "hw:1,0"
}
}[/Código-fonte]

 

Se quisermos fazer um teste de som para ver se ouvimos algo…:

[Código-fonte]speaker-test -t wav[/Código-fonte]

 

Ainda melhor, gravar um exemplo de como somos ouvidos pelo microfone:

[Código-fonte]arecord –format=S16_LE –duration=5 –rate=16000 –file-type=raw out.raw[/Código-fonte]

 

Para ouvir e ver como somos ouvidos, Executar:

[Código-fonte]aplay –format=S16_LE –rate=16000 out.raw[/Código-fonte]

 

Agora já poderemos ir para a consola das Ações do Google, em https (em inglês)://console.actions.google.com, devemos iniciar sessão com uma conta Google válida e criar um novo projeto no Google Cloud Platform, Para fazer isso, clique em “Adicionar/Importar projeto”. Com a API do Google Assistant instalada na nossa Raspberry, acedemos para realizar consultas e o projeto mostrará os dados sobre os consumos.

 

Devemos indicar o nome do Projeto e, se quisermos, mudar o idioma para as Ações ou selecionar o nosso País, é o momento,

 

Temos de ativar a API do Google Assistant API, desde https://console.developers.google.com/apis/api/embeddedassistant.googleapis.com/overview selecionamos do combo o nosso projeto e clicamos em “Ativar”,

 

Agora já poderíamos ir registar o nosso dispositivo! Vamos novamente à Consola, em https://console.actions.google.com/
Ir para “Registo de Dispositivo” > “Registar Modelo” e criamo-lo!

 

Teremos de lhe dar um nome ou ‘Nome do Produto'’ (que anotaremos), um nome do fabricante ou ‘Nome do Fabricante'’ e selecionamos se queremos algum tipo de dispositivo, se não tivermos a certeza deixamos em ‘Automático', Clique em “Registar Modelo”,

 

Agora, teremos de descarregar o ficheiro com as credenciais de acesso ao serviço do Google Assistente, Clique em “Descarregar OAuth 2.0 credenciais” e guardamo-las por aí,

 

Copiamo-las para a Raspberry Pi, por exemplo com WinSCP ou similar, para o caminho /home/pi,

 

Voltamos ao assistente e clicamos em “Ignorar”,

 

Gravamos o dispositivo que acabámos de registar, clicando em “SALVAR”,

 

Nada mau, ahora en la Raspberry Pi configuraremos el entorno virtual de Python para aislar el SDK y sus dependencias de los paquetes Python del sistema, nos escogemos la opción de Python 3:

[Código-fonte]sudo apt-get install python-dev python-virtualenv
virtualenv env –no-site-packages
env/bin/python -m pip install –upgrade pip setuptools wheel
source env/bin/activate[/Código-fonte]

 

Instalamos las dependencias necesarias además de Google Assistant SDK que nos permitirá tener Google Assistant corriendo en la Raspberry Pi:

[Código-fonte]sudo apt-get install portaudio19-dev libffi-dev libssl-dev libmpg123-dev[/Código-fonte]

 

Mediante pip instalamos la última versión de Python en el entorno virtual:

[Código-fonte]python -m pip install –upgrade google-assistant-sdk[samples][/Código-fonte]

 

Instalamos o atualizamos la herramienta de autorización:

[Código-fonte]python -m pip install –upgrade google-auth-oauthlib[tool][/Código-fonte]

 

Agora vamos gerar as credenciais para executar os exemplos, vamos usar o ficheiro JSON que descarregámos previamente:

[Código-fonte]google-oauthlib-tool –scope https://www.googleapis.com/auth/assistant-sdk-prototype –scope https://www.googleapis.com/auth/gcm –save –headless –client-secrets /home/pi/client_secret_xxxx.apps.googleusercontent.com.json[/Código-fonte]

 

Se tudo estiver correto, teremos algo como:

[Código-fonte]"Please visit this URL to authorize this application: https (em inglês)://…"[/Código-fonte]

Copiamos o URL e acedemos a ele com um navegador (que esteja ligado com a nossa conta Google), após permitir, será fornecido um código de autenticação que devemos colar na shell.

 

E agora, já estamos prontos para testar um exemplo! No mesmo ambiente virtual, executamos o seguinte comando indicando o nosso ID de Projeto e o nosso ID de modelo, que se não os anotaram, irão encontrá-los na Consola de Ações do Google procurando nas opções gerais do projeto e do dispositivo. Se estiver tudo OK, executamos o seguinte comando e estará pronto para conversarmos com o Assistente, é hora de testar:

[Código-fonte]googlesamples-assistant-hotword –project_id entrada-txarlatana –device_model_id entrada-txarlatana-entrada-xxxx[/Código-fonte]

 

A propósito, para mudar o idioma do nosso Assistente, faremos isso diretamente pelo nosso telemóvel, com a aplicação do Assistente que, suponho, terão instalada (e se não, instalem-na :P, abram-na, clicamos no botão da bússola na parte superior, e na próxima tela em Explorar, devemos ir para “Configurações”,

 

Em Definições, devemos procurar em Dispositivos o dispositivo que registámos anteriormente, nós selecionamos, e aí já poderemos dar acesso a mais dados nossos aos senhores do Google ou selecionar o idioma que queremos para interagir com o Assistant!

 

Então você está feito! Temos o serviço montado numa Raspberry Pi, se voltarmos a executar o exemplo anterior, o Assistant estará no nosso idioma, teremos de pressionar constantemente Enter ou dizer 'OK', Google’ independentemente dos exemplos que temos para interagir. Como no meu caso não me interessa que o microfone esteja sempre a ouvir e assim também evitar a necessidade de dizer 'OK Google'’ o tempo todo, pois através de uma solução improvisada consegui contorná-lo. Criei um pequeno script para iniciar o Assistant e outro para o interromper, deixo-vos por acaso caso a alguém seja útil 🙂

 

google_assistant_para.sh

[Código-fonte]cd /home/pi/
source env/bin/activate
nc -l 12345 | /home/pi/env/bin/python3 /home/pi/env/bin/googlesamples-assistant-pushtotalk –project-id txarlatana –device-model-id txarlatana-pitxarlatana-xxxx &[/Código-fonte]

 

google_assistant_para.sh

[Código-fonte]pkill python3
pkill google
pkill nc[/Código-fonte]

Postagens recomendadas

Autor

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, Não hesite em contactar-me, Vou tentar ajudá-lo sempre que puder, Compartilhar é viver ;) . Desfrute de documentos!!!