Tabla de contenido:
- Paso 1: lo que necesita
- Paso 2: Instalar el IDE
- Paso 3: Creación del bot de Telegram
- Paso 4: Modifique, cargue y pruebe el boceto
- Paso 5: Mejoras
Video: [IoT] Telegram Bot con Arduino MKR WiFi 1010: 5 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:40
Este proyecto demuestra cómo conectar Arduino con las API de Telegram Bot. El proyecto se basa en la nueva placa MKR WiFi 1010 equipada con un módulo ESP32 de U-BLOX.
En esta etapa, el proyecto no es más que una prueba de concepto, solo para mostrarle lo que puede hacer, por lo que para esto solo necesita la placa Arduino.
Pero, ¿qué es un Telegram Bot? Bueno, los bots son simplemente cuentas de Telegram operadas por software, no personas, y a menudo tendrán funciones de inteligencia artificial. Pueden hacer cualquier cosa: enseñar, jugar, buscar, transmitir, recordar, conectarse, integrarse con otros servicios o incluso pasar comandos al Internet de las cosas. (créditos de Telegram:
En nuestro caso, pasaremos comandos a Arduino construyendo un dispositivo IoT simple. Responderá a comandos simples y también encenderá / apagará el LED incorporado. Dejaré que tu imaginación haga más con él … (imagina conectar uno o más relés a los pines de E / S y encender / apagar un calentador o el sistema de aire acondicionado con tu teléfono inteligente, por ejemplo).
Paso 1: lo que necesita
Para este proyecto necesitas:
- Arduino MKR WiFi 1010 de la tienda Arduino:
- Arduino IDE 1.8.5 o superior:
- Un cable micro-usb para conectar Arduino a tu PC
- Una conexión a Internet, requiere el SSID y la contraseña. Es mejor si usa su propio enrutador doméstico para asegurarse de que no esté bloqueado.
- Aplicación de Telegram instalada en su teléfono inteligente, sin importar la marca. ¡Consulte aquí también las versiones para PC y Web!
Paso 2: Instalar el IDE
Sí, lo sé, lo sé … la mayoría de ustedes ya tiene el IDE de Arduino instalado en la PC, pero este Instructables también está destinado a principiantes. Entonces, en primer lugar, descargue el IDE de Arduino 1.8.5 de su elección (archivo zip para 'no administradores' o archivo exe)
Se recomienda la versión 1.8.5, no probé versiones antiguas y la nueva placa utilizada en el proyecto no pudo ser compatible en absoluto.
Ahora necesita instalar las nuevas placas con sus controladores:
- iniciar el IDE
- En el menú Herramientas, elija Tableros y luego, en la parte superior de la lista de procesadores, elija Administrador de tableros.
- Desplácese por la nueva ventana (ver imagen) hasta encontrar las placas Arduino SAMD que incluyen el nuevo MKR WiFi 1010.
- Haga clic en esa pestaña o haga clic en Más información dentro de la pestaña, elija la última versión e instálela.
- Espere a que se complete la instalación. Se encargará también de la instalación de los controladores.
- También necesita una nueva biblioteca WiFi para esta placa: elija Sketch, Incluir biblioteca y Administrar bibliotecas. Busque Wifinina e instálela como lo hizo con el procesador anterior.
Ahora conecte su nueva placa Arduino y espere a que Windows complete la instalación del controlador.
Desde el menú Herramientas-> Tablero, encontrará los nuevos tableros, elija el MKR WiFi 1010.
Se necesita otra biblioteca especial para este proyecto, es la biblioteca ESP8266TelegramBot de Giancarlo Bacchio. La biblioteca ha sido ligeramente modificada para trabajar con esta placa, por lo que está incluida en la carpeta del boceto.
Elija el puerto de comunicaciones correcto y pruebe la placa con el comando Obtener información de la placa.
¡Felicidades, terminó con el IDE!
Paso 3: Creación del bot de Telegram
Crear un nuevo Telegram Bot es bastante simple.
Abre la aplicación de Telegram y, en la barra de búsqueda, escribe @BotFather y comienza a charlar con él (imagen1). BotFather es la… Fábrica de bots. Le ayudará a crear un nuevo bot y cambiar su configuración.
Después del comando / start, verá la lista de ayuda (imagen2).
- Escribe / newbot (imagen3) Ahora escribe el nombre de tu bot. El nombre se muestra en los datos de contacto y en otros lugares.
- BotFather le pedirá un nombre de usuario. El nombre de usuario es un nombre corto, que se utilizará en menciones y enlaces de telegram.me. Los nombres de usuario tienen entre 5 y 32 caracteres y no distinguen entre mayúsculas y minúsculas, pero solo pueden incluir caracteres latinos, números y guiones bajos. El nombre de usuario de su bot debe terminar en "bot", p. Ej. "Tetris_bot" o "TetrisBot".
- Si tanto el nombre como el nombre de usuario son válidos, recibirá una larga cadena de caracteres denominada TOKEN. Esta es tu 'clave' personal que se usa para comunicarte con los servidores de Telegram. Cópiala y pégala en un archivo de texto en tu PC por ahora. Lo usaremos más adelante en el código de Arduino. Si lo pierde, no se preocupe, simplemente vuelva a abrir el chat y escriba / token para generar uno nuevo.
Todos los pasos se describen aquí:
Avanzado (opcional)
Vuelve a abrir el chat y escribe / ayuda
Haga clic en (o escriba) / setuserpic para cargar una imagen para su bot Haga clic en (o escriba) / setabouttext para configurar la sección Acerca de para su Bot: la gente verá este texto en la página de perfil del bot y se enviará junto con un enlace a su bot cuando lo comparten con alguien.
Haga clic en (o escriba) / setdescription para establecer una sección de descripción para su bot. Las personas verán esta descripción cuando abran un chat con su bot, en un bloque titulado '¿Qué puede hacer este bot?'.
Paso 4: Modifique, cargue y pruebe el boceto
Es hora de cargar el software en la placa Arduino MKR WiFi 1010.
Descargue los archivos adjuntos, por alguna razón no puedo cargar un ZIP, así que cree una carpeta con el nombre del boceto y copie los 4 archivos que contiene, no cambie los nombres a menos que sepa lo que está haciendo.
Modificar
Abra el boceto, necesitamos llenar algo de información (imagen1): complete el arduino_secrets.h con su credencial de wifi y telegram.
- Busque la información de la red WiFi y escriba su nombre de red (SSID) y contraseña.
- Busque la información del Bot de telegrama y escriba el nombre, el nombre de usuario y el token proporcionado por @BotFather
Subir
Asegúrese de que la placa sea correcta (imagen2) en el ide y esté conectada, luego intente compilar el código. Si la compilación va bien, cárguela en el tablero, solo tomará unos segundos.
En caso de problemas, compruebe si hay un error tipográfico y vuelva a intentarlo.
Prueba
[¡IMPORTANTE!] El boceto envía registros al IDE. El procesador tiene un puerto USB nativo (como las placas Leonardo). Una vez encendido, el código esperará hasta que se ejecute el monitor en serie. Entonces, déjelo conectado a la PC y abra el monitor en serie. Arduino se conectará primero a Internet, luego comenzará a sondear el servidor de Telegram en busca de nuevos mensajes (imagen 3).
Ahora abra Telegram en su dispositivo preferido y, en el cuadro de búsqueda, escriba el nombre de su bot (no el nombre de usuario que termina con 'bot'). Abre un chat con él.
El primer comando para iniciar un chat con un bot es / start, nuestro Arduino responderá con un mensaje de bienvenida, ahora escribe ayuda (sin barra), te responderá con una lista de comandos compatibles, puedes probarlos todos (imagen 4).
Ha terminado con la prueba, si algo no funciona, verifique la información ingresada en el boceto (nombre, nombre de usuario, token …)
Certificados Si está experimentando errores con la conexión al servidor de telegramas (registro: Bot no conectado):
- Herramientas abiertas-> Wifi101 / wifinina Updater
- Asegúrese de que su placa esté conectada, verifique los puertos a la izquierda de la herramienta de actualización, la placa debe estar allí
- Haga clic en Abrir boceto del actualizador y cárguelo en el tablero
- Después de la carga, en el actualizador, elija el firmware más reciente para su placa y haga clic en actualizar firmware
- Después de la actualización, en el actualizador, sección Certificados SSL, haga clic en Agregar dominio, en el cuadro de diálogo escriba telegram.org:443 y luego presione OK.
- Haga clic en Cargar certificados al módulo wifi
- Sube este boceto a la pizarra
Paso 5: Mejoras
Mirando el código, es muy simple implementar nuevos comandos y responder al usuario.
Nuevos comandos: puede escribir un sub para cada nuevo comando. Cada sub se encargará de completar el comando y (eventualmente) devolverá una información de estado al usuario.
Limitación de usuarios: por supuesto, este proyecto es solo una demostración. Cualquier usuario de Telegram puede conectarse a su hogar y enviar comandos no deseados. ¡No quieres esto !.
Bueno, mira la imagen 1, muestra 2 usuarios conectados. Como puede ver, cada usuario tiene su propia identificación de usuario. Con un poco de trabajo en el lado del código, puede filtrar (o crear una lista) solo para usuarios autorizados. Simplemente estudie el código e intente interceptar el número de identificación del usuario. Luego, ejecute comandos solo de usuarios conocidos.
Hardware: en el lado del hardware, se pueden conectar muchos sensores y relés a los pines de E / S de Arduino.
Tenga cuidado: ¡la placa utilizada en este proyecto es tolerante a 3.3V! ¡Utilice un cambiador de nivel de voltaje cuando sea necesario! Para obtener más información y consejos sobre esta placa, lea aquí:
Eso es todo, ¡disfrútalo!
Recomendado:
Bot de Telegram con NodeMCU (ESP8266): 3 pasos
Bot de Telegram con NodeMCU (ESP8266): ¿Necesitas un bot para dar notificaciones desde tu sistema? o hacer algo simplemente enviando un mensaje? ¡Telegram Bot es tu solución! En este tutorial, usaré Telegram Web y BotFather para hacer mi bot
Use Arduino MKR Shields con Raspberry Pi: 8 pasos
Use Arduino MKR Shields con Raspberry Pi: Nuestro PiMKRHAT es un adaptador HAT para usar placas y escudos Arduino MKR junto con Raspberry Pi. Se pueden usar diferentes Arduino MKR Shields a través de nuestro HAT como extensión para Raspberry Pi. Quiero mostrar en este pequeño proyecto cómo usar el Ardu
Uso del sensor de movimiento con RaspberryPi y Telegram Bot: 4 pasos
Uso del sensor de movimiento con RaspberryPi y Telegram Bot: Hola chicos, en esta publicación vamos a usar Raspberry Pi Telegram Bot con sensor PIR (movimiento)
Alimentador de mascotas con RasPi y Telegram Bot: 4 pasos (con imágenes)
Pet Feeder Machine con RasPi y Telegram Bot: En primer lugar necesito aclarar que esta no es una Idea Mine original, solo actualizo y adapto los scripts de programación para que funcionen con Telegram, lo encontré en un Instructable anterior para que los créditos realmente sean los autor del mismo. Podías ver el español
Bot de Telegram Smart House con Nodemcu (esp8266, Relay, Ds18b20): 8 pasos
Smart House Telegram Bot con Nodemcu (esp8266, Relay, Ds18b20): En este tutorial te mostraré cómo crear un telegram bot y control house usándolo, pero en primer lugar, suscríbete a mi canal de Telegram y descubre nuevos proyectos más rápido que otros. Es una motivación para mí. ¡Vamos