Construa seu próprio Google Home usando um Raspberry Pi
Construa-seu-proprio-Google-Home-usando-um-Raspberry-Piblog_image_banner

Construa seu próprio Google Home usando um Raspberry Pi


Você já pensou em um alto-falante que pode ser controlado por sua voz! Sim, o Amazon Echo é um dos alto-falantes controlados por voz mais populares, mas, em concorrência com ele, o Google Home também está se tornando popular. Assistentes de voz estão se tornando mais populares à medida que caminhamos em direção a uma era de sistemas baseados em IA. Você já ouviu falar sobre o Google Assistant, Apple Siri e Amazon Alexa. Todos são sistemas de IA baseados em voz, o que os torna diferentes uns dos outros são seus ecossistemas, e é aqui que o Google Assistente se destaca mais. Google, Apple e Amazon, todas essas empresas já lançaram seus alto-falantes inteligentes. Os alto-falantes inteligentes do Google também estão disponíveis no mercado. Já cobrimos o Amazon Echo baseado no Raspberry Pi, desta vez transformamos o Raspberry Pi em um alto-falante do Google Home.


O Google fornece a API para usar seu serviço de voz, que é de código aberto e está disponível no Github. Usando o serviço de voz do Google, podemos tocar música, obter informações sobre o tempo, reservar ingressos e muito mais. Tudo que você precisa fazer é perguntar. Neste tutorial, vamos ver como construir um alto-falante inteligente controlado por voz usando o Google Assistant e Raspberry Pi


Requisitos de Hardware


Raspberry Pi 3 [Recomendado] ou Raspberry Pi 2 Modelo B [Compatível] e cartão SD (8 GB ou mais)

Alto-falante externo com cabo AUX de 3,5 mm

Qualquer webcam ou microfone USB 2.0


Também presumimos que o seu Raspberry Pi já esteja configurado com um sistema operacional Raspbian e conectado à Internet. Com eles no lugar, vamos prosseguir com o tutorial. Se você for novo no Raspberry Pi, leia Primeiros passos com o Raspberry Pi primeiro.


Observação: a webcam possui um microfone embutido, portanto, usaremos isso no lugar do microfone USB 2.0.


Você também precisa de um teclado, mouse e monitor para conectar o raspberry pi usando o cabo HDMI.



Verificando o microfone da webcam com Raspberry Pi:



1. Abra o terminal Raspberry Pi e digite o comando arecord -l. Isso exibirá os dispositivos de hardware que estão conectados ao Raspberry Pi conforme mostrado abaixo:


O cartão 1 é o microfone da sua webcam que vamos usar. Se não for exibido, sua webcam pode estar com defeito.



2. Agora, verifique se o microfone está funcionando, executando o comando de gravação de áudio como:



arecord  /home/pi/Desktop/test.wav  -D  sysdefault:CARD=1


3. Para reproduzir o áudio gravado, digite este comando:


omxplayer -p  -o  local /home/pi/Desktop/test.wav


Se você conectou o Raspberry Pi ao monitor usando um cabo HDMI, a saída de áudio padrão é feita pelo alto-falante do monitor (se houver alto-falante embutido nele). Portanto, para alterá-lo para 3,5 mm você deve digitar o seguinte comando:


sudo raspi-config and go to Advance option


Selecione Áudio da lista -> selecione Força 3,5 mm -> selecione Ok e reinicie o Raspberry Pi.


Agora, você deve ouvir o som do conector de 3,5 mm.



NOTA: Se você quiser aumentar ou diminuir o volume da voz de entrada para o microfone, use o tipo alsamixer no terminal. Selecione a placa de som do terminal pressionando F6.



Pressione F4 para alterar o ganho de dB do microfone e configurá-lo como desejar.


Se você tiver um microfone USB 2.0, as etapas seguidas são as mesmas para verificar o microfone. Aqui, usamos a webcam para microfone USB.


Configurando a API do Google para Raspberry Pi Google Assistant


1. Primeiro, temos que registrar e configurar um projeto no painel de ações do Console do Google.


2. Depois de fazer login em sua conta do Google, você verá a janela a seguir.


Clique em Adicionar/Importar Projeto.


3. Na próxima tela, você deve inserir o Nome do Projeto e clicar em Criar Projeto.


4. Agora, vá para o console de desenvolvedores do Google na nova guia e pesquise a API do Google Assistant. Antes de prosseguir e pressionar o botão Ativar, certifique-se de ter seu projeto selecionado. Em seguida, clique em Habilitar


5. Agora, abra a guia anterior do console do Google e role para baixo até a parte inferior da tela.



Você encontrará uma opção Registro do Dispositivo, clique nela


6. Na próxima tela, clique em Registrar modelo. Depois disso, você precisa definir um nome de produto, nome do fabricante e definir um tipo de dispositivo. Esses nomes podem ser o que você quiser.



Anote a ID do modelo do dispositivo, pois precisaremos dela mais tarde no processo.



Agora, clique em Registrar modelo.


7. A próxima tela será para Download de credenciais. Para obter esse arquivo de credenciais, clique em Baixar credenciais do OAuth 2.0. Este arquivo é muito importante, portanto, mantenha-o em um lugar seguro.



Agora, clique em Avançar.


8. Você pode selecionar quaisquer características de que precise, mas em nosso caso não precisamos de nenhuma delas, então apenas clicamos no botão Ignorar.


9. Assim que tudo estiver feito, você terá a tela de registration.


10. Agora, vá para a página Controles de atividade. Aqui você deve ativar os seguintes controles de atividade para garantir que a API do Google Assistant funcione bem.



Atividade na Web e de apps, Histórico de localização, Informações do dispositivo, Atividade de voz e áudio


11. Novamente, vá para o console de desenvolvedores do Google. Clique em Credenciais no lado esquerdo do painel. Clique na tela de consentimento do OAuth.


12. Preencha o seu id do Gmail e qualquer nome para o nome do produto e salve-o.


Agora, terminamos com a configuração da API do Google


Configurando o Google Assistant para Raspberry Pi Google Home


Observe que, a partir desta parte, você deverá concluir o tutorial na área de trabalho Raspbian diretamente e não por SSH, pois você terá que usar o navegador integrado.


1. Primeiro, atualize a lista de pacotes do Raspberry Pi usando o seguinte comando


sudo apt-get update


2. Agora, vamos criar um arquivo onde podemos armazenar as credenciais que baixamos anteriormente. Para isso, execute os dois comandos a seguir


mkdir ~/googleassistant

nano ~/googleassistant/credentials.json


3. Neste arquivo, você deve copiar o conteúdo do arquivo de credenciais que baixamos. Abra o arquivo .json em seu editor de texto favorito e pressione ctrl + A e depois ctrl + C para copiar o conteúdo.


Depois de copiar o conteúdo, salve o arquivo pressionando Ctrl + X, depois Y e, por fim, pressione Enter.


4. Depois de salvar o arquivo de credenciais, começaremos a instalar algumas das dependências necessárias para executar o assistente do Google.


Execute o seguinte comando para instalar o Python3 e o ambiente virtual Python 3 em nosso RPi.


sudo apt-get install python3-dev python3-venv


5. Agora habilite o python3 como nosso ambiente virtual usando o seguinte comando


python3 -m venv env                        





6. Instale as versões mais recentes do pip e as ferramentas de configuração. Execute o seguinte comando para obter a atualização


env/bin/python -m pip install --upgrade pip setuptools --upgrade


7. Para entrar no ambiente python, temos que executar este comando


source env/bin/activate



8. Agora vamos instalar a biblioteca do Google Assistant, executar os seguintes comandos um por um para obter a biblioteca atualizada


python -m pip install --upgrade google-assistant-library

python -m pip install --upgrade google-assistant-sdk[samples]


Agora, concluímos a instalação de todas as dependências e bibliotecas necessárias.


Autorizando Raspberry Pi para o Google Assistente


1. Primeiro instalaremos a ferramenta de autorização do Google em nosso Raspberry pi executando o seguinte comando


python -m pip install --upgrade google-auth-oauthlib[tool]



2. Agora, precisamos executar a biblioteca de autenticação do Google. Execute este comando para executar a biblioteca.


google-oauthlib-tool --client-secrets ~/googleassistant/credentials.json \

--scope https://www.googleapis.com/auth/assistant-sdk-prototype \

--scope https://www.googleapis.com/auth/gcm \

--save –headless


Este comando irá gerar um URL, copie este URL e cole-o no seu navegador.


3. No navegador, faça login em sua conta do Google; se você tiver várias contas, selecione apenas aquela com a qual configurou sua chave de API.


Após o login, você verá um longo código de autenticação. Copie este código, cole-o na janela do terminal e pressione Enter. Se a autenticação for verificada, você deverá ver a seguinte linha aparecer na linha de comando, conforme mostrado na imagem acima:


credentials saved: /home/pi/.config/google-oauthlib-tool/credentials.json



4. Nossas credenciais de autenticação foram verificadas agora, mas o Google ainda deseja verificar por meio de uma tela pop. Mas nosso pop-up está bloqueado pelo CORS (Compartilhamento de recursos entre origens), então, primeiro desative isso usando o comando abaixo.


Para usar este comando, certifique-se de que seu navegador chromium esteja fechado e agora abra uma nova janela de terminal e digite o comando. Este comando iniciará o navegador chromium com a segurança CORS desativada, não navegue na Internet com isso desativado.


chromium-browser --disable-web-security --user-data-dir "/home/pi/


Após a abertura do navegador, vá para a janela do terminal anterior na qual você configurou o exemplo do assistente do Google.


5. Agora execute o seguinte comando para iniciar o assistente do Google pela primeira vez. Neste comando, substitua <projectid> pelo id do seu projeto.


Se você esqueceu o ID do projeto, vá para Actions Console no Google, clique no projeto que você criou e, em seguida, clique no ícone de engrenagem no canto superior esquerdo e em Configurações do projeto.


Além disso, substitua <deviceid> pelo ID do dispositivo obtido anteriormente no tutorial.


googlesamples-assistant-pushtotalk --project-id <projectid> --device-model-id <deviceid> --display





Este comando iniciará uma nova guia no navegador Chromium.


6. Agora pressione Enter na janela do terminal para acioná-lo e fazer qualquer pergunta.


Quando você fizer a primeira pergunta, a tela abaixo pode aparecer no navegador. Clique em Continuar -> Entendo -> Permitir.


Se a tela Continuar não aparecer, não há problema.


7. Agora, podemos usar o exemplo push to talk do Google Assistant e obter uma resposta de saída.



Quando você pressiona Enter no terminal e fala uma ação, deve ouvir uma resposta verbal e outra guia também será aberta exibindo a ação que você acabou de chamar.


Você pode desativar a abertura da guia removendo o argumento –display do comando. Precisávamos disso para obter a tela de autorização.


Usando o Google Assistente no Raspberry Pi


Autorizamos nosso Raspberry Pi. Sempre que desejar iniciar o Google Assistant, basta entrar no ambiente e seguir as etapas abaixo.



1. Execute o seguinte comando ao entrar no ambiente



source env/bin/activate



Você verá (env) aparecer na frente de cada linha.



2. Para iniciar o exemplo push to talk, execute o seguinte comando



googlesamples-assistant-pushtotalk



Desta vez, não precisamos do id do produto e do dispositivo.

3. Além do recurso PTT, você também pode acionar o assistente do Google dizendo Ok Google. Para isso, você deve inserir um ID de dispositivo inválido para que funcione. O ID de dispositivo incorreto pode ser qualquer coisa como aaaa, abcd.



Agora, execute o seguinte comando.


googlesamples-assistant-hotword --device-model-id <deviceid>

Agora, você pode perguntar qualquer coisa com o próprio assistente do Google, basta dizer Ok Google.



É assim que podemos instalar o Google Assistant no Raspberry Pi e podemos transformá-lo em um Google Home conectando um alto-falante e um microfone a ele.


ENTRE EM CONTATO COM A LOJAMUNDI.

Assine nossa Newsletter! É gratuito!

Cadastre seu nome e email para receber novidades e materiais gratuitos da Lojamundi.