INHOUDSOPGAWE:

Beheer Arduino met behulp van Telegram Bot sonder enige ekstra hardeware: 5 stappe
Beheer Arduino met behulp van Telegram Bot sonder enige ekstra hardeware: 5 stappe

Video: Beheer Arduino met behulp van Telegram Bot sonder enige ekstra hardeware: 5 stappe

Video: Beheer Arduino met behulp van Telegram Bot sonder enige ekstra hardeware: 5 stappe
Video: Я ПРОБУДИЛ ЗАПЕЧАТАННОГО ДЬЯВОЛА / I HAVE AWAKENED THE SEALED DEVIL 2024, Desember
Anonim
Beheer Arduino met behulp van Telegram Bot sonder enige ekstra hardeware
Beheer Arduino met behulp van Telegram Bot sonder enige ekstra hardeware

Daar is 'n wye verskeidenheid dinge wat u met Arduino kan doen, maar het u ooit daaraan gedink om u Arduino te beheer met 'n Telegram -bot? WAT U NODIG HET:

  • Arduino UNO
  • Node.js op u rekenaar geïnstalleer
  • 'N Beheerbare toestel (ons gebruik die ingeboude LED van Arduino aan pen 13 hier, maar vra gerus oor alles wat u in die kommentaar wil doen)

Stap 1: Installeer Node.js op u rekenaar

Installeer Node.js op u rekenaar
Installeer Node.js op u rekenaar

Node.js is 'n JavaScript -tydsduur, maar moenie skrik as u nie 'n programmeringsagtergrond het nie. Ek het voorberei wat u benodig en u kan dit aflaai. In hierdie projek gebruik ons Node.js vir:

  1. Skep Telegram bot
  2. Beheer Arduino

INSTALLEER NODE. JS:

Gaan na die amptelike Node.js -aflaaibladsy en laai die nuutste installeringspakket af wat gebaseer is op u bedryfstelsel.

*Onthou die nuutste weergawe nommer bo -op die aflaai bladsy, ons gebruik dit in die volgende stap.

Nadat u die pakket afgelaai en geïnstalleer het, moet u kyk of Node.js heeltemal geïnstalleer is of nie.

Kontroleer of die pakket volledig geïnstalleer is:

As u op Windows is, maak CMD oop en as u op macOS oop terminale is, tik:

node -v

Nou moet u die weergawe wat u besoek het op die Node.js -aflaai -bladsy sien, hier gedruk.

Andersins het ek 'n paar tutoriale hieronder geplaas om weer te probeer:

  • Windows
  • macOS

Stap 2: Arduino -deel

Arduino deel
Arduino deel

In hierdie stap is die enigste ding wat u hoef te doen om 'n ingeboude Arduino IDE-firmware op u Arduino Uno op te laai.

Belangrik: u moet u Arduino IDE opdateer na die nuutste weergawe van Arduino.

Voer firmatabiblioteek in:

Hoofkieslys >> Lêer >> Voorbeelde >> Firmata >> StandardFirmata

Verifieer en laai kode op Arduino op:

1. Hoofkieslys >> Skets >> Verifieer/stel op

2. Hoofkieslys >> Skets >> Laai op

Alles klaar.

Stap 3: Kry Telegram Bot Token

Kry Telegram Bot Token
Kry Telegram Bot Token

Maak Telegram oop en soek na @BotFather of klik hier om hierdie bot op telegram oop te maak.

  1. Tik /newbot en druk enter
  2. Kies 'n naam vir u bot
  3. Kies 'n gebruikersnaam vir u bot. Dit moet eindig met 'bot'
  4. Nou stuur bot vir u inligting, insluitend u API -toegangstoken. Skryf dit neer, ons gebruik hierdie teken in die volgende stappe

Stap 4: Skep 'n Node.js -projek

SKEP 'N NUWE NODE. JS -PROJEK

Om Node.js -projekte te skep en modules te installeer, moet ons terminale gebruik, dus as u Windows gebruik, gebruik dan CMD en as u macOS gebruik, gebruik Terminal vir alle onderstaande stappe.

1. Skep êrens 'n gids vir die projek

2. CD (Verander gids) na onlangs gemaakte gids. As u byvoorbeeld die gids 'TelegramBot' genoem het en dit op die lessenaar plaas, skryf dit in terminaal en druk enter:

cd Desktop/TelegramBot

3. Voer die volgende opdrag in om 'n Node.js -projek te skep:

npm init

4. Beantwoord 'n paar vrae, insluitend naam, beskrywing, lisensie, ens. As jy nie weet wat om te beantwoord nie, tik net op enter. In hierdie geval sal die woord tussen hakies as standaardwaarde gebruik word.

5. Nou moet u die 'package.json' -lêer in u gids sien, en dit beteken dat u Node.js -projek suksesvol geskep het.

Stap 5: Kodering

Ons moet 'n paar kodes hier skryf. Kom ons beskryf 'n paar gebruikte biblioteke:

  1. Node Telegram Bot API om telegram bot API versoeke te hanteer.
  2. Johnny-Five-platform om aan te sluit by Arduino.

Alles wat u oor hierdie biblioteke moet weet, kan op hul gekoppelde webwerwe gevind word. ons gebruik dit net in ons kode, maar die volledige dokumentasie daarvan is op hul blogs.

Ek gebruik Microsoft Visual Studio Code vir kodebewerking. maar u kan enige ander gebruik wat u wil. Maak sagteware vir die wysiging van kode oop en skep 'n lêer met die naam 'index.js' (of enigiets wat u in die ingangspunt van die stap van die skepping van projekte in Node.js ingevoer het) in die verwante gids.

2. Skryf kode:

var five = require ("johnny-five"); laat TelegramBot = require ('node-telegram-bot-api'); const token = '##############################################'; const bot = nuwe TelegramBot (token, {polling: true}); var bord = nuwe vyf. Bord (); const answerCallbacks = {};

bot.on ("boodskap", funksie (msg) {

const callback = answerCallbacks [msg.chat.id]; as (terugbel) {delete answerCallbacks [msg.chat.id]; terugbel (msg); }});

board.on ("gereed", funksie () {

var led = new five. Led (13);

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

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

funksie begin (chatId, led) {

bot.sendMessage (chatId, "Arduino -bedieningspaneel", getKeyboardOptions ());

bot.on ("callback_query", (callbackQuery) => {

const msg = callbackQuery.message; bot.answerCallbackQuery (callbackQuery.id).then (() => {const data = callbackQuery.data; as (data == 'turnon') {led.on ();} anders as (data == 'afslag') {led.off ();}})}); }

funksie getKeyboardOptions () {

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

terugkeer opsies;

}

3. Vervang die waarde van die token -eiendom met die waarde wat u in die stap vir die skepping van die bot neergeskryf het

4. Stoor die kode

5. Maak terminale oop en voer die volgende opdrag in:

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

6. Nadat u modules geïnstalleer het, terwyl u Arduino aan die USB -poort gekoppel is, voer die volgende opdrag in die terminaal in:

node index.js

7. U moet iets sien soos:

1534514872949 Beskikbaar /dev/cu.usbmodem1411

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

8. Maak telegram oop en soek na die bot se gebruikersnaam (of maak dit oop van BotFather) en voer hierdie opdrag in:

/begin

9. As u gelukkig is, moet u 'n bedieningspaneel sien wat die ingeboude Arduino LED kan beheer met 'Aan en' uitskakel.

Aanbeveel: