- Uma nova abordagem para dispositivos de automação residencial usando Chirp
- Reproduzindo áudio chirp com o Google Assistente
- Preparando seu Arduino Nano 33
Recentemente fiquei intrigado com todos os novos produtos de automação residencial do mercado e, por isso, comprei um Google Home Mini e alguns outros dispositivos inteligentes para controlar luzes, ventiladores, ar - condicionado e outros. Embora funcionasse e tudo fosse divertido de usar, fiquei um pouco incomodado por ter todas essas conectividades sem fio acontecendo ao meu redor. Só meu quarto tinha 5 dispositivos inteligentes e, incluindo meu laptop e telefone, serão 7 dispositivos sem fio ao meu redor, sempre conectados ao meu roteador. Eu estava preocupado que todos esses sinais de Wi-Fi pudessem ser ruins para nossa saúde e este artigo de pesquisa no Sciencedirect adicionou evidências aos meus pensamentos. Foi quando comecei a pensar em uma solução alternativa de automação residencial sem fio que não precisasse de Wi-Fi / Bluetooth para funcionar.
Uma nova abordagem para dispositivos de automação residencial usando Chirp
Construímos anteriormente um projeto de automação residencial com controle remoto IR que pode funcionar sem Wi-Fi ou Bluetooth, mas não é mais legal e eu queria controlar os dispositivos com voz. Eu estava procurando uma técnica para o Google Home Mini se comunicar diretamente com os dispositivos inteligentes, então basicamente preciso de um método de comunicação sem fio Máquina para Máquina sem usar Wi-Fi ou BLE.
Foi quando me lembrei da entrevista com Dan Jones, CTO da Chirp, na qual ele apresentou o Chirp como “Chirp é uma forma de transmitir informações por ondas sonoras. Em contraste com o Wi-Fi ou Bluetooth que usa frequências de rádio, o Chirp codifica os dados em tons que podem ser reproduzidos (transmitidos) usando qualquer alto-falante do computador e recebidos por qualquer microfone do computador sem a necessidade de nenhum hardware adicional, como chips RF. Isso permite que o Chirp seja usado em qualquer dispositivo de consumidor que tenha um alto-falante e um microfone, como telefones celulares, laptops, sistemas de PA, etc. e pode transmitir informações até mesmo por meio de stream do YouTube ou transmissão de TV. ” Isso significa que podemos usar nosso Google Home mini para falar diretamente (usando chirp) com nosso dispositivo inteligente.Tudo o que precisamos é um microfone e um processador dentro desses dispositivos inteligentes para decodificar os dados de áudio chirp para realizar as ações necessárias. Chirp também anunciou recentemente a integração de dados sobre som para Arduino, isso significa que devemos ser capazes de usar a nova placa de sentido 33 BLE do Arduino nano para executar Chirp SDK para nosso projeto.
Portanto, neste projeto, iremos construir um Dispositivo Acústico de Domótica em que seremos capazes de controlar este dispositivo inteligente sem usar nenhuma conexão sem fio como Wi-Fi ou Bluetooth. Usaremos Actions for Google e Dialogflow para construir um aplicativo de teste para nosso Google Assistant para fazê-lo reproduzir áudio codificado (Chirp). Este áudio será então capturado pela placa Arduino nano BLE que executa o programa Chirp Arduino, com base na mensagem codificada nos dados que a placa Arduino pode realizar qualquer ação como alternar uma carga AC controlando o LED RGB, etc. Pode soar como muito, mas é relativamente simples e as instruções completas são fornecidas abaixo. Então vamos começar.
Reproduzindo áudio chirp com o Google Assistente
A maneira mais fácil de construir automação residencial controlada por voz é usar o IFTTT com o Google Assistant for Home Automation. Mas, no momento em que escrevo este artigo, Chrip não tem um miniaplicativo no IFTTT, então usaremos a plataforma nativa Actions for Google. Há uma boa chance de que o Chirp forneceu seu próprio miniaplicativo no IFTTT no momento em que você está lendo este artigo, então verifique-o. Do contrário, vamos prosseguir com o Actions for Google para criar um aplicativo Google Assistant.
Etapa 1: abra o console do Dialogflow. Você pode ter que se inscrever se ainda não tiver feito isso. Em seguida, clique em “Criar Novo Agente” conforme mostrado abaixo
Etapa 2: Dê um nome ao seu novo agente e clique em criar. Nomeei meu agente como “Circuitdgest_Automation”
Etapa 3: Agora você será levado para a seção de intents. É aqui que você treina seu novo agente para várias finalidades. No nosso caso, escreveremos duas intenções, uma é ligar a luz e a outra é desligar a luz. Você pode escrever qualquer número de intents com base nos aplicativos e comandos que devem ser compreendidos por seu Agente. Por padrão, você terá a intenção de boas-vindas, mas vamos criar uma nova para acender a luz clicando em “Criar intenção” e chamarei esta intenção de Luzes acesas
Na nova página clique em “Adicionar frases de treinamento” e digite o comando que deve ser entendido por seu assistente, neste caso “Ligar a luz”. Você pode escrever qualquer número de frases de treinamento que transmitam o significado da mesma intenção.
Passo 4: Agora role para baixo e clique em “Add Response”. É aqui que dizemos ao assistente como responder se esse intent específico for acionado. Por padrão, você pode inserir uma resposta de texto aqui, mas precisamos que o áudio seja reproduzido por nosso assistente, então clique no símbolo “+” próximo à guia “Padrão” e selecione Assistente do Google e, em seguida, marque “Adicionar respostas” e selecione “Respostas simples ”. Dentro da caixa de texto de resposta simples, digite neste código
É um código SSML simples para reproduzir áudio de um URL e dizer “Lights Turned ON”. Este áudio deve ser o áudio codificado do Chirp e deve ser carregado em jovo.tech.
Obtendo áudio codificado do chirp:
Este áudio codificado pode ser obtido no aplicativo Chrip Android. Instale o aplicativo e digite a mensagem a ser codificada e clique no botão Enviar para ouvir o áudio codificado
Aqui, digitei “Luzes acesas”. Da mesma forma, você pode digitar qualquer mensagem e clicar no botão Enviar para verificar o áudio codificado. Podemos então salvar este arquivo de áudio (formato mp3) usando qualquer gravador de som. Gravei dois desses arquivos de áudio com a mensagem codificada “Lights on” e “Lights off”. Você pode baixá-los aqui se quiser economizar tempo. Quando estiver pronto com os arquivos de áudio, vá para o conversor de áudio da jovo tech para fazer upload de seus arquivos mp3 e obter um link para eles.
Observe que esta é uma ferramenta de teste e seus arquivos ficarão ativos por apenas 24 horas. Se você precisa que ele funcione por um longo tempo, você deve usar seu próprio servidor web, como a base de fogo do Google, como este exemplo de interface do assistente do Google Firebase. Agora que você obteve o link, sua resposta no fluxo de diálogo deve ser parecida com esta
Certifique-se de clicar em salvar para salvar este intent.
Etapa 5: da mesma forma, crie outra nova intenção, desligue as luzes. Insira novamente sua frase de treinamento e também sua resposta. Desta vez, insira o link do outro arquivo de áudio e peça para ele dizer Luzes desligadas conforme mostrado abaixo.
Novamente, certifique-se de salvá-lo também.
Etapa 6: Agora, no lado esquerdo, clique na guia integrações e selecione Google Assistant. Isso nos ajudará a testar o aplicativo usando o assistente do Google. Selecione o aplicativo Google Assistant e clique em “TEST”
Etapa 7: Isso levará algum tempo, após o qual você obterá a tela de teste mostrada abaixo. No canto esquerdo, você pode ver uma caixa de texto onde pode digitar seus comandos de teste e ver como o aplicativo responde. Você também pode encontrar alguns aplicativos de depuração no lado esquerdo da tela.
Quando você digita “acender as luzes de leitura”, deve tocar o tom de trinado e dizer que as luzes estão acesas, semelhante a “Desligar as luzes de leitura”. Assim que funcionar aqui, você pode experimentá-lo em qualquer dispositivo assistente do google, como telefone ou google home mini, conectado ao seu ID do Gmail. Basta dizer falar com meu aplicativo de teste e começar a controlar o dispositivo.
Preparando seu Arduino Nano 33
Agora, no lado do hardware, as coisas ficaram bem fáceis graças à placa Arduino Nano 33 BLE Sense. Porque a placa tem um microfone embutido e bibliotecas de chirp prontas para implantar diretamente de seu IDE Arduino. Se você é completamente novo nesta placa, é recomendável que você leia este artigo “Introdução ao Arduino Nano 33 BLE” para entender