Spisu treści:

Kontroluj Arduino za pomocą Telegram Bot bez dodatkowego sprzętu: 5 kroków
Kontroluj Arduino za pomocą Telegram Bot bez dodatkowego sprzętu: 5 kroków

Wideo: Kontroluj Arduino za pomocą Telegram Bot bez dodatkowego sprzętu: 5 kroków

Wideo: Kontroluj Arduino za pomocą Telegram Bot bez dodatkowego sprzętu: 5 kroków
Wideo: Управление мощными нагрузками 20+ кВт в умном доме, использование твердотельного реле 2024, Listopad
Anonim
Kontroluj Arduino za pomocą Telegram Bota bez dodatkowego sprzętu
Kontroluj Arduino za pomocą Telegram Bota bez dodatkowego sprzętu

Istnieje wiele rzeczy, które możesz zrobić z Arduino, ale czy kiedykolwiek myślałeś o sterowaniu Arduino za pomocą bota Telegrama? CZEGO POTRZEBUJESZ:

  • Arduino UNO
  • Node.js zainstalowany na twoim komputerze
  • Niektóre sterowane urządzenie (Używamy wbudowanej diody LED Arduino na styku 13, ale nie krępuj się pytać o wszystko, co chcesz zrobić w komentarzach)

Krok 1: Zainstaluj Node.js na swoim komputerze

Zainstaluj Node.js na swoim komputerze
Zainstaluj Node.js na swoim komputerze

Node.js to środowisko uruchomieniowe JavaScript, ale nie panikuj, jeśli nie masz doświadczenia w programowaniu. Przygotowałem to, czego potrzebujesz i możesz je pobrać. W tym projekcie użyjemy Node.js do:

  1. Utwórz bota Telegrama
  2. Sterowanie Arduino

ZAINSTALUJ NODE. JS:

Przejdź na oficjalną stronę pobierania Node.js i pobierz najnowszy pakiet instalacyjny oparty na Twoim systemie operacyjnym.

*Pamiętaj, że numer najnowszej wersji jest podany na górze strony pobierania, użyjemy go w następnym kroku.

Po pobraniu pakietu i zainstalowaniu go, powinieneś sprawdzić, czy Node.js został zainstalowany całkowicie, czy nie.

SPRAWDŹ, CZY PAKIET JEST W PEŁNI ZAINSTALOWANY:

Jeśli korzystasz z systemu Windows, otwórz CMD, a jeśli korzystasz z otwartego terminala macOS i wpisz:

węzeł -v

Teraz powinieneś zobaczyć wersję, którą odwiedziłeś na stronie pobierania Node.js, wydrukowanej tutaj.

W przeciwnym razie zamieszczam poniżej samouczek, aby spróbować ponownie:

  • Okna
  • System operacyjny Mac

Krok 2: Część Arduino

Część Arduino
Część Arduino

W tym kroku jedyne, co musisz zrobić, to wgrać wbudowane oprogramowanie Arduino IDE do swojego Arduino Uno.

Ważne: Musisz zaktualizować swoje Arduino IDE do najnowszej wydanej wersji przez Arduino.

Importuj bibliotekę firmy:

Menu główne >> Plik >> Przykłady >> Firmata >> StandardFirmata

Zweryfikuj i prześlij kod na Arduino:

1. Górne menu >> Szkic >> Weryfikuj/Skompiluj

2. Menu górne >> Szkic >> Prześlij

Wszystko gotowe.

Krok 3: Zdobądź token bota Telegram

Uzyskaj token bota Telegrama
Uzyskaj token bota Telegrama

Otwórz Telegram i wyszukaj @BotFather lub kliknij tutaj, aby otworzyć tego bota na telegramie.

  1. Wpisz /newbot i naciśnij enter
  2. Wybierz nazwę dla swojego bota
  3. Wybierz nazwę użytkownika dla swojego bota. Musi kończyć się na „bot”
  4. Teraz bot wyśle Ci kilka informacji, w tym Twój token dostępu API. Zapisz to, użyjemy tego tokena w następnych krokach

Krok 4: Utwórz projekt Node.js

UTWÓRZ NOWY PROJEKT NODE. JS

Aby utworzyć projekt Node.js i zainstalować moduły, musimy użyć terminala, więc jeśli jesteś w systemie Windows, użyj CMD, a w przypadku korzystania z macOS użyj Terminala do wszystkich poniższych kroków.

1. Utwórz gdzieś folder dla projektu

2. CD (Zmień katalog) do ostatnio utworzonego folderu. Na przykład, jeśli nazwałeś ten folder „TelegramBot” i umieściłeś go na pulpicie, napisz to w terminalu i naciśnij enter:

cd Pulpit/TelegramBot

3. Aby utworzyć projekt Node.js wpisz polecenie:

początek npm

4. Odpowiedz na kilka pytań, w tym imię i nazwisko, opis, licencję itp. Jeśli nie wiesz, na co odpowiedzieć, po prostu naciśnij enter. W takim przypadku słowo w nawiasach zostanie użyte jako wartość domyślna.

5. Teraz powinieneś zobaczyć plik 'package.json' utworzony w twoim folderze, a to oznacza, że pomyślnie utworzyłeś projekt Node.js.

Krok 5: Kodowanie

Musimy napisać tutaj kilka kodów. Opiszmy kilka używanych bibliotek:

  1. Node Telegram Bot API do obsługi żądań telegramowych botów API.
  2. Johnny-Five Platforma do połączenia z Arduino.

Wszystko, co musisz wiedzieć o tych bibliotekach, można znaleźć na ich stronach internetowych, do których prowadzą linki. po prostu używamy ich w naszym kodzie, ale pełna ich dokumentacja znajduje się na ich blogach.

Do edycji kodu używam Microsoft Visual Studio Code. ale możesz użyć dowolnego innego, który lubisz.1. Otwórz oprogramowanie do edycji kodu i utwórz plik o nazwie „index.js” (lub cokolwiek, co wpisałeś w punkcie wejścia w kroku tworzenia projektu Node.js) w powiązanym katalogu.

2. Napisz kod:

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

bot.on("wiadomość", funkcja (wiadomość) {

const callback = answerCallbacks[msg.chat.id]; if (callback) { usuń odpowiedźCallbacks[msg.chat.id]; zwrotna funkcja zwrotna(msg); } });

board.on("gotowy", funkcja () {

var led = nowe pięć. Led(13);

bot.on('wiadomość', (msg) => {

const chatId = msg.chat.id; stały tekst = msg.tekst; if (tekst == '/start') { start(chatId, led); } }); });

funkcja start(chatId, led) {

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

funkcja getKeyboardOptions() {

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

opcje zwrotu;

}

3. Zastąp wartość właściwości tokena tą, którą zapisałeś w kroku tworzenia bota

4. Zapisz kod

5. Otwórz terminal i wprowadź następujące polecenie:

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

6. Po zainstalowaniu modułów, gdy Arduino jest podłączone do portu USB, w terminalu wpisz następujące polecenie:

node index.js

7. Powinieneś zobaczyć coś takiego:

1534514872949 Dostępny /dev/cu.usbmodem1411

1534514872957 Połączono /dev/cu.usbmodem1411 1534514876660 Repl zainicjowano >>

8. Otwórz telegram i wyszukaj nazwę użytkownika swojego bota (lub otwórz go z BotFather) i wprowadź to polecenie:

/początek

9. Powinieneś zobaczyć panel sterowania, który może sterować wbudowaną diodą Arduino za pomocą poleceń „Włącz” i „Wyłącz”, jeśli masz szczęście;)

Zalecana: