Como enviar mensajes desde Arduino a nuestro móvil con Telegram

Como enviar mensajes desde Arduino a nuestro móvil con Telegram

Existen multitud de proyectos en los cuales puede interesarnos recicbir alertas en nuestro teléfono móvil. Por ejemplo cuando un sensor detecta movimiento, agua o humo. Si empleamos una placa que tenga conectividad Wifi o GPRS podemos emplear dicha conexión para enviar mensajes a través de Internet y recibirlos en nuestro teléfono móvil de forma totalmente gratuita. Descubre como hacerlo en este artículo.

 La librería de Arduino Universal Telegram Bot. 

Si aprendemos a utilizar esta librería nos va a ser muy sencillo adaptarla a nuestros proyectos cuando necesitemos enviar mensasjes a nuestro teléfono móvil. En el siguiente ejemplo vamos a mostrar como enviar un mensaje a nuestro móvil cada 20 segundos. Si modificamos el programa podremos hacer que el mensaje nos llegue cuando se recojan datos de un sensor, por ejemplo. La aplicación encargada de recibir los mensajes en nuestro móvil se llama Telegram. Es una especie de Whatsapp pero con mayores opciones. 

Los datos necesarios para que el experimento funcione

Vamos a necesitar varios datos para configurar el programa y vamos a enseñaros como obtenerlos. Los datos son los siguientes:

  • SSID y Password de nuestra red Wifi. Son los credenciales que normalmente usamos para conectarnos al Wifi de nuestra casa u oficina.
  • Bot Token
  • Chat ID

A continuación os explicamos como obtener el Bot Token y el Chat ID.

Recordad que debeis descargar e instalar la aplicación Telegram en vuestro móvil. Podéis descargarla desde la Google Play Store o en este enlace: https://play.google.com/store/apps/details?id=org.telegram.messenger&hl=es

Como obtener el Bot Token y el Chat ID

En este vídeo os resumimos estos pasos para que podáis verlo claramente.

  1. Una vez instalada la APP Telegram en nuestro móvil, la abrimos. Presionamos en la lupa y escribimos "BotFather" y entramos.
  2. Escribir /newbot
  3. Escribir un nombre para el bot por ejemplo "guardian"
  4. Escribir lo mismo pero terminado en "bot" por ejemplo "guardianbot"
  5. Se nos proporcionará una clave o token para acceder a la HTTP API, copiar dicha clave que será nuestro BOT token
  6. También veremos un enlace que empieza por "t.me/nombre_del_bot" presionamos para entrar.
  7. Escribimos /start en la ventana de nuestro bot
  8. Volvemos atrás y de nuevo en la lupa escribimos "IDBot". Entramos.
  9. Escribimos /start
  10. Escribimos /getid y apuntamos el número que aparezca que será nuestro CHAT_ID

Modificar el programa y subirlo a nuestra placa

Este programa está pensado para las placas ESP32 pero podéis utilizarlo en otras placas Arduino que tengan por ejemplo un chip capáz de soportar Wifi como por ejemplo el ESP8266, simplemente deberéis modificar la librería Wifi utilizada.

Si todavía no has instalado el IDE de Arduino o las dependencias necesarias para ESP32 este es el momento adecuado para ello.

Ahora que ya tenemos el Bot Token y el Chat ID podemos modficicar el programa para que se conecte a nuestro Telegram. Vamos a enseñaros un ejemplo que envía un mensaje cada 20 segundos, pero podréis usar estos datos en cualquier otro programa que haga uso de Telegram para enviar mensajes.

Paso 1: Descargar los siguientes archivos .zip y descomprimirlos en "Documentos > Arduino > libraries"

https://github.com/witnessmenow/Universal-Arduino-Telegram-Bot/archive/master.zip

https://github.com/bblanchon/ArduinoJson/archive/5.x.zip

Paso 2: Copiar y pegar el siguiente programa en el IDE de Arduino: 

https://github.com/iberotecno/telegram_basic_test/blob/master/telegram_basic_test.ino

Paso 3: Sustituir las siguientes lineas:

  • Debemos modificar estas líneas con los datos anteriormente obtenidos: 

    #define CHAT_ID "782888438"

    #define BOTtoken "640232033:AAEqe4BlVkjMivcuxJ16rfef6g8EMujJiLc" 

  • Debemos modificar estas líneas con los datos de nuestra red Wifi 

    char ssid[] = "MiRed";     // your network SSID (name)

    char password[] = "Mi_clave_wifi."; // your network key 

Paso 4: Seleccionar la placa y el puerto adecuados y subir el programa.

Si todo ha funcionado correctamente podremos abrir el monitor serie del IDE de arduino desde el menu "Herramientas > monitor serie" para ver los mensajes de diagnóstico.

Tras ello podremos ver que el sistema se conecta a nuestra red Wifi y envía un mensaje a nuestro teléfono.

Honestidad, profesionalidad, garantía. Somos iberotecno.

Diseño Web, Tiendas Online, Informática y Desarrollo de Dispositivos