Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-23 14:40
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
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:
- Crear bot de Telegram
- 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
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
Abra Telegram y busque @BotFather o haga clic aquí para abrir este bot en Telegram.
- Escribe / newbot y presiona enter
- Elige un nombre para tu bot
- Elija un nombre de usuario para su bot. Debe terminar en 'bot'
- 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:
- Node Telegram Bot API para manejar solicitudes de API de telegram bot.
- 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:
Reloj de red ESP8266 sin ningún RTC - Reloj Nodemcu NTP Sin RTC - PROYECTO RELOJ DE INTERNET: 4 Pasos
Reloj de red ESP8266 sin ningún RTC | Reloj Nodemcu NTP Sin RTC | PROYECTO DE RELOJ DE INTERNET: En el proyecto se realizará un proyecto de reloj sin RTC, se tomará tiempo de Internet usando wifi y lo mostrará en la pantalla st7735
Hablando de Arduino - Reproducción de MP3 con Arduino sin ningún módulo - Reproducción de archivos MP3 desde Arduino usando PCM: 6 pasos
Hablando de Arduino | Reproducción de MP3 con Arduino sin ningún módulo | Reproducción de archivos MP3 desde Arduino usando PCM: en estas instrucciones aprenderemos cómo reproducir un archivo mp3 con arduino sin usar ningún módulo de audio, aquí usaremos la biblioteca PCM para Arduino que reproduce PCM de 16 bits con una frecuencia de 8kHZ, así que hagamos esto
Interruptor de luz con control remoto Bluetooth - Actualización. El interruptor de luz sigue funcionando, sin escritura adicional: 9 pasos (con imágenes)
Interruptor de luz con control remoto Bluetooth - Actualización. El interruptor de luz sigue funcionando, sin escritura adicional: actualización del 25 de noviembre de 2017: para obtener una versión de alta potencia de este proyecto que puede controlar kilovatios de carga, consulte Adaptación del control BLE a cargas de alta potencia: no se requiere cableado adicional, actualizado el 15 de noviembre de 2017 - Algunas placas BLE / pilas de software deli
Headless Pi: cómo poner en marcha su Raspberry Pi sin ningún hardware adicional: 4 pasos (con imágenes)
Headless Pi: cómo poner en marcha su Raspberry Pi sin ningún hardware adicional: ¡Hola! ¡La razón por la que aterrizó aquí es, supongo, que se parece mucho a mí! No quiere ser fácil con su Pi: conecte el Pi a un monitor, conecte un teclado y un mouse, ¡y listo! &Hellip; Pfft, ¿quién hace eso? Después de todo, un Pi es un &
Enfriador / soporte para computadora portátil de costo cero (sin pegamento, sin perforaciones, sin tuercas y pernos, sin tornillos): 3 pasos
Enfriador / soporte para computadora portátil de costo cero (sin pegamento, sin perforaciones, sin tuercas y pernos, sin tornillos): ACTUALIZACIÓN: POR FAVOR AMABLE VOTE POR MI INSTRUCTABLE, GRACIAS ^ _ ^ TAMBIÉN PUEDE VOTAR POR MI OTRO CONCURSO ENTRADA EN www.instructables.com/id/Zero-Cost-Aluminum-Furnace-No-Propane-No-Glue-/ O QUIZÁS VOTE POR MI MEJOR AMIGO