Sadržaj:

Upravljajte Arduinom pomoću Telegram Bota bez dodatnog hardvera: 5 koraka
Upravljajte Arduinom pomoću Telegram Bota bez dodatnog hardvera: 5 koraka

Video: Upravljajte Arduinom pomoću Telegram Bota bez dodatnog hardvera: 5 koraka

Video: Upravljajte Arduinom pomoću Telegram Bota bez dodatnog hardvera: 5 koraka
Video: CS50 2015 - Week 8, continued 2024, Juli
Anonim
Upravljajte Arduinom pomoću Telegram Bota bez dodatnog hardvera
Upravljajte Arduinom pomoću Telegram Bota bez dodatnog hardvera

Postoji širok raspon stvari koje možete učiniti s Arduinom, ali jeste li ikada razmišljali o kontroli Arduina pomoću Telegram bota?

  • Arduino UNO
  • Node.js instaliran na vašem računaru
  • Neki uređaj koji se može kontrolirati (ovdje koristimo ugrađenu LED diodu Arduino na pinu 13, ali slobodno pitajte o bilo čemu što želite učiniti u komentarima)

Korak 1: Instalirajte Node.js na svoj računar

Instalirajte Node.js na svoj računar
Instalirajte Node.js na svoj računar

Node.js je vrijeme izvođenja JavaScript -a, ali nemojte paničariti ako nemate pozadinu programiranja. Pripremio sam sve što vam treba i možete ih preuzeti. U ovom projektu ćemo koristiti Node.js za:

  1. Kreirajte Telegram bot
  2. Upravljajte Arduinom

INSTALIRAJ NODE. JS:

Idite na službenu stranicu za preuzimanje Node.js i preuzmite najnoviji instalacijski paket prema vašem OS -u.

*Zapamtite broj najnovije verzije kako je navedeno na vrhu stranice za preuzimanje, upotrijebit ćemo ga u sljedećem koraku.

Nakon što preuzmete paket i instalirate ga, trebali biste provjeriti je li Node.js instaliran u potpunosti ili nije.

PROVJERITE DA VIDITE AKO JE PAKET POTPUNO INSTALIRAN:

Ako ste na Windowsima, otvorite CMD, a ako ste na macOS otvorenom terminalu i upišite:

čvor -v

Sada biste trebali vidjeti verziju koju ste posjetili na stranici za preuzimanje Node.js, odštampanu ovdje.

Inače sam ispod stavio neki vodič za pokušaj ponovo:

  • Windows
  • macOS

Korak 2: Arduino dio

Arduino dio
Arduino dio

U ovom koraku jedino što trebate učiniti je prenijeti ugrađeni Arduino IDE firmver na svoj Arduino Uno.

Važno: Morate ažurirati svoj Arduino IDE na najnoviju objavljenu verziju kompanije Arduino.

Uvezi biblioteku firmata:

Glavni meni >> Datoteka >> Primjeri >> Firmata >> Standardna firma

Provjerite i učitajte kôd na Arduinu:

1. Glavni izbornik >> Skica >> Provjeri/kompajliraj

2. Glavni meni >> Skica >> Otpremi

Sve završeno.

Korak 3: Nabavite Telegram Bot Token

Nabavite Telegram Bot Token
Nabavite Telegram Bot Token

Otvorite Telegram i potražite @BotFather ili kliknite ovdje da biste otvorili ovog bota na telegramu.

  1. Upišite /newbot i pritisnite enter
  2. Odaberite ime za svog bota
  3. Odaberite korisničko ime za svog bota. Mora završiti s 'bot'
  4. Sada vam bot šalje neke podatke uključujući vaš API pristupni token. Zapišite ga, mi ćemo koristiti ovaj token u sljedećim koracima

Korak 4: Kreirajte Node.js projekt

KREIRAJTE NOVI PROJEKAT NODE. JS

Za kreiranje Node.js projekta i instaliranje modula moramo koristiti terminal, pa ako ste na Windows -u, koristite CMD, a u slučaju korištenja macOS -a koristite Terminal za sve dolje navedene korake.

1. Napravite mapu negdje za projekt

2. CD (Promijeni direktorij) u nedavno stvorenu mapu. Na primjer, ako ste toj mapi dali ime 'TelegramBot' i stavili je na radnu površinu, upišite ovo u terminal i pritisnite enter:

cd Desktop/TelegramBot

3. Za kreiranje Node.js projekta unesite sljedeću naredbu:

npm init

4. Odgovorite na neka pitanja uključujući ime, opis, licencu itd. Ako ne znate na što odgovoriti, samo pritisnite enter. U ovom slučaju riječ između zagrada će se koristiti kao zadana vrijednost.

5. Sada biste trebali vidjeti datoteku 'package.json' stvorenu u vašoj mapi, a to znači da ste uspješno kreirali Node.js projekt.

Korak 5: Kodiranje

Ovdje moramo napisati neke kodove. Opišimo neke korištene biblioteke:

  1. Node Telegram Bot API za rukovanje zahtjevima za telegram bot API.
  2. Johnny-Five platforma za povezivanje s Arduinom.

Sve što trebate znati o ovim bibliotekama možete pronaći na njihovim povezanim web stranicama. samo ih koristimo u kodu, ali potpuna dokumentacija o njima nalazi se na njihovim blogovima.

Za uređivanje koda koristim Microsoft Visual Studio Code. ali možete koristiti bilo koji drugi koji vam se sviđa.1. Otvorite softver za uređivanje koda i kreirajte datoteku pod nazivom 'index.js' (ili bilo šta što ste unijeli u ulaznu točku dijela koraka kreiranja projekta Node.js) u povezanom direktoriju.

2. Napišite kod:

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

bot.on ("poruka", funkcija (poruka) {

const povratni poziv = answerCallbacks [msg.chat.id]; if (povratni poziv) {delete answerCallbacks [msg.chat.id]; povratni povratni poziv (poruka); }});

board.on ("spreman", funkcija () {

var led = novih pet. Led (13);

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

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

funkcija pokretanja (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 ();}})}); }

funkcija getKeyboardOptions () {

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

mogućnosti vraćanja;

}

3. Zamijenite vrijednost svojstva tokena s onom koju ste zapisali u koraku stvaranja bota

4. Sačuvajte kôd

5. Otvorite terminal i unesite sljedeću naredbu:

npm i --sačuvaj johnny-five node-telegram-bot-api

6. Nakon instaliranja modula, dok je vaš Arduino spojen na USB priključak, u terminal unesite sljedeću naredbu:

čvor index.js

7. Trebali biste vidjeti nešto poput:

1534514872949 Dostupno /dev/cu.usbmodem1411

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

8. Otvorite telegram i potražite korisničko ime vašeg bota (ili ga otvorite sa BotFather -a) i unesite ovu naredbu:

/start

9. Trebali biste vidjeti kontrolnu ploču koja može kontrolirati ugrađenu Arduino LED sa naredbama "Uključi" i "Isključi", ako imate dovoljno sreće;)

Preporučuje se: