Kazalo:

Upravljajte Arduino z uporabo Telegram Bota brez dodatne strojne opreme: 5 korakov
Upravljajte Arduino z uporabo Telegram Bota brez dodatne strojne opreme: 5 korakov

Video: Upravljajte Arduino z uporabo Telegram Bota brez dodatne strojne opreme: 5 korakov

Video: Upravljajte Arduino z uporabo Telegram Bota brez dodatne strojne opreme: 5 korakov
Video: CS50 2015 - Week 4 2024, Julij
Anonim
Upravljajte Arduino z uporabo Telegram Bota brez dodatne strojne opreme
Upravljajte Arduino z uporabo Telegram Bota brez dodatne strojne opreme

Z Arduinom lahko počnete široko paleto stvari, toda ali ste kdaj pomislili, da bi upravljali svoj Arduino z uporabo robota Telegram?

  • Arduino UNO
  • Node.js nameščen na vašem računalniku
  • Nekaj krmilnih naprav (tukaj uporabljamo vgrajeno LED Arduino na pin 13, vendar vas prosimo, da v komentarjih povprašate o vsem, kar želite narediti)

1. korak: Namestite Node.js v računalnik

Namestite Node.js v računalnik
Namestite Node.js v računalnik

Node.js je izvajalno okolje JavaScript, vendar brez panike, če nimate programskega znanja. Pripravil sem, kar potrebujete, in jih lahko prenesete. V tem projektu bomo Node.js uporabljali za:

  1. Ustvarite Telegram bot
  2. Nadzirajte Arduino

NAMESTI NODE. JS:

Pojdite na uradno stran za prenos Node.js in prenesite najnovejši namestitveni paket glede na vaš operacijski sistem.

*Zapomnite si številko najnovejše različice, kot je omenjeno na vrhu strani za prenos, uporabili jo bomo v naslednjem koraku.

Ko naložite paket in ga namestite, preverite, ali je Node.js nameščen v celoti ali ne.

PREBERITE, DA VIDETE, ČE JE PAKET V celoti nameščen:

Če ste v sistemu Windows, odprite CMD in če ste v odprtem terminalu macOS in vnesite:

vozlišče -v

Zdaj bi morali videti različico, ki ste jo obiskali na strani za prenos Node.js, natisnjeno tukaj.

Sicer pa spodaj dam nekaj vaj, da poskusim znova:

  • Windows
  • macOS

Korak: Arduino del

Arduino del
Arduino del

V tem koraku morate edino, kar morate storiti, naložiti vdelano programsko opremo Arduino IDE na svoj Arduino Uno.

Pomembno: Arduino IDE morate posodobiti na najnovejšo izdano različico podjetja Arduino.

Uvozi knjižnico firmata:

Zgornji meni >> Datoteka >> Primeri >> Firmata >> StandardFirmata

Preverite in naložite kodo na Arduino:

1. Zgornji meni >> Skica >> Preverjanje/prevajanje

2. Zgornji meni >> Skica >> Naloži

Končano.

3. korak: Pridobite žeton Telegram Bota

Pridobite žeton Telegram Bota
Pridobite žeton Telegram Bota

Odprite Telegram in poiščite @BotFather ali kliknite tukaj, da odprete tega bot na telegramu.

  1. Vnesite /newbot in pritisnite enter
  2. Izberite ime za svojega bota
  3. Izberite uporabniško ime za svojega bota. Končati se mora na "bot"
  4. Zdaj vam bot pošlje nekaj informacij, vključno z vašim žetonom za dostop do API -ja. Zapišite ga, ta žeton bomo uporabili v naslednjih korakih

4. korak: Ustvarite projekt Node.js

Ustvarite nov projekt NODE. JS

Za izdelavo projekta Node.js in namestitev modulov moramo uporabiti terminal, zato, če uporabljate Windows, uporabite CMD in v primeru uporabe macOS uporabite terminal za vse spodaj navedene korake.

1. Ustvarite mapo za projekt

2. CD (Spremeni imenik) v nedavno ustvarjeno mapo. Če ste na primer to mapo poimenovali 'TelegramBot' in jo postavili na namizje, to zapišite v terminal in pritisnite enter:

cd Desktop/TelegramBot

3. Za ustvarjanje projekta Node.js vnesite naslednji ukaz:

npm init

4. Odgovorite na nekaj vprašanj, vključno z imenom, opisom, licenco itd., Če ne veste, kaj naj odgovorite, samo pritisnite enter. V tem primeru bo beseda med oklepaji uporabljena kot privzeta vrednost.

5. Zdaj bi morali videti datoteko 'package.json', ustvarjeno v vaši mapi, kar pomeni, da ste uspešno ustvarili projekt Node.js.

5. korak: Kodiranje

Tukaj moramo napisati nekaj kod. Oglejmo nekaj uporabljenih knjižnic:

  1. Node Telegram Bot API za obravnavanje zahtev API -ja za telegram bot.
  2. Platforma Johnny-Five za povezavo z Arduinom.

Vse, kar morate vedeti o teh knjižnicah, najdete na njihovih povezanih spletnih mestih. samo jih uporabljamo v kodi, vendar je njihova celotna dokumentacija na njihovih blogih.

Za urejanje kode uporabljam kodo Microsoft Visual Studio Code. lahko pa uporabite katero koli drugo. Odprite programsko opremo za urejanje kode in ustvarite datoteko z imenom 'index.js' (ali karkoli, kar ste vnesli v vstopno točko dela koraka ustvarjanja projekta Node.js) v sorodnem imeniku.

2. Napišite kodo:

var pet = zahteva ("johnny-pet"); naj TelegramBot = zahteva ('node-telegram-bot-api'); const token = '##########################################'; const bot = nov TelegramBot (žeton, {polling: true}); var board = novih pet. Board (); const answerCallbacks = {};

bot.on ("sporočilo", funkcija (sporočilo) {

const povratni klic = answerCallbacks [msg.chat.id]; if (povratni klic) {delete answerCallbacks [msg.chat.id]; povratni klic (sporočilo); }});

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

var led = novih pet. Led (13);

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

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

funkcija zagona (chatId, led) {

bot.sendMessage (chatId, "Nadzorna plošča 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 ();}})}); }

function getKeyboardOptions () {

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

možnosti vračila;

}

3. Vrednost lastnosti žetona zamenjajte z vrednostjo, ki ste jo zapisali v koraku ustvarjanja bota

4. Shranite kodo

5. Odprite terminal in vnesite naslednji ukaz:

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

6. Po namestitvi modulov, medtem ko je vaš Arduino priključen na vrata USB, v terminal vnesite naslednji ukaz:

vozlišče index.js

7. Morali bi videti nekaj takega:

1534514872949 Na voljo /dev/cu.usbmodem1411

1534514872957 Povezan /dev/cu.usbmodem1411 1534514876660 Repl inicializiran >>

8. Odprite telegram in poiščite uporabniško ime svojega bota (ali ga odprite pri BotFather) in vnesite ta ukaz:

/start

9. Videti bi morali nadzorno ploščo, ki lahko upravlja vgrajeno LED Arduino z ukazi 'Vklopi' in 'Izklopi', če imate dovolj sreče;)

Priporočena: