Innehållsförteckning:

Styr Arduino med Telegram Bot utan extra hårdvara: 5 steg
Styr Arduino med Telegram Bot utan extra hårdvara: 5 steg

Video: Styr Arduino med Telegram Bot utan extra hårdvara: 5 steg

Video: Styr Arduino med Telegram Bot utan extra hårdvara: 5 steg
Video: ⚙️ Tutorial del Termostato XH-W1411 - Conexiones y Configuracion 2024, Juli
Anonim
Styr Arduino med Telegram Bot utan extra hårdvara
Styr Arduino med Telegram Bot utan extra hårdvara

Det finns en mängd olika saker du kan göra med Arduino, men har du någonsin funderat på att styra din Arduino med en Telegram -bot?

  • Arduino UNO
  • Node.js installerat på din dator
  • Någon kontrollerbar enhet (Vi använder Arduinos inbyggda LED vid stift 13 här, men fråga gärna om allt du vill göra i kommentarer)

Steg 1: Installera Node.js på din dator

Installera Node.js på din dator
Installera Node.js på din dator

Node.js är en Javascript -körning, men var inte rädd om du inte har en programmeringsbakgrund. Jag har förberett det du behöver och du kan ladda ner dem. I det här projektet kommer vi att använda Node.js för:

  1. Skapa Telegram bot
  2. Styr Arduino

INSTALLERA NODE. JS:

Gå till den officiella Node.js nedladdningssidan och ladda ner det senaste installationspaketet baserat på ditt operativsystem.

*Kom ihåg det senaste versionsnumret som nämns ovanpå nedladdningssidan, vi använder det i nästa steg.

När du har laddat ner paketet och installerat det bör du kontrollera om Node.js är helt installerat eller inte.

KONTROLLERA FÖR ATT SE OM FÖRPACKNINGEN INSTALLERAS HELT:

Om du använder Windows öppnar du CMD och om du använder macOS öppen terminal och skriver:

nod -v

Nu ska du se den version som du besökte på Node.js nedladdningssida, tryckt här.

Annars lägger jag lite självstudie nedan för att försöka igen:

  • Windows
  • Mac OS

Steg 2: Arduino -del

Arduino del
Arduino del

I det här steget är det enda du behöver göra att ladda upp en inbyggd Arduino IDE-firmware på din Arduino Uno.

Viktigt: Du måste uppdatera din Arduino IDE till den senaste versionen av Arduino.

Importera firmatabibliotek:

Toppmeny >> Arkiv >> Exempel >> Firmata >> Standard Firmata

Verifiera och ladda upp koden på Arduino:

1. Toppmeny >> Skiss >> Verifiera/kompilera

2. Toppmeny >> Skiss >> Ladda upp

Klart.

Steg 3: Skaffa Telegram Bot Token

Skaffa Telegram Bot Token
Skaffa Telegram Bot Token

Öppna Telegram och sök efter @BotFather eller klicka här för att öppna denna bot på telegram.

  1. Skriv /newbot och tryck enter
  2. Välj ett namn för din bot
  3. Välj ett användarnamn för din bot. Det måste sluta med 'bot'
  4. Nu skickar bot dig lite information inklusive din API -åtkomsttoken. Skriv ner det, vi kommer att använda denna token i nästa steg

Steg 4: Skapa ett Node.js -projekt

SKAPA ETT NYTT NODE. JS -PROJEKT

För att skapa Node.js -projekt och installera moduler måste vi använda terminal, så om du använder Windows, använd CMD och om du använder macOS, använd Terminal för alla nedanstående steg.

1. Skapa en mapp någonstans för projektet

2. CD (Ändra katalog) till nyligen skapad mapp. Om du till exempel heter den mappen 'TelegramBot' och lägger den på skrivbordet, skriv detta i terminalen och tryck enter:

cd Desktop/TelegramBot

3. För att skapa Node.js -projekt anger du följande kommando:

npm init

4. Svara på några frågor inklusive namn, beskrivning, licens och etc. om du inte vet vad du ska svara, tryck bara på enter. I detta fall används ordet mellan parenteser som standardvärde.

5. Nu ska du se filen 'package.json' skapad i din mapp och det betyder att du skapade Node.js -projektet framgångsrikt.

Steg 5: Kodning

Vi måste skriva några koder här. Låt oss beskriva några använda bibliotek:

  1. Node Telegram Bot API för att hantera telegram bot API -begäranden.
  2. Johnny-Five-plattformen för att ansluta till Arduino.

Allt du behöver veta om dessa bibliotek finns på deras länkade webbplatser. vi använder dem bara i vår kod men hela dokumentationen av dem finns på deras bloggar.

Jag använder Microsoft Visual Studio Code för kodredigering. men du kan använda vilken du vill. Öppna kodredigeringsprogram och skapa en fil med namnet 'index.js' (eller något du angav i ingångsdelen av Node.js -projektets steg) i relaterad katalog.

2. Skriv kod:

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

bot.on ("meddelande", funktion (msg) {

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

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

var led = ny fem. Led (13);

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

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

funktionsstart (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 ();} annars om (data == 'turnoff') {led.off ();}})}); }

funktion getKeyboardOptions () {

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

returalternativ;

}

3. Ersätt tokenegenskapens värde med ett värde du skrev ner i steget för att skapa bot

4. Spara koden

5. Öppna terminalen och ange följande kommando:

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

6. Efter installation av moduler, medan din Arduino är ansluten till USB -porten, ange följande kommando i terminalen:

nod index.js

7. Du bör se något liknande:

1534514872949 Tillgänglig /dev/cu.usbmodem1411

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

8. Öppna telegram och sök efter din bots användarnamn (eller öppna det från BotFather) och ange detta kommando:

/Start

9. Du bör se en kontrollpanel som kan styra den inbyggda Arduino LED med kommandon "Slå på" och "Stäng av", om du har turen;)

Rekommenderad: