Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Habilitar llamadas telefónicas en Arduino UNO con Twilio y Yaler – Proyecto "Llama a mi Arduino"

Componentes y suministros

Arduino UNO ×1
Arduino Ethernet Shield ×1
Sensor de temperatura analógico ×1

Sobre este proyecto

Habilitar llamadas telefónicas en Arduino UNO con Twilio y Yaler – Proyecto  Llama a mi Arduino

(Fuente: Instructables)

Cómo habilitar llamadas telefónicas a tu Arduino

Usando Twilio y Yaler.net.

Twilio es un servicio web que convierte todo en un teléfono. Es una API REST para telefonía, alojada en la nube. En este caso, Twilio pide al Arduino un nuevo archivo voice.xml cada vez que alguien llama al número predefinido del Arduino. El contenido de la respuesta es leído al llamante por Alice, una voz del motor de texto a voz de Twilio.

Yaler.net permite el acceso web a dispositivos embebidos detrás de firewall, NAT o router de red móvil. Aquí permite a Twilio acceder al archivo voice.xml en el Arduino, que está en una red local y por tanto no tiene su propia IP pública (divulgación: soy fundador de Yaler).

Esta demo usa un sensor de temperatura, pero serviría cualquier otro. Un ejemplo real sería el detector de humo Canary (ahora Birdi) que permite a propietarios preocupados llamarlo para saber si la batería está bien.

A un nivel más abstracto, este Instructable muestra cómo, en un Internet de las Cosas abierto, servicios cloud modulares pueden combinarse libremente para construir soluciones novedosas, simples y fiables. ¡HTTP y Webhooks FTW! Pero empecemos...

(Aquí hay un vídeo explicando el proyecto desde IoTLive, parte del IoTDay 2014)

Material

Paso 1: Cablear el sensor

Habilitar llamadas telefónicas en Arduino UNO con Twilio y Yaler – Proyecto  Llama a mi Arduino

Coloca el Ethernet Shield sobre el Arduino y conecta el sensor de temperatura como se muestra. Para detalles sobre detección de temperatura con el sensor TMP36, ver ej. Adafruit Learn.

Si quieres añadir otros sensores (digitales), ten en cuenta que algunos pines los usa el Ethernet Shield.

Paso 2: Instalar la librería Yaler

Habilitar llamadas telefónicas en Arduino UNO con Twilio y Yaler – Proyecto  Llama a mi Arduino

Sigue los tres pasos de Instalación de la librería en yaler.net/arduino. Si no lo has hecho, regístrate en yaler.net para una cuenta de prueba gratuita y anota el dominio de relay (la clave secreta no es necesaria).

Paso 3: Programar el Arduino

Habilitar llamadas telefónicas en Arduino UNO con Twilio y Yaler – Proyecto  Llama a mi Arduino

Descarga el código fuente TwilioYalerWebService para Arduino

Enlace de descarga

Abre el código de Arduino

El programa implementa un servidor web muy simple que escucha peticiones HTTP entrantes. Cuando llega una petición, el programa responde con un documento XML. El servidor no distingue si la ruta URL es / o /voice.xml.

Cambia la dirección MAC

Asegúrate de que la dirección MAC en el código sea única. Esto es especialmente importante si hay varios Arduinos en la misma red local. Una forma simple de obtener una dirección (esperemos que única) es buscar la MAC de tu ordenador y sumar 1 al último dígito.

Introduce tu dominio de relay

En lugar de crear un servidor local con EthernetServer server(80); creamos uno accesible vía el relay de Yaler try.yaler.net, en la línea:

YalerEthernetServer server("try.yaler.net", 80, "RELAY_DOMAIN");

Reemplaza RELAY_DOMAIN con tu dominio de relay, ej. para gsiot-ffmq-ttd5 escribe:

YalerEthernetServer server("try.yaler.net", 80, "gsiot-ffmq-ttd5");

También puedes usar el servidor local, si sabes configurar port forwarding para abrir un puerto para peticiones HTTP entrantes en tu firewall local. Lo importante es que Twilio pueda acceder al Arduino desde la nube.

Guarda cambios y sube

Guarda todos los cambios y sube el programa a tu Arduino. Mantén el cable USB conectado a tu ordenador de desarrollo por ahora, y abre la consola serie para ver la salida de depuración.

