ESP32 - IFTTT

Este tutorial te enseña cómo usar ESP32 con IFTTT. A continuación se presentarán los contenidos principales:

Hardware Requerido

1×Módulo de Desarrollo ESP32 ESP-WROOM-32
1×Cable USB Tipo-A a Tipo-C (para PC USB-A)
1×Cable USB Tipo-C a Tipo-C (para PC USB-C)
1×(Opcional) Conector de Alimentación DC
1×Protoboard
1×Cables Puente
1×(Recomendado) Placa de Expansión de Terminales de Tornillo para ESP32
1×(Recomendado) Breakout Expansion Board for ESP32
1×(Recomendado) Divisor de Alimentación para ESP32

Or you can buy the following kits:

1×DIYables ESP32 Starter Kit (ESP32 included)
1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgación: Algunos de los enlaces proporcionados en esta sección son enlaces de afiliado de Amazon. Podemos recibir una comisión por las compras realizadas a través de estos enlaces sin costo adicional para usted. Apreciamos su apoyo.

¿Qué es IFTTT?

IFTTT es un servicio web gratuito que conecta diferentes servicios (p. ej. Twitter, Facebook, Servicio meteorológico, Correo electrónico, ...) entre sí. Por ejemplo:

  • IFFTT puede ayudarte a guardar automáticamente las imágenes que publicas en Facebook en Dropbox.
  • IFFTT puede ayudarte a enviar automáticamente un correo electrónico si llueve mañana.

IFTTT significa If This Then That. Significa que si un servicio se activa, otros servicios de IFTTT realizan la acción

Desde el punto de vista del ESP32, IFTTT es un puente entre el ESP32 y otros servicios. Con IFTTT, el ESP32 puede hacer algunas cosas difíciles fácilmente. Por ejemplo:

  • ESP32 envía la notificación al teléfono inteligente
  • ESP32 envía el correo electrónico y el mensaje de texto (SMS)
  • Google Assistant y Alexa controlan el ESP32
  • Programación para ESP32 a través de Google Calendar

Cuando aprendas sobre IFTTT, necesitas conocer cuatro términos importantes en IFTTT: Applet, servicio, disparador, y acción.

  • IFTTT comprende Applets.
  • La Applet típicamente comprende dos servicios de IFTTT (p. ej. Evernote, Facebook, Weather Service, Email...):
    • Un servicio se llama un disparador
    • Un servicio se llama una acción
  • ⇒ Cuando ocurre algo en el disparador, se realiza la acción.
  • Algunos servicios pueden ser un disparador. Algunos servicios pueden ser una acción. Algunos servicios pueden ser tanto disparador como acción:

Se puede crear un Applet:

  • por la empresa IFTTT: Para usar este tipo de Applet, solo necesitas habilitarlo.
  • por terceros: Para usar este tipo de Applet, solo necesitas habilitarlo.
  • por ti mismo: Para usar este tipo de Applet, debes primero crear tu propio Applet y luego habilitarlo.

Para usar IFTTT Applet con ESP32, necesitas crear un Applet por ti mismo. No te preocupes, es muy fácil.

El Applet creado por ti mismo para ESP32 está compuesto de:

  • Webhooks servicio: este servicio interactúa directamente con el ESP32
  • Otro servicio: cualquier servicio que quieras usar (por ejemplo, Twitter, Facebook, servicio meteorológico, correo electrónico ...)

Hay dos casos de uso:

  • ESP32 activa IFTTT: ESP32 activa IFTTT para hacer algo. Por ejemplo, ESP32 activa IFTTT para enviar un correo electrónico
  • IFTTT activa ESP32: Un servicio externo activa IFTTT, y luego IFTTT activa ESP32 para hacer algo. Por ejemplo, Alexa le dice a ESP32 que encienda la luz

Aprenderemos ambos casos uno por uno.

ESP32 IFTTT

Cómo ESP32 dispara IFTTT

Necesitamos crear un IFTTT Applet que:

  • El servicio de Webhooks actúa como un disparador
  • El otro servicio (p. ej., correo electrónico) actúa como una acción

Después de crear un IFTTT Applet para ESP32:

  • ESP32 interactúa con el servicio de Webhooks en IFTTT al realizar una solicitud HTTP/HTTPS al servicio de Webhooks.
  • El servicio de Webhooks activa automáticamente otros servicios en IFTTT
  • El otro servicio en IFTTT toma acción (p. ej., enviar un correo electrónico)

