Tabla de contenido:

Controle Arduino usando Telegram Bot sin ningún hardware adicional: 5 pasos
Controle Arduino usando Telegram Bot sin ningún hardware adicional: 5 pasos

Video: Controle Arduino usando Telegram Bot sin ningún hardware adicional: 5 pasos

Video: Controle Arduino usando Telegram Bot sin ningún hardware adicional: 5 pasos
Video: aprende arduino sin tener arduino 2024, Mes de julio
Anonim
Controle Arduino usando Telegram Bot sin ningún hardware adicional
Controle Arduino usando Telegram Bot sin ningún hardware adicional

Hay una amplia gama de cosas que puedes hacer con Arduino, pero ¿alguna vez pensaste en controlar tu Arduino usando un bot de Telegram?

  • Arduino UNO
  • Node.js instalado en su PC
  • Algún dispositivo controlable (usamos el LED integrado de Arduino en el pin 13 aquí, pero no dude en preguntar sobre cualquier cosa que desee hacer en los comentarios)

Paso 1: Instale Node.js en su PC

Instale Node.js en su PC
Instale Node.js en su PC

Node.js es un tiempo de ejecución de JavaScript, pero no se asuste si no tiene experiencia en programación. Preparé lo que necesitas y puedes descargarlos. En este proyecto, usaremos Node.js para:

  1. Crear bot de Telegram
  2. Control de Arduino

INSTALAR NODE. JS:

Vaya a la página de descarga oficial de Node.js y descargue el último paquete de instalación basado en su sistema operativo.

* Recuerde el número de versión más reciente que se menciona en la parte superior de la página de descarga, lo usaremos en el siguiente paso.

Después de descargar el paquete e instalarlo, debe verificar si Node.js se instaló por completo o no.

COMPRUEBE PARA VER SI EL PAQUETE ESTÁ INSTALADO COMPLETAMENTE:

Si está en Windows, abra CMD y si está en macOS, abra el terminal y escriba:

nodo -v

Ahora debería ver la versión que visitó en la página de descargas de Node.js, impresa aquí.

De lo contrario, pongo algún tutorial a continuación para volver a intentarlo:

  • Ventanas
  • Mac OS

Paso 2: parte de Arduino

Parte de Arduino
Parte de Arduino

En este paso, lo único que debe hacer es cargar un firmware IDE de Arduino integrado en su Arduino Uno.

Importante: debe actualizar su IDE de Arduino a la última versión lanzada por Arduino.

Importar biblioteca de firmata:

Menú superior >> Archivo >> Ejemplos >> Firmata >> StandardFirmata

Verifique y cargue el código en Arduino:

1. Menú superior >> Bosquejo >> Verificar / Compilar

2. Menú superior >> Bosquejo >> Subir

Todo listo.

Paso 3: Obtén el token del bot de Telegram

Obtenga Telegram Bot Token
Obtenga Telegram Bot Token

Abra Telegram y busque @BotFather o haga clic aquí para abrir este bot en Telegram.

  1. Escribe / newbot y presiona enter
  2. Elige un nombre para tu bot
  3. Elija un nombre de usuario para su bot. Debe terminar en 'bot'
  4. Ahora el bot le envía información, incluido su token de acceso a la API. Escríbalo, usaremos este token en los próximos pasos

Paso 4: crea un proyecto de Node.js

CREAR UN NUEVO PROYECTO NODE. JS

Para crear el proyecto Node.js e instalar módulos, necesitamos usar la terminal, por lo tanto, si está en Windows, use CMD y, en caso de usar macOS, use Terminal para todos los pasos a continuación.

1. Crea una carpeta en algún lugar para el proyecto.

2. CD (Cambiar directorio) a la carpeta creada recientemente. Por ejemplo, si nombró esa carpeta 'TelegramBot' y la puso en el escritorio, escriba esto en la terminal y presione enter:

cd Escritorio / TelegramBot

3. Para crear el proyecto Node.js, ingrese el siguiente comando:

npm init

4. Responda algunas preguntas, incluido el nombre, la descripción, la licencia, etc. Si no sabe qué responder, simplemente presione Intro. En este caso, la palabra entre paréntesis se utilizará como valor predeterminado.

5. Ahora debería ver el archivo 'package.json' creado en su carpeta y esto significa que creó el proyecto Node.js con éxito.

Paso 5: codificación

Necesitamos escribir algunos códigos aquí. Describamos algunas bibliotecas utilizadas:

  1. Node Telegram Bot API para manejar solicitudes de API de telegram bot.
  2. Plataforma Johnny-Five para conectarse a Arduino.

Todo lo que necesita saber sobre estas bibliotecas se puede encontrar en sus sitios web vinculados. simplemente los usamos en nuestro código, pero la documentación completa de ellos está en sus blogs.

Utilizo Microsoft Visual Studio Code para la edición de código. pero puede usar cualquier otro que desee. Abra el software de edición de código y cree un archivo llamado 'index.js' (o cualquier cosa que ingresó en la parte del punto de entrada del paso de creación del proyecto Node.js) en el directorio relacionado.

2. Escriba el código:

var five = require ("johnny-five"); let TelegramBot = require ('node-telegram-bot-api'); token constante = '##########################################'; const bot = new TelegramBot (token, {polling: true}); var board = new five. Board (); const answerCallbacks = {};

bot.on ("mensaje", función (msg) {

const callback = answerCallbacks [msg.chat.id]; if (devolución de llamada) {eliminar answerCallbacks [msg.chat.id]; devolver devolución de llamada (msg); }});

board.on ("listo", función () {

var led = new five. Led (13);

bot.on ('mensaje', (msg) => {

const chatId = msg.chat.id; texto const = msg.text; if (text == '/ start') {start (chatId, led); }}); });

inicio de función (chatId, led) {

bot.sendMessage (chatId, "Panel de control de Arduino", getKeyboardOptions ());

bot.on ("callback_query", (callbackQuery) => {

const msg = callbackQuery.message; bot.answerCallbackQuery (callbackQuery.id).then (() => {const data = callbackQuery.data; if (data == 'turnon') {led.on ();} else if (data == 'turnoff') { Llevar afuera(); } }) }); }

function getKeyboardOptions () {

const options = {"reply_markup": {resize_keyboard: true, "inline_keyboard":

opciones de devolución;

}

3. Reemplace el valor de la propiedad del token con uno que anotó en el paso de creación del bot

4. Guarde el código

5. Abra el terminal e ingrese el siguiente comando:

npm i: guardar johnny-five node-telegram-bot-api

6. Después de instalar los módulos, mientras su Arduino está conectado al puerto USB, en el terminal ingrese el siguiente comando:

nodo index.js

7. Debería ver algo como:

1534514872949 Disponible /dev/cu.usbmodem1411

1534514872957 Conectado /dev/cu.usbmodem1411 1534514876660 Respuesta inicializada >>

8. Abra Telegram y busque el nombre de usuario de su bot (o ábralo desde BotFather) e ingrese este comando:

/comienzo

9. Debería ver un panel de control que puede controlar el LED Arduino incorporado con los comandos 'Encender' y 'Apagar', si tiene la suerte;)

Recomendado: