Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

[IoT] Telegram Bot con Arduino MKR WiFi 1010

Componentes y suministros

Arduino MKR WIFI 1010
× 1

Acerca de este proyecto

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 bot de Telegram?

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:https://telegram.org/blog/bot-revolution)

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 su imaginación haga más con él ... (imagine 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 su teléfono inteligente, por ejemplo).

Paso 1:lo que necesita

Para este proyecto necesitas:

  • Arduino MKR WiFi 1010 de la tienda Arduino:https://store.arduino.cc/arduino-mkr-wifi-1010
  • Arduino IDE 1.8.5 o superior:https://www.arduino.cc/en/Main/Software
  • Un cable micro-usb para conectar Arduino a su 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.
  • La aplicación Telegram instalada en su teléfono inteligente, sin importar la marca. ¡Consulte aquí también las versiones para PC y Web!

Paso 2:instalación del IDE

Sí, lo sé, lo sé ... la mayoría de ustedes ya tienen el IDE de Arduino instalado en la PC, pero estos tutoriales también están destinados a principiantes.

Entonces, en primer lugar, descargue el Arduino IDE 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 anteriores y la nueva placa utilizada en el proyecto no se pudo admitir en absoluto.

Ahora necesita instalar las nuevas placas con sus controladores:

  • inicie el IDE
  • Desde las Herramientas menú elija Tableros 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. También se encargará de la instalación de los controladores
  • También necesitas una nueva biblioteca WiFi para este tablero:elige Boceto, Incluir biblioteca y Administrar bibliotecas. Busque Wifinina e instálelo 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 Herramientas-> Tablero En el menú encontrará las nuevas placas, elija 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 Obtener información de la placa comando.

¡Felicitaciones, terminó con el IDE!

Paso 3:Creación del bot de Telegram

Crear un nuevo bot de Telegram es bastante simple.

Abre la aplicación de Telegram y, en la barra de búsqueda, escribe @BotFather e inicia un chat con él (imagen1) .BotFather es la ... Fábrica de bots. Le ayudará a crear un nuevo bot y cambiar su configuración.

Después de / start comando verá la lista de ayuda (imagen2).

  • Escriba / 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 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í:https://core.telegram.org/bots#6-botfather

Avanzado (opcional)

Vuelve a abrir el chat y escribe / help .

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 su bot:las personas verán este texto en la página de perfil del bot y se enviará junto con un enlace a su bot cuando lo compartan con alguien.

Haga clic en (o escriba) / setdescription para configurar 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 el boceto adjunto y descomprímalo, no cambie los nombres ni las carpetas a menos que sepa lo que está haciendo.

Modificar

Abra el boceto, necesitamos completar algo de información (imagen1),

Ir a la pestaña arduino_secrets.h:

  • Busque la información de la red WiFi y escriba su nombre de red (SSID) y contraseña.
  • Localice la información del Bot de telegram 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 esté ejecutando el monitor en serie. Entonces, déjelo conectado a la PC y abra el monitor en serie. Arduino primero se conectará a Internet, luego comenzará a sondear el servidor de Telegram en busca de nuevos mensajes (imagen3).

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 escriba ayuda (sin barra), responderá con una lista de comandos compatibles, puede probarlos todos (imagen4).

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 Aceptar.
  • 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í:https://www.arduino.cc/en/Guide/MKRWiFi1010

Eso es todo, ¡disfrútalo!

Código

  • MKR1010Bot_V1_02.zip
MKR1010Bot_V1_02.zip C / C ++
Boceto de Telegram Bot
 Sin vista previa (solo descarga). 

Proceso de manufactura

  1. GoPiGo v2 con Windows IoT
  2. Controlar el aceptador de monedas con Arduino
  3. Detector de frecuencia de audio
  4. ¡Arduino con Bluetooth para controlar un LED!
  5. Tech-TicTacToe
  6. Voltímetro de bricolaje con Arduino y una pantalla Nokia 5110
  7. Temporizador de cuenta atrás de Arduino
  8. Dispositivos Bluetooth controlados por voz con OK Google
  9. Cree la aplicación Fridgeye con una pantalla Nextion
  10. RC Porsche Car (Proyecto Arduino)
  11. Medición de la radiación solar con Arduino