Obsah:

Ovládajte Arduino pomocou telegramového robota bez akéhokoľvek ďalšieho hardvéru: 5 krokov
Ovládajte Arduino pomocou telegramového robota bez akéhokoľvek ďalšieho hardvéru: 5 krokov

Video: Ovládajte Arduino pomocou telegramového robota bez akéhokoľvek ďalšieho hardvéru: 5 krokov

Video: Ovládajte Arduino pomocou telegramového robota bez akéhokoľvek ďalšieho hardvéru: 5 krokov
Video: Home Automation: 12V Relay with LED Display Delay 0.1 seconds to 999 seconds Timer module P1 to P4 2024, Júl
Anonim
Ovládajte Arduino pomocou telegramového robota bez akéhokoľvek ďalšieho hardvéru
Ovládajte Arduino pomocou telegramového robota bez akéhokoľvek ďalšieho hardvéru

Existuje široká škála vecí, ktoré môžete s Arduinom robiť, ale premýšľali ste niekedy o ovládaní svojho Arduina pomocou telegramového robota? ČO BUDETE POTREBOVAŤ:

  • Arduino UNO
  • Node.js nainštalovaný vo vašom počítači
  • Niektoré ovládateľné zariadenia (Používame tu integrovanú LED diódu Arduino na pine 13, ale v komentároch sa môžete opýtať na čokoľvek, čo chcete urobiť)

Krok 1: Node.js si nainštalujte do počítača

Nainštalujte Node.js do svojho počítača
Nainštalujte Node.js do svojho počítača

Node.js je runtime jazyka JavaScript, ale neprepadajte panike, ak nemáte znalosti programovania. Pripravil som, čo potrebujete, a môžete si ich stiahnuť. V tomto projekte použijeme Node.js na:

  1. Vytvorte telegramového robota
  2. Ovládajte Arduino

INŠTALOVAŤ NODE. JS:

Prejdite na oficiálnu stránku sťahovania Node.js a stiahnite si najnovší inštalačný balík na základe vášho operačného systému.

*Pamätajte si číslo najnovšej verzie, ako je uvedené v hornej časti stránky na stiahnutie, použijeme ju v nasledujúcom kroku.

Po stiahnutí balíka a jeho inštalácii by ste mali skontrolovať, či je Node.js nainštalovaný úplne alebo nie.

SKONTROLUJTE, ABYSTE VIDELI, AK JE BALÍČEK NAINŠTALOVANÝ ÚPLNE:

Ak používate Windows, otvorte CMD a ak máte MacOS, otvorte terminál a zadajte:

uzol -v

Teraz by ste mali vidieť verziu, ktorú ste navštívili na stránke sťahovania Node.js, vytlačenú tu.

V opačnom prípade som dal nižšie uvedený návod, aby som to skúsil znova:

  • Windows
  • macOS

Krok 2: Časť Arduino

Arduino časť
Arduino časť

V tomto kroku jediné, čo musíte urobiť, je nahrať vstavaný firmvér Arduino IDE do vášho Arduino Uno.

Dôležité: Musíte aktualizovať svoje Arduino IDE na najnovšiu vydanú verziu od Arduino.

Importovať knižnicu firmvéru:

Horná ponuka >> Súbor >> Príklady >> Firmata >> StandardFirmata

Overte a nahrajte kód na Arduino:

1. Horná ponuka >> Skica >> Overiť/skompilovať

2. Horné menu >> Skica >> Nahrať

Všetko hotové.

Krok 3: Získajte telegramový Bot Token

Získajte telegram Bot Token
Získajte telegram Bot Token

Otvorte Telegram a vyhľadajte @BotFather alebo kliknutím sem otvorte tohto robota na telegrame.

  1. Napíšte /newbot a stlačte kláves Enter
  2. Vyberte meno pre svojho robota
  3. Vyberte používateľské meno pre svojho robota. Musí to skončiť „botom“
  4. Teraz vám bot pošle niekoľko informácií vrátane vášho prístupového tokenu API. Napíšte si to, tento token použijeme v ďalších krokoch

Krok 4: Vytvorte projekt Node.js

