Innholdsfortegnelse:

Kontroller Arduino ved hjelp av Telegram Bot uten ekstra maskinvare: 5 trinn
Kontroller Arduino ved hjelp av Telegram Bot uten ekstra maskinvare: 5 trinn

Video: Kontroller Arduino ved hjelp av Telegram Bot uten ekstra maskinvare: 5 trinn

Video: Kontroller Arduino ved hjelp av Telegram Bot uten ekstra maskinvare: 5 trinn
Video: Marlin Firmware - VScode PlatformIO Install - Build Basics 2024, Juli
Anonim
Kontroller Arduino ved hjelp av Telegram Bot uten ekstra maskinvare
Kontroller Arduino ved hjelp av Telegram Bot uten ekstra maskinvare

Det er en lang rekke ting du kan gjøre med Arduino, men har du noen gang tenkt på å kontrollere Arduino ved å bruke en Telegram -bot?

  • Arduino UNO
  • Node.js installert på din PC
  • Noen kontrollerbare enheter (Vi bruker Arduinos innebygde LED på pin 13 her, men spør gjerne om alt du vil gjøre i kommentarer)

Trinn 1: Installer Node.js på PCen

Installer Node.js på din PC
Installer Node.js på din PC

Node.js er en JavaScript -kjøretid, men ikke få panikk hvis du ikke har en programmeringsbakgrunn. Jeg forberedte det du trenger, og du kan laste dem ned. I dette prosjektet vil vi bruke Node.js for:

  1. Lag Telegram bot
  2. Kontroller Arduino

INSTALLER NODE. JS:

Gå til den offisielle Node.js nedlastingssiden og last ned den siste installasjonspakken basert på operativsystemet.

*Husk siste versjonsnummer som nevnt øverst på nedlastingssiden, vi bruker det i neste trinn.

Etter at du har lastet ned pakken og installert den, bør du sjekke om Node.js er installert helt eller ikke.

Sjekk for å se om emballasjen er fullstendig installert:

Hvis du er på Windows, åpner du CMD og hvis du er på macOS åpen terminal og skriver:

node -v

Nå bør du se versjonen du besøkte på Node.js nedlastingsside, skrevet ut her.

Ellers legger jeg noen opplæring nedenfor for å prøve igjen:

  • Windows
  • Mac os

Trinn 2: Arduino -del

Arduino del
Arduino del

I dette trinnet er det eneste du trenger å gjøre å laste opp en innebygd Arduino IDE-fastvare på Arduino Uno.

Viktig: Du må oppdatere Arduino IDE til den siste utgaven av Arduino.

Importer firmatabibliotek:

Toppmeny >> Fil >> Eksempler >> Firmata >> StandardFirmata

Bekreft og last opp kode på Arduino:

1. Toppmeny >> Skisse >> Verifiser/kompiler

2. Toppmeny >> Skisse >> Last opp

Ferdig.

Trinn 3: Få Telegram Bot Token

Få Telegram Bot Token
Få Telegram Bot Token

Åpne Telegram og søk etter @BotFather eller klikk her for å åpne denne boten på telegram.

  1. Skriv /newbot og trykk enter
  2. Velg et navn for boten din
  3. Velg et brukernavn for boten din. Det må ende med 'bot'
  4. Nå sender bot deg litt informasjon, inkludert API -tilgangstokenet ditt. Skriv det ned, vi bruker dette tokenet i neste trinn

Trinn 4: Opprett et Node.js -prosjekt

LAG ET NYTT NODE. JS -PROJEKT

For å lage Node.js -prosjekt og installere moduler må vi bruke terminal, så hvis du er på Windows, bruker du CMD og hvis du bruker macOS, bruker du Terminal for alle trinnene nedenfor.

1. Lag en mappe et sted for prosjektet

2. CD (Endre katalog) til nylig opprettet mappe. For eksempel hvis du kalte mappen 'TelegramBot' og la den på skrivebordet, skriver du dette i terminalen og trykker enter:

cd Desktop/TelegramBot

3. For opprett Node.js -prosjekt, skriv inn følgende kommando:

npm init

4. Svar på noen spørsmål, inkludert navn, beskrivelse, lisens og etc. Hvis du ikke vet hva du skal svare, er det bare å trykke enter. I dette tilfellet blir ordet mellom parenteser brukt som standardverdi.

5. Nå bør du se filen 'package.json' opprettet i mappen din, og dette betyr at du opprettet Node.js -prosjektet.

Trinn 5: Koding

Vi må skrive noen koder her. La oss beskrive noen brukte biblioteker:

  1. Node Telegram Bot API for å håndtere telegram bot API -forespørsler.
  2. Johnny-Five-plattformen for å koble til Arduino.

Alt du trenger å vite om disse bibliotekene finner du på de tilknyttede nettstedene. vi bruker dem bare i koden vår, men hele dokumentasjonen av dem er på bloggene deres.

Jeg bruker Microsoft Visual Studio Code for koderedigering. men du kan bruke andre du liker. Åpne programvare for redigering av koder og lag en fil som heter 'index.js' (eller alt du skrev inn i inngangspunkter i trinnet for opprettelse av Node.js -prosjekter) i den relaterte katalogen.

2. Skriv kode:

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

bot.on ("melding", funksjon (msg) {

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

board.on ("klar", funksjon () {

var led = new five. Led (13);

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

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

funksjonsstart (chatId, led) {

bot.sendMessage (chatId, "Arduino Kontrollpanel", getKeyboardOptions ());

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

const msg = callbackQuery.message; bot.answerCallbackQuery (callbackQuery.id).then (() => {const data = callbackQuery.data; if (data == 'turnon') {led.on ();} ellers if (data == 'turnoff') {led.off ();}})}); }

function getKeyboardOptions () {

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

returalternativer;

}

3. Erstatt tokenegenskapens verdi med en du skrev ned i trinnet for opprettelse av bot

4. Lagre koden

5. Åpne terminalen og skriv inn følgende kommando:

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

6. Etter å ha installert moduler, mens Arduino er koblet til USB -port, skriver du inn følgende kommando i terminalen:

node index.js

7. Du bør se noe sånt som:

1534514872949 Tilgjengelig /dev/cu.usbmodem1411

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

8. Åpne telegram og søk etter botens brukernavn (eller åpne det fra BotFather) og skriv inn denne kommandoen:

/start

9. Du bør se et kontrollpanel som kan styre den innebygde Arduino LED-en med "Slå på" og "Slå av" -kommandoer, hvis du er så heldig;)

Anbefalt: