- Requisitos de Hardware
- Configurando a API do Google para Raspberry Pi Google Assistant
- Configurando o Google Assistant para Raspberry Pi Google Home
- Autorizando Raspberry Pi para o Google Assistente
- Usando o Google Assistente no Raspberry Pi
Já pensou em um alto-falante que possa 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 para uma era de sistemas baseados em IA. Você já ouviu falar sobre o Google Assistant, Apple Siri e Amazon Alexa. Todos esses 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 mais se destaca. 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 transformaremos 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 o que você precisa fazer é perguntar. Neste tutorial, vamos ver como construir um alto-falante inteligente controlado por voz usando o Google Assistant e o Raspberry Pi.
Requisitos de Hardware
- Raspberry Pi 3 ou Raspberry Pi 2 Modelo B 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.
Observação: a webcam possui um microfone embutido, portanto, vamos usá-lo 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, por padrão, a saída de áudio é feita pelo alto-falante do monitor (se houver um alto-falante embutido). Portanto, para alterá-lo para 3,5 mm você deve digitar o seguinte comando:
sudo raspi-config e vá para a opção Avançar.
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 defina-o 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 o microcphone 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 seguinte janela.
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 Ativar.
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 o ID do modelo do dispositivo, pois precisaremos dele posteriormente no processo.
Agora, clique em Registrar modelo .
7. A próxima tela será para Download de credenciais. Para obter este 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 conforme mostrado abaixo .
9. Assim que tudo estiver feito, você terá a seguinte tela.
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, concluímos 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 da web embutido.
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, finalmente, 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
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
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, copiar este URL e colá-lo 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:
credenciais salvas: /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 irá lançar o navegador chromium com a segurança CORS desabilitada, não navegue na internet com isso desabilitado.
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 pela primeira vez o assistente do Google. Neste comando substituir
Se você esqueceu o ID do projeto, vá para Actions Console no Google, clique no projeto que você criou, clique no ícone de engrenagem no canto superior esquerdo e em Configurações do projeto.
Além disso, substitua
googlesamples-assistant-pushtotalk --project-id
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ê fez 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
env / bin / ativar fonte
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
Agora, você pode perguntar qualquer coisa com o próprio assistente do Google, basta dizer Ok Google.
É assim que podemos instalar o Google Assistente no Raspberry Pi e podemos transformá-lo em um Google Home conectando um alto-falante e um microfone a ele.