Cuprins:

Controlează Arduino folosind Telegram Bot fără niciun hardware suplimentar: 5 pași
Controlează Arduino folosind Telegram Bot fără niciun hardware suplimentar: 5 pași

Video: Controlează Arduino folosind Telegram Bot fără niciun hardware suplimentar: 5 pași

Video: Controlează Arduino folosind Telegram Bot fără niciun hardware suplimentar: 5 pași
Video: Crypto Pirates Daily News - January 31st 2022 - Latest Cryptocurrency News Update 2024, Noiembrie
Anonim
Controlați Arduino folosind Telegram Bot fără niciun hardware suplimentar
Controlați Arduino folosind Telegram Bot fără niciun hardware suplimentar

Există o gamă largă de lucruri pe care le puteți face cu Arduino, dar v-ați gândit vreodată să vă controlați Arduino folosind un bot Telegram?

  • Arduino UNO
  • Node.js instalat pe computer
  • Unele dispozitive controlabile (folosim LED-ul de bord Arduino la pinul 13 aici, dar nu ezitați să întrebați despre orice doriți să faceți în comentarii)

Pasul 1: Instalați Node.js pe computerul dvs

Instalați Node.js pe computerul dvs
Instalați Node.js pe computerul dvs

Node.js este un timp de execuție JavaScript, dar nu intrați în panică dacă nu aveți un fundal de programare. Am pregătit ce aveți nevoie și le puteți descărca. În acest proiect, vom folosi Node.js pentru:

  1. Creați botul Telegram
  2. Controlează Arduino

INSTALAȚI NODE. JS:

Accesați pagina oficială de descărcare Node.js și descărcați cel mai recent pachet de instalare bazat pe sistemul dvs. de operare.

* Amintiți-vă cel mai recent număr de versiune menționat în partea de sus a paginii de descărcare, îl vom folosi în pasul următor.

După descărcarea pachetului și instalarea acestuia, ar trebui să verificați dacă Node.js s-a instalat complet sau nu.

VERIFICAȚI SĂ VEZI DACĂ PACHETUL ESTE INSTALAT COMPLET:

Dacă sunteți pe Windows, deschideți CMD și dacă sunteți pe terminalul MacOS deschis și tastați:

nod -v

Acum ar trebui să vedeți versiunea pe care ați vizitat-o pe pagina de descărcări Node.js, tipărită aici.

În caz contrar, am pus un tutorial mai jos pentru a încerca din nou:

  • Windows
  • macOS

Pasul 2: Partea Arduino

Partea Arduino
Partea Arduino

În acest pas, singurul lucru pe care trebuie să-l faceți este să încărcați un firmware Arduino IDE încorporat pe Arduino Uno.

Important: trebuie să vă actualizați ID-ul Arduino la cea mai recentă versiune lansată de Arduino.

Importați biblioteca de firme:

Meniu sus >> Fișier >> Exemple >> Firmata >> StandardFirmata

Verificați și încărcați codul pe Arduino:

1. Meniul de sus >> Schiță >> Verificare / Compilare

2. Meniul de sus >> Schiță >> Încărcare

Totul este gata.

Pasul 3: Obțineți jetonul Telegram Bot

Obțineți indicativul de bot Telegram
Obțineți indicativul de bot Telegram

Deschideți Telegram și căutați @BotFather sau faceți clic aici pentru a deschide acest bot pe telegramă.

  1. Tastați / newbot și apăsați Enter
  2. Alegeți un nume pentru botul dvs.
  3. Alegeți un nume de utilizator pentru botul dvs. Trebuie să se termine cu „bot”
  4. Acum botul vă trimite câteva informații, inclusiv jetonul dvs. de acces API. Notează-l, vom folosi acest simbol în pașii următori

Pasul 4: Creați un proiect Node.js

CREAȚI UN NOU PROIECT NODE. JS

Pentru crearea proiectului Node.js și instalarea modulelor, trebuie să folosim terminalul, deci, dacă sunteți pe Windows, utilizați CMD și, în cazul utilizării macOS, utilizați Terminal pentru toți pașii de mai jos.

1. Creați un folder undeva pentru proiect

2. CD (Change Directory) în folderul creat recent. De exemplu, dacă ați numit acel folder „TelegramBot” și l-ați pus pe desktop, scrieți acest lucru în terminal și apăsați Enter:

cd Desktop / TelegramBot

3. Pentru proiectul create Node.js, introduceți următoarea comandă:

npm init

4. Răspundeți la câteva întrebări, inclusiv numele, descrierea, licența etc., dacă nu știți la ce să răspundeți, apăsați doar pe Enter. În acest caz, cuvântul dintre paranteze va fi folosit ca valoare implicită.

5. Acum ar trebui să vedeți fișierul „package.json” creat în folderul dvs. și asta înseamnă că ați creat cu succes proiectul Node.js.

Pasul 5: Codificare

Trebuie să scriem câteva coduri aici. Să descriem câteva biblioteci folosite:

  1. Node Telegram Bot API pentru a gestiona cererile de telegram bot API.
  2. Platforma Johnny-Five pentru conectare la Arduino.

Tot ce trebuie să știți despre aceste biblioteci poate fi găsit pe site-urile lor web conectate. le folosim doar în codul nostru, dar documentația completă a acestora se află pe blogurile lor.

Folosesc codul Microsoft Visual Studio pentru editarea codului. dar poți folosi orice altceva îți place.1. Deschideți software-ul de editare a codului și creați un fișier numit „index.js” (sau orice ați introdus în partea punctului de intrare al pasului de creare a proiectului Node.js) în directorul asociat.

2. Scrieți codul:

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

bot.on ("mesaj", funcție (msg) {

const callback = answerCallbacks [msg.chat.id]; if (callback) {șterge answerCallbacks [msg.chat.id]; returnează apel invers (msg); }});

board.on ("gata", funcție () {

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); }}); });

pornire funcție (chatId, led) {

bot.sendMessage (chatId, "Arduino Control Panel", 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 ();}})}); }

funcția getKeyboardOptions () {

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

opțiuni de returnare;

}

3. Înlocuiți valoarea proprietății jetonului cu una pe care ați notat-o în pasul de creare a botului

4. Salvați codul

5. Deschideți terminalul și introduceți următoarea comandă:

npm i --save johnny-five node-telegram-bot-api

6. După instalarea modulelor, în timp ce Arduino este conectat la portul USB, în terminal introduceți următoarea comandă:

nod index.js

7. Ar trebui să vedeți ceva de genul:

1534514872949 Disponibil /dev/cu.usbmodem1411

1534514872957 Conectat /dev/cu.usbmodem1411 1534514876660 Repl Initialized >>

8. Deschideți telegrama și căutați numele de utilizator al botului (sau deschideți-l din BotFather) și introduceți această comandă:

/start

9. Ar trebui să vedeți un panou de control care poate controla LED-ul Arduino încorporat cu comenzile „Activare” și „Dezactivare”, dacă aveți noroc;)

Recomandat: