Spisu treści:
- Krok 1: Zainstaluj Node.js na swoim komputerze
- Krok 2: Część Arduino
- Krok 3: Zdobądź token bota Telegram
- Krok 4: Utwórz projekt Node.js
- Krok 5: Kodowanie
Wideo: Kontroluj Arduino za pomocą Telegram Bot bez dodatkowego sprzętu: 5 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
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
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:
- Utwórz bota Telegrama
- 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
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
Otwórz Telegram i wyszukaj @BotFather lub kliknij tutaj, aby otworzyć tego bota na telegramie.
- Wpisz /newbot i naciśnij enter
- Wybierz nazwę dla swojego bota
- Wybierz nazwę użytkownika dla swojego bota. Musi kończyć się na „bot”
- 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:
- Node Telegram Bot API do obsługi żądań telegramowych botów API.
- 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:
Zdalnie sterowany włącznik światła Bluetooth - modernizacja. Włącznik światła nadal działa, bez dodatkowego pisania.: 9 kroków (ze zdjęciami)
Zdalnie sterowany włącznik światła Bluetooth - modernizacja. Przełącznik światła nadal działa, bez dodatkowego pisania.: aktualizacja z 25 listopada 2017 r. - W przypadku wersji tego projektu o dużej mocy, która może kontrolować kilowaty obciążenia, zobacz Doposażenie sterowania BLE w obciążenia o dużej mocy - nie jest wymagane dodatkowe okablowanie Aktualizacja z 15 listopada 2017 r. - Niektóre płyty BLE / stosy oprogramowania dostarczają
Wykonaj umiejętności Alexa za pomocą Cloud9 - bez karty kredytowej lub sprzętu: 7 kroków (ze zdjęciami)
Twórz umiejętności Alexa z Cloud9 - nie wymaga karty kredytowej ani sprzętu: Witam, dzisiaj pokażę ci, jak stworzyć własną umiejętność Amazon Alexa za pomocą Cloud9. Dla tych z Was, którzy nie wiedzą, Cloud9 to internetowe środowisko IDE obsługujące wiele różnych języków i jest w stu procentach bezpłatne - bez konieczności posiadania karty kredytowej
Kontroluj Arduino za pomocą smartfona przez USB za pomocą aplikacji Blynk: 7 kroków (ze zdjęciami)
Kontroluj Arduino za pomocą smartfona przez USB za pomocą aplikacji Blynk: W tym samouczku nauczymy się korzystać z aplikacji Blynk i Arduino w celu sterowania lampą, połączenie będzie odbywać się przez port szeregowy USB. Celem tej instrukcji jest pokazanie najprostsze rozwiązanie do zdalnego sterowania Arduino lub c
Headless Pi - uruchomienie Raspberry Pi bez dodatkowego sprzętu: 4 kroki (ze zdjęciami)
Headless Pi - Rozpoczęcie Raspberry Pi bez dodatkowego sprzętu: Hej, powodem, dla którego tu wylądowałeś, jest chyba to, że jesteś bardzo podobny do mnie! Nie chcesz oszczędzać swojego Pi - podłącz Pi do monitora, podłącz klawiaturę i mysz i voila!…Pfft, kto to robi?! W końcu Pi to i
Modyfikacja myszy Rapid Fire BEZ DODAWANIA DODATKOWEGO PRZYCISKU: 4 kroki
Rapid Fire Mouse Mod BEZ DODAWANIA DODATKOWEGO PRZYCISKU: Zrobiłem modyfikator szybkiego ognia do mojej zniszczonej myszy Logitech MX500. Wokół jest wiele howtos, użyłem tego: www.instructables.com/id/Add_a_rapid_fire_button_to_your_mouse_using_a_555_/ Różnica w moim podejściu jest taka: zrobiłem to bez dodatkowych