Cómo hacer que ESP32 dispare IFTTT

  • Crea una cuenta de IFTTT
  • Inicia sesión en IFTTT
  • Crea un Applet, que conecta Webhooks a un servicio deseado (p. ej. correo electrónico, Twitter, VoIP ...)
  • Ve a la página de documentación de Webhooks para obtener la clave de Webhooks.
  • Escribe código para ESP32 que realice una solicitud HTTP (POST o GET) a Webhooks.

Para aprender cómo hacer una solicitud HTTP con ESP32.

Qué debemos incluir en la solicitud HTTP

  • Clave de Webhooks: proporcionada por IFTTT. Es una clave única y secreta para identificar tus Webhooks. Puedes encontrar esta clave iniciando sesión en el sitio web de IFTTT
  • Nombre del evento: proporcionado por ti cuando creas el applet. Es el nombre para identificar el evento
  • (Opcional) Datos: ESP32 puede incluir los datos en la solicitud HTTP enviada a IFTTT

La clave de Webhooks y el nombre del evento son partes de la URL. Los datos son opcionales y se incluyen en la cadena de consulta. El Webhook de IFTTT permite que una cadena de consulta tenga hasta 3 variables con los nombres fijos: value1, value2, value3.

Los formatos de URL de la solicitud HTTP GET:

  • El disparador sin datos:
http://maker.ifttt.com/trigger/EVENT_NAME/with/key/YOUR_KEY
  • El disparador con una variable:
http://maker.ifttt.com/trigger/EVENT_NAME/with/key/YOUR_KEY?value1=25
  • El disparador con dos variables:
http://maker.ifttt.com/trigger/EVENT_NAME/with/key/YOUR_KEY?value1=25&value2=19
  • El disparador con tres variables:
http://maker.ifttt.com/trigger/EVENT_NAME/with/key/YOUR_KEY?value1=25&value2=19&value3=6

Reemplace EVENT_NAME y YOUR_KEY en los formatos anteriores.

Cómo enviar datos desde ESP32 a IFTTT

Para enviar datos desde el ESP32 a otro servicio de IFTTT (p. ej. correo electrónico, Facebook), debemos hacer lo siguiente:

  • En ESP32: Incluir datos en la solicitud HTTP
  • En Applet: modificar la configuración para extraer datos de la solicitud HTTP.

El flujo de trabajo:

  1. ESP32 realiza una solicitud HTTP/HTTPS al servicio Webhooks de IFTTT
  2. Webhooks servicio extrae los datos de la solicitud HTTP
  3. Webhooks servicio activa otro IFTTT servicio y, incluyendo datos al disparador.
  4. Otro servicio toma la acción

Hay cinco variables que se pueden especificar en la configuración de Webhooks al crear el Applet:

{{EventName}} When specified this variable, the data will be extracted from HTTP request
{{OccurredAt}} When specified this variable, the data will be the IFTTT system time
{{Value1}} When specified this variable, the data will be extracted from the variable value1 in the query string in HTTP request
{{Value2}} When specified this variable, the data will be extracted from the variable value2 in the query string in HTTP request
{{Value3}} When specified this variable, the data will be extracted from the variable value3 in the query string in HTTP request

La instrucción detallada se presentará en tutoriales específicos.

Código de ejemplo

Las instrucciones y el código de ejemplo del ESP32 que envía datos a otro servicio IFTTT están disponibles en los tutoriales que se muestran a continuación:

Cómo IFTTT activa ESP32

  • Un servicio externo desencadena un IFTTT servicio
  • El IFTTT servicio activa automáticamente el Webhooks servicio
  • El Webhooks servicio realiza automáticamente una solicitud HTTP/HTTPS al ESP32. En este caso, ESP32 debe funcionar como un servidor web para manejar la solicitud de IFTTT Webhooks servicio

Lo siguiente es un ejemplo de cómo el ESP32 interactúa con Amazon Echo Dot.

IFTTT Alexa: cómo funciona

Cómo hacer que IFTTT dispare ESP32

  • Inicia sesión en IFTTT
  • Crea un Applet, que conecta un servicio (p. ej. Google Assistant, Amazon Alexa, Google Calendar ...) con el Webhooks servicio:
    • El otro servicio es el disparador
    • El Webhooks servicio es la acción
  • Escribe código para ESP32 para manejar las solicitudes HTTP desde Webhooks.

Al crear el Applet con Webhooks el servicio es un disparador, el Webhook requiere introducir la dirección IP del ESP32 que está configurando. Cuando se activa un evento, IFTTT realiza una solicitud HTTP al ESP32 mediante la dirección IP introducida.

La instrucción detallada se presentará en tutoriales específicos.

Ejemplo de código

Las instrucciones y el código de ejemplo de esos disparadores de IFTTT para ESP32 están disponibles en los tutoriales que se muestran a continuación:

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!