Obsah:

Ovládejte Arduino pomocí telegramového robota bez dalšího hardwaru: 5 kroků
Ovládejte Arduino pomocí telegramového robota bez dalšího hardwaru: 5 kroků

Video: Ovládejte Arduino pomocí telegramového robota bez dalšího hardwaru: 5 kroků

Video: Ovládejte Arduino pomocí telegramového robota bez dalšího hardwaru: 5 kroků
Video: Řízení výkonných zátěží 20+ kW v chytré domácnosti pomocí polovodičových relé 2024, Červenec
Anonim
Ovládejte Arduino pomocí telegramového robota bez dalšího hardwaru
Ovládejte Arduino pomocí telegramového robota bez dalšího hardwaru

S Arduinem můžete dělat celou řadu věcí, ale přemýšleli jste někdy o ovládání Arduina pomocí telegramového robota? CO BUDETE POTŘEBOVAT:

  • Arduino UNO
  • Node.js nainstalovaný ve vašem PC
  • Nějaké ovladatelné zařízení (Používáme integrovanou LED Arduino na pinu 13 zde, ale neváhejte se zeptat na cokoli, co chcete dělat v komentářích)

Krok 1: Node.js si nainstalujte do počítače

Nainstalujte si Node.js na PC
Nainstalujte si Node.js na PC

Node.js je runtime JavaScriptu, ale nepropadejte panice, pokud nemáte programovací pozadí. Připravil jsem, co potřebujete, a můžete si je stáhnout. V tomto projektu použijeme Node.js pro:

  1. Vytvořte telegramového robota
  2. Ovládejte Arduino

INSTALACE NODE. JS:

Přejděte na oficiální stránku pro stahování Node.js a stáhněte si nejnovější instalační balíček na základě vašeho operačního systému.

*Pamatujte si číslo nejnovější verze, jak je uvedeno v horní části stránky pro stahování, použijeme ji v dalším kroku.

Po stažení balíčku a jeho instalaci byste měli zkontrolovat, zda je Node.js nainstalován úplně nebo ne.

ZKONTROLUJTE, ABYSTE VIDĚLI, KDYŽ JE BALÍČEK Nainstalován KOMPLETNĚ:

Pokud používáte Windows, otevřete CMD a pokud používáte MacOS, otevřete terminál a zadejte:

uzel -v

Nyní byste měli vidět verzi, kterou jste navštívili na stránce pro stahování Node.js, vytištěnou zde.

Jinak jsem dal nějaký návod níže, abych to zkusil znovu:

  • Okna
  • Operační Systém Mac

Krok 2: Část Arduino

Část Arduino
Část Arduino

V tomto kroku jediné, co musíte udělat, je nahrát vestavěný firmware Arduino IDE do vašeho Arduino Uno.

Důležité: Musíte aktualizovat své Arduino IDE na nejnovější vydanou verzi od Arduina.

Importovat knihovnu firemata:

Horní nabídka >> Soubor >> Příklady >> Firmata >> StandardFirmata

Ověřte a nahrajte kód na Arduino:

1. Horní nabídka >> Skica >> Ověřit/Zkompilovat

2. Horní nabídka >> Skica >> Nahrát

Vše hotovo.

Krok 3: Získejte telegram Bot Token

Získejte telegram Bot Token
Získejte telegram Bot Token

Otevřete Telegram a vyhledejte @BotFather nebo kliknutím sem otevřete tohoto robota na telegramu.

  1. Zadejte /newbot a stiskněte Enter
  2. Vyberte jméno svého robota
  3. Vyberte si uživatelské jméno pro svého robota. Musí to skončit 'botem'
  4. Nyní vám bot pošle nějaké informace včetně vašeho přístupového tokenu API. Zapište si to, tento token použijeme v dalších krocích

Krok 4: Vytvořte projekt Node.js

VYTVOŘTE NOVÝ PROJEKT NODE. JS

Pro vytvoření projektu Node.js a instalaci modulů musíme použít terminál, takže pokud používáte Windows, použijte CMD a v případě macOS použijte Terminál pro všechny níže uvedené kroky.

1. Vytvořte někde složku pro projekt

2. CD (Změnit adresář) na nedávno vytvořenou složku. Pokud jste například pojmenovali tuto složku „TelegramBot“a vložili ji na plochu, napište to do terminálu a stiskněte Enter:

cd Desktop/TelegramBot

3. Pro vytvoření projektu Node.js zadejte následující příkaz:

npm init

4. Odpovězte na několik otázek včetně jména, popisu, licence atd. Pokud nevíte, na co odpovědět, stačí stisknout Enter. V tomto případě bude jako výchozí hodnota použito slovo mezi závorkami.

5. Nyní byste měli vidět soubor 'package.json' vytvořený ve vaší složce a to znamená, že jste úspěšně vytvořili projekt Node.js.

Krok 5: Kódování

Musíme sem napsat nějaké kódy. Pojďme si popsat některé použité knihovny:

  1. Node Telegram Bot API pro zpracování požadavků API telegramových robotů.
  2. Platforma Johnny-Five pro připojení k Arduinu.

Vše, co potřebujete vědět o těchto knihovnách, najdete na jejich propojených webech. používáme je pouze v našem kódu, ale jejich úplná dokumentace je na jejich blozích.

K úpravám kódu používám kód Microsoft Visual Studio Code. ale můžete použít jakýkoli jiný, který se vám líbí. Otevřete software pro úpravu kódu a vytvořte soubor s názvem 'index.js' (nebo cokoli, co jste zadali v části vstupního bodu kroku vytvoření projektu Node.js) v příslušném adresáři.

2. Napište kód:

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

bot.on ("zpráva", funkce (zpráva) {

konst callback = answerCallbacks [msg.chat.id]; if (zpětné volání) {delete answerCallbacks [msg.chat.id]; zpětné volání (zpráva); }});

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

var led = nových pět. Led (13);

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

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

spuštění funkce (chatId, led) {

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

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

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

funkce getKeyboardOptions () {

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

možnosti vrácení;

}

3. Nahraďte hodnotu vlastnosti tokenu hodnotou, kterou jste si zapsali v kroku vytvoření robota

4. Uložte kód

5. Otevřete terminál a zadejte následující příkaz:

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

6. Po instalaci modulů, když je váš Arduino připojen k USB portu, zadejte do terminálu následující příkaz:

uzel index.js

7. Měli byste vidět něco jako:

1534514872949 K dispozici /dev /cu.usbmodem1411

1534514872957 Připojeno /dev /cu.usbmodem1411 1534514876660 inicializováno Repl >>

8. Otevřete telegram a vyhledejte uživatelské jméno svého robota (nebo jej otevřete z BotFather) a zadejte tento příkaz:

/Start

9. Měli byste vidět ovládací panel, který může ovládat vestavěné LED Arduino pomocí příkazů „Zapnout“a „Vypnout“, pokud máte štěstí;)

Doporučuje: