Taula de continguts:
- Pas 1: instal·leu Node.js al vostre ordinador
- Pas 2: Arduino Part
- Pas 3: Obteniu el testimoni del bot de Telegram
- Pas 4: creeu un projecte Node.js
- Pas 5: Codificació
Vídeo: Controlar Arduino mitjançant Telegram Bot sense cap maquinari addicional: 5 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:15
Hi ha una àmplia gamma de coses que podeu fer amb Arduino, però heu pensat mai a controlar el vostre Arduino mitjançant un bot de Telegram?
- Arduino UNO
- Node.js instal·lat al vostre PC
- Alguns dispositius controlables (aquí fem servir el LED integrat d'Arduino al pin 13, però no dubteu a preguntar sobre qualsevol cosa que vulgueu fer als comentaris)
Pas 1: instal·leu Node.js al vostre ordinador
Node.js és un temps d’execució de JavaScript, però no us espanteu si no teniu antecedents de programació. He preparat el que necessiteu i els podeu descarregar. En aquest projecte, utilitzarem Node.js per:
- Crea un bot de Telegram
- Controla Arduino
INSTAL·LEU NODE. JS:
Aneu a la pàgina oficial de descàrrega de Node.js i descarregueu el darrer paquet d’instal·lació segons el vostre sistema operatiu.
* Recordeu el número de versió més recent, tal com s’esmenta a la part superior de la pàgina de descàrrega, l’utilitzarem al següent pas.
Després de descarregar el paquet i instal·lar-lo, hauríeu de comprovar si Node.js s’ha instal·lat completament o no.
COMPROVEU PER VEURE SI EL PAQUET ESTÀ INSTAL·LAT COMPLETAMENT:
Si esteu a Windows, obriu CMD i si esteu a MacOS Open Terminal i escriviu:
node -v
Ara hauríeu de veure la versió que heu visitat a la pàgina de descàrregues de Node.js, impresa aquí.
En cas contrari, poso un tutorial a continuació per tornar-ho a provar:
- Windows
- macOS
Pas 2: Arduino Part
En aquest pas, l'únic que heu de fer és carregar un firmware integrat Arduino IDE al vostre Arduino Uno.
Important: heu d’actualitzar el vostre ID Arduino a la versió més recent publicada per Arduino.
Importa la biblioteca firmata:
Menú superior >> Fitxer >> Exemples >> Firmata >> StandardFirmata
Verifiqueu i pengeu el codi a Arduino:
1. Menú superior >> Esbós >> Verifica / Compila
2. Menú superior >> Esbós >> Penja
Tot fet.
Pas 3: Obteniu el testimoni del bot de Telegram
Obriu Telegram i cerqueu @BotFather o feu clic aquí per obrir aquest bot al telegrama.
- Escriviu / newbot i premeu Intro
- Trieu un nom per al bot
- Trieu un nom d'usuari per al bot. Ha d'acabar en "bot"
- Ara el bot us envia informació, inclòs el vostre testimoni d'accés a l'API. Escriviu-lo, utilitzarem aquest testimoni en els passos següents
Pas 4: creeu un projecte Node.js
CREA UN NOU PROJECTE NODE. JS
Per crear mòduls de projecte i instal·lació de Node.js, hem d’utilitzar el terminal, per tant, si esteu a Windows, utilitzeu CMD i, en cas d’utilitzar macOS, utilitzeu Terminal per a tots els passos següents.
1. Creeu una carpeta en algun lloc per al projecte
2. CD (Canvia directori) a la carpeta creada recentment. Per exemple, si heu anomenat aquesta carpeta "TelegramBot" i la poseu a l'escriptori, escriviu-la al terminal i premeu Intro:
cd Desktop / TelegramBot
3. Per al projecte create Node.js, introduïu l'ordre següent:
npm init
4. Responeu a algunes preguntes que inclouen nom, descripció, llicència, etc. si no sabeu què respondre, només cal que premeu Intro. En aquest cas, la paraula entre parèntesis s'utilitzarà com a valor per defecte.
5. Ara hauríeu de veure el fitxer 'package.json' creat a la vostra carpeta i això vol dir que heu creat el projecte Node.js amb èxit.
Pas 5: Codificació
Necessitem escriure alguns codis aquí. Descrivim algunes biblioteques usades:
- Node Telegram Bot API per gestionar les sol·licituds de telegram bot API.
- Plataforma Johnny-Five per connectar-se a Arduino.
Tot el que necessiteu saber sobre aquestes biblioteques es troba als seus llocs web enllaçats. només els fem servir al nostre codi, però la documentació completa dels mateixos es troba als seus blocs.
Faig servir Microsoft Visual Studio Code per a l’edició de codi. però podeu utilitzar qualsevol altre que vulgueu. Obriu el programari d'edició de codi i creeu un fitxer anomenat "index.js" (o qualsevol cosa que hàgiu introduït a la part del punt d'entrada del pas de creació del projecte Node.js) al directori relacionat.
2. Escriu el codi:
var five = require ("johnny-five"); let TelegramBot = require ('node-telegram-bot-api'); const token = '###############################################'; const bot = TelegramBot nou (testimoni, {polling: true}); var board = new five. Board (); const answerCallbacks = {};
bot.on ("missatge", funció (msg) {
const callback = answerCallbacks [msg.chat.id]; if (devolució de trucada) {elimina la resposta de les trucades [msg.chat.id]; retorn de devolució de trucada (msg); }});
board.on ("llest", funció () {
var led = new five. Led (13);
bot.on ('message', (msg) => {
const chatId = msg.chat.id; const text = msg.text; if (text == '/ start') {start (chatId, led); }}); });
inici de funció (chatId, led) {
bot.sendMessage (chatId, "Tauler de control d'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') {led.off ();}})}); }
funció getKeyboardOptions () {
const options = {"reply_markup": {resize_keyboard: true, "inline_keyboard":
opcions de devolució;
}
3. Substituïu el valor de la propietat del testimoni per un que heu escrit al pas de creació de bot
4. Deseu el codi
5. Obriu el terminal i introduïu l'ordre següent:
npm i --save johnny-five node-telegram-bot-api
6. Després d'instal·lar mòduls, mentre el vostre Arduino està connectat al port USB, al terminal introduïu l'ordre següent:
node index.js
7. Hauríeu de veure alguna cosa com:
1534514872949 Disponible /dev/cu.usbmodem1411
1534514872957 Connectat /dev/cu.usbmodem1411 1534514876660 Repl Inicialitzat >>
8. Obriu el telegrama i cerqueu el nom d'usuari del vostre bot (o obriu-lo des de BotFather) i introduïu aquesta ordre:
/començar
9. Si heu tingut la sort, hauríeu de veure un tauler de control que pugui controlar el LED Arduino integrat amb les ordres "Activa" i "Apaga";)
Recomanat:
Raspberry Pi Desktop: Configuració segura sense cap cap pantalla sense pantalla: 6 passos
Raspberry Pi Desktop: configuració segura sense cap cap pantalla: si esteu llegint això, probablement ja esteu familiaritzat amb el Raspberry Pi. Tinc un parell d’aquests impressionants taulers per casa per executar diversos projectes. Si mireu alguna guia que us mostri com començar amb el Raspberry Pi
Com fer un dispositiu IoT per controlar els electrodomèstics i controlar el temps mitjançant Esp8266: 5 passos
Com fer un dispositiu IoT per controlar els electrodomèstics i controlar el clima mitjançant Esp8266: Internet de les coses (IoT) és la interconnexió de dispositius físics (també anomenats "dispositius connectats" i "dispositius intel·ligents"), edificis, i altres elements integrats amb electrònica, programari, sensors, actuadors i
Headless Pi: iniciar el vostre Raspberry Pi sense cap maquinari addicional: 4 passos (amb imatges)
Headless Pi - Començar el vostre Raspberry Pi sense cap maquinari addicional: hey, el motiu pel qual heu aterrat aquí és, suposo, que sou molt semblants a mi. No voleu posar-vos fàcil al vostre Pi: connecteu el Pi a un monitor, connecteu un teclat i un ratolí, i voilà! &Hellip; Pfft, qui ho fa ?! Al cap i a la fi, un Pi és un &
Mod Rapid Fire Mouse SENSE Afegir cap botó addicional: 4 passos
Mod de ratolí de foc ràpid SENSE afegir cap botó addicional: vaig fer un mode de disparament ràpid al meu maltractat ratolí Logitech MX500. Hi ha molts howtos al voltant, he utilitzat aquest: www.instructables.com/id/Add_a_rapid_fire_button_to_your_mouse_using_a_555_/ La diferència en el meu enfocament és: ho vaig fer sense addició
Refredador / suport per a portàtils de cost zero (sense cola, sense perforació, sense femelles i cargols, sense cargols): 3 passos
Refredador / suport per a portàtils de cost zero (sense cola, sense perforació, sense femelles i cargols, sense cargols): ACTUALITZACIÓ: SI US PLAU VOT PER EL MEU INSTRUCTABLE, GRÀCIES ^ _ ^ TAMBÉ POTS AGRADAR-ME ENTRADA A www.instructables.com/id/Zero-Cost-Aluminum-Furnace-No-Propane-No-Glue-/ O POTS VOTAR ELS MEUS MILLORS AMICS