ESP32 - IFTTT
Este tutorial te enseña cómo usar ESP32 con IFTTT. A continuación se presentarán los contenidos principales:
- ¿Qué es IFTTT?
- Cómo usar ESP32 para interactuar con IFTTT, y viceversa
- Cómo usar ESP32 para activar o enviar datos a otros servicios (por ejemplo, correo electrónico, SMS, llamada VoIP) a través de IFTTT
- Cómo controlar de forma remota el ESP32 desde otros servicios (p. ej., Alexa, Siri, Google Assistant, etc.) a través de IFTTT
Hardware Requerido
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) |
¿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.

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:
- El disparador con una variable:
- El disparador con dos variables:
- El disparador con tres variables:
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:
- ESP32 realiza una solicitud HTTP/HTTPS al servicio Webhooks de IFTTT
- Webhooks servicio extrae los datos de la solicitud HTTP
- Webhooks servicio activa otro IFTTT servicio y, incluyendo datos al disparador.
- 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.

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: