8.7 Cámara ESP con Bot de Telegram

En este proyecto, demostraremos cómo integrar el ESP32 con tu aplicación de mensajería favorita. Para esta demostración, usaremos Telegram.

Crea un Bot de Telegram, permitiéndote controlar tu circuito desde cualquier lugar, capturar fotos y gestionar el flash. Además, cada vez que alguien pase por tu dispositivo, tomará una nueva foto y enviará una notificación a tu cuenta de Telegram.

Componentes Requeridos

Para este proyecto, necesitamos los siguientes componentes.

Es definitivamente conveniente comprar un kit completo, aquí está el enlace:

Nombre

ELEMENTOS EN ESTE KIT

ENLACE

Kit de Inicio ESP32

320+

ESP32 Starter Kit

También puedes comprarlos por separado en los enlaces a continuación.

INTRODUCCIÓN AL COMPONENTE

ENLACE DE COMPRA

ESP32 WROOM 32E

BUY

Extensión de Cámara ESP32

-

Protoboard

BUY

Cables Puente

BUY

Resistor

BUY

LED

BUY

Módulo Sensor de Movimiento PIR

BUY

Creando un Bot de Telegram

  1. Dirígete a Google Play o a la App Store y descarga e instala Telegram.

  2. Busca botfather en la aplicación de Telegram y una vez que aparezca, haz clic en él para abrirlo. O puedes acceder directamente a este enlace: t.me/botfather.

    ../../_images/sp230515_135927.png
  3. Al abrirlo, se presentará una ventana de chat. Envía el comando /start.

    ../../_images/sp230515_140149.png
  4. Introduce /newbot y sigue las instrucciones proporcionadas para crear tu bot. Una vez exitoso, el BotFather te proporcionará el enlace de acceso y la API para tu nuevo bot.

    ../../_images/sp230515_140830.png

Autorizando Usuarios de Telegram

Como cualquiera puede interactuar con el bot que has creado, existe un riesgo de fuga de información. Para solucionar esto, queremos que el bot solo responda a usuarios autorizados.

  1. En tu cuenta de Telegram, busca IDBot o abre el enlace: t.me/myidbot.

    ../../_images/sp230515_144241.png
  2. Envía el comando /getid. Guarda el ID proporcionado para su uso posterior en nuestro programa.

    ../../_images/sp230515_144614.png

Subir el Código

  1. Primero conecta la cámara.

  2. Construye el circuito.

    ../../_images/iot_7_cam_telegram_bb.png
  3. Abre el código.

    • Abre el archivo iot_7_cam_telegram.ino ubicado en el directorio esp32-starter-kit-main\c\codes\iot_7_cam_telegram o copia el código en el IDE de Arduino.

    • Después de seleccionar la placa (ESP32 Dev Module) y el puerto apropiado, haz clic en el botón Subir.

    • ¿Siempre aparece «COMxx desconocido»?

    • Se utilizan las bibliotecas UniversalTelegramBot y ArduinoJson, puedes instalarlas desde el Administrador de Bibliotecas.

  4. Localiza y modifica las siguientes líneas con los detalles de tu WiFi, reemplazando <SSID> y <PASSWORD>:

    // Replace the next variables with your SSID/Password combination
    const char* ssid = "<SSID>";
    const char* password = "<PASSWORD>";
    
  1. Actualiza la siguiente línea, reemplazando <CHATID> con tu ID de Telegram, que obtuviste de @IDBot.

    // Use @myidbot to find out the chat ID of an individual or a group
    // Also note that you need to click "start" on a bot before it can
    // message you
    String chatId = "<CHATID>";
    
  2. Actualiza la siguiente línea, sustituyendo <BOTTOKEN> con el token de tu BOT de Telegram, que fue proporcionado por @BotFather.

    // Initialize Telegram BOT
    String BOTtoken = "<BOTTOKEN>";
    
  3. Después de seleccionar la placa correcta (ESP32 Dev Module) y el puerto, haz clic en el botón Subir.

  4. Abre el Monitor Serial. Si se imprime una dirección IP, esto indica una ejecución exitosa.

    Connecting to xxxx
    ESP32-CAM IP Address: 192.168.18.76
    Init Done!
    
  5. Ahora, puedes interactuar con tu ESP32 a través de Telegram.

    ../../_images/sp230515_161237.png