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, Srpanj
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, no jeste li ikada razmišljali o tome da kontrolirate svoj Arduino pomoću Telegram bota? ŠTO ĆE TREBATI:

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

Korak 1: Instalirajte Node.js na svoje računalo

Instalirajte Node.js na svoje računalo
Instalirajte Node.js na svoje računalo

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

  1. Napravite Telegram bot
  2. Upravljajte Arduinom

INSTALIRAJ NODE. JS:

Idite na službenu stranicu za preuzimanje Node.js i preuzmite najnoviji instalacijski paket na temelju vašeg OS -a.

*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 otvorenom terminalu macOS i upišite:

čvor -v

Sada biste trebali vidjeti verziju koju ste posjetili na stranici za preuzimanje Node.js, ispisanu 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 tvrtke Arduino.

Uvezi biblioteku firmata:

Glavni izbornik >> Datoteka >> Primjeri >> Firmata >> Standardna firma

Provjerite i prenesite kôd na Arduino:

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

2. Glavni izbornik >> Skica >> Prenesi

Sve gotovo.

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: Izradite Node.js projekt

IZRADITE NOVI PROJEKAT NODE. JS

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

1. Negdje stvorite mapu 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 izradu 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 tom će se slučaju riječ između zagrada 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 stvorili Node.js projekt.

Korak 5: Kodiranje

Ovdje moramo napisati neke kodove. Opišimo neke korištene knjižnice:

  1. Node Telegram Bot API za obradu zahtjeva API -ja bot telegrama.
  2. Johnny-Five platforma za povezivanje s Arduinom.

Sve što trebate znati o tim knjižnicama možete pronaći na njihovim povezanim web stranicama. mi ih samo 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 stvorite datoteku pod nazivom 'index.js' (ili bilo što što ste unijeli u ulaznu točku dijela koraka stvaranja 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 == 'skretanje') {led.off ();}})}); }

function getKeyboardOptions () {

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

mogućnosti povrata;

}

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

4. Spremite kôd

5. Otvorite terminal i unesite sljedeću naredbu:

npm i --spremite 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 Povezano /dev/cu.usbmodem1411 1534514876660 Repl inicijaliziran >>

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

/početak

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

Preporučeni: