ESP32 Alarma para Puertas | Enviar Alertas a WhatsApp con CallMeBot (Proyecto IoT)
VER VIDEO COMPLETO EN YOUTUBE
🔴 CANAL OFICIAL 1080p 60fps HD
Haz clic aquí para ver directamente en YouTube y apoyar al canal 07:19 min
Reproducir en YouTube Oficial ↗

💡 Apoya el proyecto: Al reproducir en YouTube recibimos visualizaciones y anuncios del canal oficial. ¡Aquí abajo encuentras el diagrama de pines, componentes y códigos listos para copiar!

Seguridad & Alertas

ESP32 Alarma para Puertas | Enviar Alertas a WhatsApp con CallMeBot (Proyecto IoT)

⏱️ Duración: 07:19 min 👁️ 3.273 vistas 📅 31 oct 2025 👤 Ing. A Torres
PUBLICIDAD • RECOMENDADO

📖 Resumen & Explicación del Proyecto

En este video aprenderás a crear un sistema de alarma para puertas usando un ESP32 y sensores magnéticos, enviando alertas a WhatsApp mediante la API de CallMeBot. Ideal para proyectos IoT, seguridad en el hogar y sistemas de monitoreo. ✅ Materiales: - ESP32 - Sensor magnético (reed switch) - Cableado - CallMeBot API para WhatsApp 📌 ¿Qué vas a aprender? - Funcionamiento del sensor magnético en puertas - Programación del ESP32 en Arduino IDE - Configuración de CallMeBot para enviar mensajes a WhatsApp - Creación de un sistema de seguridad DIY 📎 Código y documentación: https://drive.google.com/file/d/1IDaPsImzK8Z9mnVwKYJbBSsixFQoEoqN/view?usp=sharing 📍 Proyecto ideal para: - Sistemas de seguridad caseros - IoT con ESP32 - Automatización y domótica Palabras clave: ESP32, sensor magnético, alarma para puertas, WhatsApp IoT, CallMeBot, sistema de seguridad casero, domótica ESP32, alarma wifi, proyecto Arduino, IoT para hogar, hogar inteligente. Si te gusta el proyecto, ¡dale Like 👍, comenta y suscríbete! 🔔 Para mas contenido Interesante!.

🛠️ Componentes & Materiales Requeridos

  • ✓Placa ESP32
  • ✓Sensor magnético para puertas/ventanas (Reed Switch)
  • ✓Resistencia Pull-Up de 10kΩ
  • ✓Protoboard y cables de conexión
  • ✓Cuenta activa de WhatsApp y clave API CallMeBot

⚡ Conexión de Pines (Pinout)

Pin Microcontrolador Pin Dispositivo / Sensor Función / Descripción
GPIO 4Contacto MagnéticoLectura de estado de puerta (Normalmente Abierto/Cerrado)
3V3Extremo ResistenciaPull-up para estabilizar la línea lógica
GNDRetorno SensorReferencia a tierra al cerrar contacto
Esquema de alarma con sensor magnético y envío de notificación HTTP GET a la API de CallMeBot en WhatsApp.

🔍 Esquema de alarma con sensor magnético y envío de notificación HTTP GET a la API de CallMeBot en WhatsApp.

💻 Códigos Fuente del Proyecto

Verificados en Laboratorio

Copia y pega directamente los scripts en tu entorno de desarrollo (Arduino IDE, PlatformIO o editor de código):

C++ / Arduino IDE ESP32_Alarma_WhatsApp.ino

Código 1: Firmware ESP32 de Detección y Envío a WhatsApp (C++)

#include <WiFi.h>
#include <HTTPClient.h>
#include <UrlEncode.h> // Para formatear el mensaje con espacios

const char* ssid = "TU_WIFI";
const char* password = "TU_PASSWORD";

// Credenciales de CallMeBot WhatsApp
String phoneNumber = "+57XXXXXXXXXX"; // Tu número internacional
String apiKey = "1234567";            // Clave obtenida del bot

#define PIN_SENSOR 4
bool estadoAnterior = HIGH;

void setup() {
  Serial.begin(115200);
  pinMode(PIN_SENSOR, INPUT_PULLUP);

  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("\nWiFi conectado. Sistema de alarma activo!");
}

void loop() {
  bool estadoActual = digitalRead(PIN_SENSOR);

  // Si la puerta se abre (transición de LOW a HIGH)
  if (estadoActual == HIGH && estadoAnterior == LOW) {
    Serial.println("¡Alerta! Puerta abierta detectada.");
    enviarMensajeWhatsApp("⚠️ *ALERTA TORELEC:* Se ha abierto la puerta principal.");
    delay(5000); // Retardo antirrebote y límite de ráfaga
  }

  estadoAnterior = estadoActual;
  delay(100);
}

void enviarMensajeWhatsApp(String mensaje) {
  if (WiFi.status() == WL_CONNECTED) {
    HTTPClient http;
    String url = "https://api.callmebot.com/whatsapp.php?phone=" + phoneNumber + 
                 "&text=" + urlEncode(mensaje) + 
                 "&apikey=" + apiKey;

    http.begin(url);
    int httpCode = http.GET();
    if (httpCode > 0) {
      Serial.printf("Mensaje enviado con éxito. Código: %d\n", httpCode);
    } else {
      Serial.printf("Error al enviar mensaje: %s\n", http.errorToString(httpCode).c_str());
    }
    http.end();
  }
}
HTTP / cURL callmebot_test_webhook.sh

Código 2: URL Webhook y Prueba de API en Navegador o cURL

# Prueba rápida de envío de WhatsApp desde terminal usando cURL
curl "https://api.callmebot.com/whatsapp.php?phone=+573001234567&text=Prueba+de+alarma+ESP32+Torelec&apikey=TU_APIKEY"

# Respuesta esperada del servidor CallMeBot:
# HTTP/1.1 200 OK
# Content-Type: text/html
# <b>Success</b>: Message queued for delivery.

🚀 Puesta en Marcha Paso a Paso

  1. 1

    Registrar tu número en CallMeBot enviando un mensaje a su número de WhatsApp oficial para recibir tu clave personal API Key.

  2. 2

    Conectar el interruptor magnético (reed switch) al GPIO 4 con resistencia Pull-Up o usando INPUT_PULLUP.

  3. 3

    Instalar la librería 'UrlEncode' en Arduino IDE para codificar caracteres especiales y espacios en la URL.

  4. 4

    Cargar el sketch en el ESP32 y verificar la conexión a través del Monitor Serie a 115200 baudios.

  5. 5

    Probar separando el imán del sensor para comprobar la recepción instantánea de la alarma en WhatsApp.

📥 Descargas & Recursos Oficiales

PUBLICIDAD • RECOMENDADO