Paso 4: Acceder al Arduino

Habilitar llamadas telefónicas en Arduino UNO con Twilio y Yaler – Proyecto  Llama a mi Arduino

Accede a tu Arduino desde cualquier navegador

La librería Yaler hace tu Arduino (y con él el documento XML) accesible desde Internet público en https://RELAY_DOMAIN.try.yaler.net/, ej. para el dominio de relay gsiot-ffmq-ttd5 la URL es https://gsiot-ffmq-ttd5.try.yaler.net/ O, para que se vea mejor para Twilio: https://gsiot-ffmq-ttd5.try.yaler.net/voice.xml

Verifica el documento XML

El contenido del XML dice a Twilio qué responder a una llamada entrante. Incluso puedes elegir la voz de texto a voz. Aquí es Alice. El formato XML de Twilio se llama TwiML. Ver documentación TwiML. Nota que el texto de respuesta contiene la temperatura real. Calienta tu sensor y refresca el documento en tu navegador con F5 para verlo cambiar.

Solución de problemas

Si obtienes una página vacía o error, asegúrate de que el cable Ethernet está conectado y revisa yaler.net/browser para depuración específica del navegador.

Paso 5: Configurar un número Twilio

Habilitar llamadas telefónicas en Arduino UNO con Twilio y Yaler – Proyecto  Llama a mi Arduino
Habilitar llamadas telefónicas en Arduino UNO con Twilio y Yaler – Proyecto  Llama a mi Arduino
Habilitar llamadas telefónicas en Arduino UNO con Twilio y Yaler – Proyecto  Llama a mi Arduino

Regístrate

Primero, para obtener una cuenta Twilio, regístrate en twilio.com

Compra un número de teléfono

Para recibir llamadas necesitas un número, que tiene un (pequeño) coste. Inicia sesión, ve a Números y selecciona el submenú Números Twilio, para ver la pestaña Gestionar Números.

Haz clic en Comprar un número, marca la casilla Voz y haz clic en Buscar, elige un número y haz clic en Comprar.

Configura la URL del Webhook voice.xml

En la pestaña Gestionar Números, haz clic en el número que acabas de comprar. Establece la URL de Respuesta a https://RELAY_DOMAIN.try.yaler.net/voice.xml y asegúrate que POST está seleccionado, ej. para el dominio de relay Yaler gsiot-ffmq-ttd5 pon la Response URL a https://gsiot-ffmq-ttd5.try.yaler.net/voice.xml

Paso 6: Realizar una llamada de prueba

Habilitar llamadas telefónicas en Arduino UNO con Twilio y Yaler – Proyecto  Llama a mi Arduino

Una vez configurado el Arduino, puedes llamarlo desde cualquier teléfono, ¡incluso el de tu abuelo!

Eso es todo, gracias por leer. @tamberg

Código

Bitbucket

Código fuente en Bitbucket

Esquemáticos

Habilitar llamadas telefónicas en Arduino UNO con Twilio y Yaler – Proyecto  Llama a mi Arduino

Proceso de manufactura

  1. Construye un Caso de Negocio Sólido para CMMS: Impulsa Eficiencia y ROI en Mantenimiento
  2. Barras Antitranspirante/Desodorante: Ciencia, Historia y Claves de Fabricación
  3. Abridor de Puerta de Garaje con Raspberry Pi y Streaming de Video en Vivo – Guía Paso a Paso
  4. Construye un Spybot controlado por Bluetooth con Arduino
  5. FlickMote: Mando IR por gestos para Smart Home
  6. TV‑B‑Gone DIY con Arduino: Mando universal para apagar cualquier TV
  7. Habilitar llamadas telefónicas en Arduino UNO con Twilio y Yaler – Proyecto "Llama a mi Arduino"
  8. Construye un Reloj Maestro LED Personalizado con Alarma – Visible desde 12 Metros
  9. Find Me: Localizador Inteligente de Objetos con Arduino y Bluetooth
  10. Soluciones de Alimentación Optimizadas para Proyectos Arduino
  11. Imagen 3D de Alta Resolución de Nanohilos Núcleo-Cáscara GaN/(In,Ga)N en Forma de Lápiz vía Tomografía Electrónica