VYTVORTE NOVÝ PROJEKT NODE. JS

Na vytvorenie projektu Node.js a nainštalovanie modulov musíme použiť terminál, teda ak používate Windows, použite CMD a v prípade macOS použite Terminál pre všetky nižšie uvedené kroky.

1. Vytvorte priečinok niekde pre projekt

2. CD (Zmeniť adresár) na nedávno vytvorený priečinok. Ak ste napríklad pomenovali tento priečinok „TelegramBot“a vložili ho na plochu, napíšte ho do terminálu a stlačte kláves Enter:

cd Desktop/TelegramBot

3. Na vytvorenie projektu Node.js zadajte nasledujúci príkaz:

npm init

4. Odpovedzte na niektoré otázky vrátane mena, popisu, licencie a podobne. Ak neviete, na čo odpovedať, stačí stlačiť kláves Enter. V tomto prípade bude slovo medzi zátvorkami použité ako predvolená hodnota.

5. Teraz by ste mali vidieť súbor 'package.json' vytvorený vo vašom priečinku a to znamená, že ste úspešne vytvorili projekt Node.js.

Krok 5: Kódovanie

Musíme sem napísať nejaké kódy. Popíšeme si niektoré použité knižnice:

  1. Node Telegram Bot API na spracovanie požiadaviek API telegramových robotov.
  2. Platforma Johnny-Five na pripojenie k Arduinu.

Všetko, čo potrebujete vedieť o týchto knižniciach, nájdete na ich prepojených webových stránkach. len ich používame v našom kóde, ale ich úplná dokumentácia je na ich blogoch.

Na úpravu kódu používam kód Microsoft Visual Studio Code. ale môžete použiť akékoľvek iné, ktoré sa vám páči.1. Otvorte softvér na úpravu kódu a vytvorte súbor s názvom „index.js“(alebo čokoľvek, čo ste zadali v časti vstupného bodu kroku vytvorenia projektu Node.js) v príbuznom adresári.

2. Napíšte kód:

var päť = require ("johnny-Five"); nech TelegramBot = require ('node-telegram-bot-api'); const token = '###################################################'; const bot = nový TelegramBot (token, {polling: true}); var board = new Five. Board (); const answerCallbacks = {};

bot.on ("správa", funkcia (správa) {

const callback = answerCallbacks [msg.chat.id]; if (spätné volanie) {delete answerCallbacks [msg.chat.id]; spätné volanie (msg); }});

board.on ("ready", function () {

var led = nových päť. Led (13);

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

const chatId = msg.chat.id; konštantný text = msg.text; if (text == '/start') {start (chatId, led); }}); });

spustenie funkcie (chatId, led) {

bot.sendMessage (chatId, „Ovládací panel Arduino“, getKeyboardOptions ());

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

konšt msg = callbackQuery.message; bot.answerCallbackQuery (callbackQuery.id).then (() => {const data = callbackQuery.data; if (data == 'turnon') {led.on ();} else if (data == 'turnnoff') {led.off ();}})}); }

funkcia getKeyboardOptions () {

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

možnosti vrátenia;

}

3. Nahraďte hodnotu vlastnosti tokenu hodnotou, ktorú ste si zapísali v kroku vytvorenia robota

4. Uložte kód

5. Otvorte terminál a zadajte nasledujúci príkaz:

npm i-uložte johnny-päť uzlov-telegram-bot-api

6. Po inštalácii modulov, keď je váš Arduino pripojený k portu USB, zadajte do terminálu nasledujúci príkaz:

uzol index.js

7. Mali by ste vidieť niečo ako:

1534514872949 K dispozícii /dev/cu.usbmodem1411

1534514872957 Pripojené /dev /cu.usbmodem1411 1534514876660 inicializované repl >>

8. Otvorte telegram a vyhľadajte používateľské meno svojho robota (alebo ho otvorte v programe BotFather) a zadajte tento príkaz:

/začať

9. Ak máte to šťastie, mali by ste vidieť ovládací panel, ktorý môže ovládať vstavané diódy Arduino LED pomocou príkazov „Zapnúť“a „Vypnúť“;)

Odporúča: