Arduino - Fazer Chamada de Voz
Neste tutorial, vamos aprender a usar o Arduino para fazer uma chamada VoIP (Voice over Internet Protocol) em tempo real para o seu celular. O código está disponível para o Arduino Uno R4 WiFi e para o Arduino Uno/Mega com Ethernet Shield. Você pode modificá-lo para funcionar com outros shields/placas.
O tutorial fornece o código Arduino para dois casos:
- Arduino Uno R4 WiFi
- Arduino Uno/Mega com Ethernet Shield
Hardware Necessário
| 1 | × | Arduino UNO R4 WiFi | |
| 1 | × | Alternatively, DIYables STEM V4 IoT | |
| 1 | × | Alternatively, DIYables STEM V4B IoT | |
| 1 | × | Cabo USB Tipo-A para Tipo-C (para PC com USB-A) | |
| 1 | × | Cabo USB Tipo-C para Tipo-C (para PC com USB-C) |
Alternatively if using Ethernet:
Or you can buy the following kits:
| 1 | × | DIYables STEM V3 Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Pré-requisitos
Se você não conhece o IFTTT e os conceitos relacionados, recomendamos muito que você leia os seguintes tutoriais:
Diagrama de Ligação
- Arduino - Ethernet Shield: basta encaixar o shield no Arduino Uno/Mega

Como Funciona
Precisamos:
- Instalar o aplicativo IFTTT no seu celular (disponível para Android e iOS).
- Criar um Applet do IFTTT no site do IFTTT, que conecta o Webhooks ao serviço VoIP Calls.
Ao criar o Applet:
- Podemos escrever a mensagem de texto, que é convertida em mensagem de voz para ser enviada ao celular.
- Podemos incluir dados do Arduino na mensagem.
Fluxo de Trabalho
- O Arduino faz uma requisição HTTP ao Webhooks do IFTTT,
- O Webhooks aciona o serviço VoIP Calls no IFTTT
- O serviço VoIP Calls no IFTTT converte a mensagem de texto em mensagem de voz.
- O serviço VoIP Calls no IFTTT faz uma chamada para o aplicativo IFTTT no seu celular.
- O seu celular toca.
- Você atende a chamada
- A mensagem de voz é falada.
※ Nota:
- A mensagem é definida no Applet, não no código Arduino.
- Como isso é VoIP, o seu celular precisa estar conectado à Internet.
- A chamada VoIP é gratuita
- O Arduino pode falar com você, mas você não pode falar com o Arduino.
Como Usar o IFTTT com o Arduino
- Instale o aplicativo IFTTT no seu celular
- Crie uma conta no IFTTT e faça login no IFTTT.
- Crie um Applet com os serviços Webhooks e VoIP Calls. Anote o nome do evento que usamos
- Depois de criar o applet, pegue a chave do Webhooks no IFTTT.
- Copie o código Arduino abaixo e cole na Arduino IDE.
- Substitua o nome do evento e a chave do Webhooks no código Arduino
- Faça o upload do código para o Arduino
※ Nota:
- O nome do evento é definido por você. Você pode dar qualquer nome.
- A chave do Webhooks é criada pelo IFTTT. Você não pode alterá-la.
Veja o tutorial em vídeo no final deste tutorial.
Código Arduino
Código Arduino IFTTT para Arduino Uno R4 WiFi
Código Arduino IFTTT para Arduino Uno/Mega com Ethernet Shield
※ Nota:
Este tutorial usou o endereço IP dinâmico (via DHCP). Se você quiser usar o endereço IP estático:
- Para o Ethernet Shield, você precisa modificar o código Arduino. Veja Arduino Ethernet Shield com endereço IP estático
Resultado
Nos dois códigos acima, se der certo,
- O resultado no Serial Monitor fica parecido com o abaixo:
- Verifique se o seu celular está tocando.
- Atenda a chamada
- Ouça a mensagem de voz.
Tutorial em Vídeo
Como Incluir Dados do Sensor na Mensagem de Voz
Para incluir dados do Arduino na mensagem de voz, precisamos:
- No Arduino: incluir os dados na requisição HTTP (na query string).
- No Applet: modificar as configurações para extrair os dados da requisição HTTP.
Você pode aprender o que é query string neste tutorial
Existem 5 variáveis que podemos usar nas configurações do Applet do IFTTT.
| {{EventName}} | Extraído da requisição HTTP |
|---|---|
| {{OccurredAt}} | Hora do sistema em que o evento ocorre |
| {{Value1}} | Extraído da variável value1 da query string na requisição HTTP |
| {{Value2}} | Extraído da variável value2 da query string na requisição HTTP |
| {{Value3}} | Extraído da variável value3 da query string na requisição HTTP |
Por exemplo:
- No Arduino: altere String queryString = "" para String queryString = "?value1=26&value2=70" nos códigos acima.
- No Applet: modifique a mensagem de texto nas configurações do Applet do IFTTT da seguinte forma:
Olá,
Aqui é o Arduino Uno, gostaria de informar que:
- A temperatura externa é {{Value1}} °C
- A umidade externa é {{Value2}} %
Todos os valores acima foram medidos em {{OccurredAt}}
Boa sorte e cuide-se!
Na mensagem acima, "
" cria uma nova linha na exibição.
A mensagem de voz ficará assim:
YOUTUBE VIDEO
Você pode ler a temperatura e a umidade do sensor e colocá-las na query string. Veja como incluir dados do sensor na query string
Desafie-se
Com base no código acima, faça o seguinte projeto:
- Fazer uma chamada VoIP para o seu celular quando o botão for pressionado
- Fazer uma chamada VoIP para o seu celular quando a porta for aberta
- Fazer uma chamada VoIP para o seu celular quando a temperatura estiver muito alta ...
WARNING
Observe que este tutorial está incompleto. Vamos avisar na nossa página do Facebook quando o tutorial estiver completo. Curta a página para ficar atualizado.