Ligue para meu Arduino
Componentes e suprimentos
![]() |
| × | 1 | |||
| × | 1 | ||||
| × | 1 |
Sobre este projeto

(De http://www.instructables.com/id/Call-my-Arduino/)
Como habilitar chamadas telefônicas para o seu Arduino , usando Twilio e Yaler.net
Twilio é um serviço da Web que transforma tudo em um telefone. É uma API REST para telefonia, hospedada na nuvem. Nesse caso, Twilio solicita ao Arduino um novo arquivo voice.xml sempre que alguém liga para o número de telefone predefinido do Arduino. O conteúdo da resposta é lido para o chamador por Alice, uma voz do mecanismo de texto em fala de Twilio.
Yaler.net permite o acesso à Web para dispositivos embutidos atrás de um firewall, NAT ou um roteador de rede móvel. Aqui, ele permite que o Twilio acesse o arquivo voice.xml no Arduino, que está localizado em uma rede local e, portanto, não tem seu próprio endereço IP público (divulgação:sou um dos fundadores da Yaler).
Esta demonstração usa um sensor de temperatura, mas qualquer outro sensor serviria também. Um exemplo de produto do mundo real seria o detector de fumaça Canary (agora Birdi), que permite que proprietários de residências preocupados liguem para perguntar se a bateria ainda está boa.
Em um nível mais abstrato, este Instructable tenta mostrar como, em uma Internet das Coisas aberta, serviços de nuvem modulares podem ser combinados livremente para construir soluções novas, simples e confiáveis. HTTP e Webhooks FTW! Mas vamos começar ...
(Aqui está um vídeo explicando este projeto da IoTLive, parte do IoTDay 2014)
Material
- Arduino Uno (por exemplo, https://www.adafruit.com/products/50)
- Cabo USB padrão A-B (por exemplo, http://www.adafruit.com/products/62)
- Arduino Ethernet Shield (por exemplo, http://www.adafruit.com/products/201)
- Cabo Ethernet (por exemplo, http://www.adafruit.com/products/995)
- Sensor de temperatura analógico (por exemplo, https://www.adafruit.com/products/165)
- Pacote de cabos de montagem (por exemplo, http://www.adafruit.com/products/153)
- Breadboard (por exemplo, http://www.adafruit.com/products/64)
http://www.youtube.com/watch?v=4IPwkW38oIw
Etapa 1:Fiação do sensor

Adicione a blindagem Ethernet ao Arduino e conecte o sensor de temperatura conforme mostrado. Para obter detalhes sobre o sensor de temperatura com o sensor TMP36, consulte, por exemplo, http://learn.adafruit.com/tmp36-temperature-sensor/using-a-temp-sensor
Caso queira adicionar outros sensores (digitais), lembre-se de que alguns pinos são usados pela blindagem Ethernet.
Etapa 2:Instalação da biblioteca Yaler

Siga as três etapas para Instalar a biblioteca em https://yaler.net/arduino Se ainda não o fez, inscreva-se em https://yaler.net/ para uma conta de teste gratuita e anote o domínio de retransmissão (a chave secreta não é necessária).
Etapa 3:Programação do Arduino

Baixe o código-fonte do TwilioYalerWebService Arduino
https://bitbucket.org/tamberg/iotworkshop/raw/default/Arduino/TwilioYalerWebService/TwilioYalerWebService.ino?at=default
Abra o código do Arduino
O programa implementa um servidor Web muito simples que escuta as solicitações HTTP de entrada. Assim que uma solicitação chega, o programa responde com um documento XML. O servidor não se importa se o caminho do URL é / ou /voice.xml.
Altere o endereço MAC
Certifique-se de que o endereço MAC no código do Arduino seja exclusivo. Isso é especialmente importante se houver vários Arduinos na mesma rede local. Uma maneira simples de obter um (espero) endereço exclusivo é pesquisar o MAC do seu computador e adicionar 1 ao último dígito.
Insira seu domínio de retransmissão
Em vez de criar um servidor local com servidor EthernetServer (80); criamos um que pode ser acessado por meio do relé Yaler try.yaler.net , na seguinte linha:
Servidor YalerEthernetServer ("try.yaler.net", 80, "RELAY_DOMAIN");
Substitua RELAY_DOMAIN com seu domínio de retransmissão, por exemplo, para gsiot-ffmq-ttd5 modelo:
Servidor YalerEthernetServer ("try.yaler.net", 80, "gsiot-ffmq-ttd5");
Observe que você também pode usar o servidor local, se souber como configurar o encaminhamento de porta para abrir um buraco para solicitações HTTP de entrada em seu firewall local. O importante é que o Twilio possa acessar o Arduino da nuvem.
Salvar alterações e fazer upload
Salve todas as alterações e carregue o programa em seu Arduino. Mantenha o cabo USB conectado ao seu computador de desenvolvimento por enquanto e abra o console serial para ver a saída de depuração.
Etapa 4:Acessando o Arduino

Acesse seu Arduino de qualquer navegador
A biblioteca Yaler torna seu Arduino (e com ele o documento XML) acessível da Internet pública em http://RELAY_DOMAIN.try.yaler.net/, por exemplo. para o domínio de retransmissão gsiot-ffmq-ttd5 o URL é http://gsiot-ffmq-ttd5.try.yaler.net/ Ou, para torná-lo mais agradável para Twilio: http://gsiot-ffmq-ttd5.try.yaler.net/voice.xml
Verifique o documento XML
O conteúdo do documento XML informa ao Twilio o que responder a uma chamada telefônica recebida. Você pode até escolher a voz de conversão de texto em fala. Aqui está Alice. O formato XML do Twilio é denominado TwiML. Consulte https://www.twilio.com/docs/api/twiml para obter detalhes. Observe que o texto de resposta contém a temperatura real. Aqueça o sensor e atualize o documento no navegador da Web com F5 para vê-lo mudar.
Solução de problemas
No caso de você obter uma página em branco ou um erro, certifique-se de que o cabo Ethernet está conectado e verifique https://yaler.net/browser para depuração específica do navegador.
Etapa 5:configurar um número Twilio



Inscreva-se
Primeiro, para obter uma conta Twilio, você terá que se inscrever em https://www.twilio.com/
Compre um número de telefone
Para receber chamadas, você precisará de um número, que tem um custo (pequeno). Faça login, navegue até Números e selecione os Números Twilio submenu, para ver o Gerenciar Números aba.
Clique em Comprar um número botão, selecione a Voz caixa de seleção e clique em Pesquisar e, em seguida, escolha um número e clique em Comprar para comprá-lo.
Configure o URL do webhook voice.xml
Em Gerenciar números guia, clique no número que você acabou de comprar. Defina o URL de resposta para http://RELAY_DOMAIN.try.yaler.net/voice.xml e certifique-se de que POST é selecionado, por exemplo para o domínio de retransmissão Yaler gsiot-ffmq-ttd5 defina o URL de resposta como http://gsiot-ffmq-ttd5.try.yaler.net/voice.xml
Etapa 6:fazer uma chamada de teste

Depois que o Arduino estiver configurado, você pode ligar para ele de qualquer telefone - até mesmo do seu avô.
É isso, obrigado pela leitura. @tamberg
Código
Bitbucket
https://bitbucket.org/tamberg/iotworkshop/raw/default/Arduino/TwilioYalerWebService/TwilioYalerWebService.ino?at=defaultEsquemas

Processo de manufatura
- Antitranspirante / Desodorante em Bastão
- Raspberry Pi Garage Door Opener com streaming de vídeo do status da porta.
- Tomografia de elétrons de GaN em forma de lápis / (In, Ga) N Núcleo-Shell Nanowires
- Arduino Spybot
- FlickMote
- TV B-Gone caseiro
- Ligue para meu Arduino
- Relógio mestre
- Encontre-me
- Software de manutenção/CMMS – Preparando um caso de negócios