Talaan ng mga Nilalaman:

Kontrolin ang Arduino Gamit ang Telegram Bot Nang Walang Anumang Extra Hardware: 5 Mga Hakbang
Kontrolin ang Arduino Gamit ang Telegram Bot Nang Walang Anumang Extra Hardware: 5 Mga Hakbang

Video: Kontrolin ang Arduino Gamit ang Telegram Bot Nang Walang Anumang Extra Hardware: 5 Mga Hakbang

Video: Kontrolin ang Arduino Gamit ang Telegram Bot Nang Walang Anumang Extra Hardware: 5 Mga Hakbang
Video: Setting up a 3d Printer with MKS sGen L v1.0 Part 3 2024, Disyembre
Anonim
Kontrolin ang Arduino Gamit ang Telegram Bot Nang Walang Anumang Extra Hardware
Kontrolin ang Arduino Gamit ang Telegram Bot Nang Walang Anumang Extra Hardware

Mayroong isang malawak na hanay ng mga bagay na maaari mong gawin sa Arduino, ngunit naisip mo ba ang tungkol sa kontrolin ang iyong Arduino gamit ang isang Telegram bot? ANO ANG KAILANGAN MO:

  • Arduino UNO
  • Naka-install ang Node.js sa iyong PC
  • Ilang nakokontrol na aparato (Gumagamit kami ng on-board LED ng Arduino sa pin 13 dito, ngunit huwag mag-atubiling magtanong tungkol sa anumang nais mong gawin sa mga komento)

Hakbang 1: I-install ang Node.js sa Iyong PC

I-install ang Node.js sa Iyong PC
I-install ang Node.js sa Iyong PC

Ang Node.js ay isang runtime ng JavaScript, ngunit huwag mag-panic kung wala kang background sa pag-program. Inihanda ko ang kailangan mo at maaari mong i-download ang mga ito. Sa proyektong ito, gagamitin namin ang Node.js para sa:

  1. Lumikha ng Telegram bot
  2. Kontrolin ang Arduino

I-INSTALL NODE. JS:

Pumunta sa opisyal na pahina ng pag-download ng Node.js at i-download ang pinakabagong pakete ng installer batay sa iyong OS.

* Tandaan ang pinakabagong numero ng bersyon tulad ng nabanggit sa tuktok ng pahina ng pag-download, gagamitin namin ito sa susunod na hakbang.

Pagkatapos i-download ang package at mai-install ito, dapat mong suriin upang makita kung ang Node.js ay na-install nang kumpleto o hindi.

Suriin ANG TINGNAN KUNG ANG PACKAGE INSTALLED INSTALLED COMPLETELY:

Kung nasa windows ka, buksan ang CMD at kung nasa macOS open terminal at mag-type ka:

node -v

Ngayon ay dapat mong makita ang bersyon na binisita mo sa pahina ng mga pag-download ng Node.js, nakalimbag dito.

Kung hindi man naglalagay ako ng ilang tutorial sa ibaba upang subukang muli:

  • Windows
  • Mac OS

Hakbang 2: Bahagi ng Arduino

Arduino Bahagi
Arduino Bahagi

Sa hakbang na ito ang tanging bagay na kailangan mong gawin ay mag-upload ng isang built-in na Arduino IDE firmware sa iyong Arduino Uno.

Mahalaga: Kailangan mong i-update ang iyong Arduino IDE sa pinakabagong inilabas na bersyon ng Arduino.

I-import ang library ng firmata:

Nangungunang Menu >> File >> Mga Halimbawa >> Firmata >> StandardFirmata

I-verify at i-upload ang code sa Arduino:

1. Nangungunang Menu >> Sketch >> Patunayan / Compile

2. Nangungunang Menu >> Sketch >> Mag-upload

Tapos na.

Hakbang 3: Kumuha ng Telegram Bot Token

Kumuha ng Telegram Bot Token
Kumuha ng Telegram Bot Token

Buksan ang Telegram at hanapin ang @BotFather o mag-click dito upang buksan ang bot na ito sa telegram.

  1. Mag-type / newbot at pindutin ang enter
  2. Pumili ng isang pangalan para sa iyong bot
  3. Pumili ng isang username para sa iyong bot. Dapat itong magtapos sa 'bot'
  4. Nagpadala sa iyo ang bot ngayon ng ilang impormasyon kasama ang iyong token sa pag-access sa API. Isulat ito, gagamitin namin ang token na ito sa mga susunod na hakbang

Hakbang 4: Lumikha ng isang Node.js Project

LILIKHA ANG BAGONG PROYEKTO NG NODE. JS

Para sa paglikha ng proyekto ng Node.js at pag-install ng mga module kailangan naming gumamit ng terminal, kaya kung nasa Windows ka, gumamit ng CMD at sa kaso ng paggamit ng macOS gamitin ang Terminal para sa lahat ng mga hakbang sa ibaba.

1. Lumikha ng isang folder sa isang lugar para sa proyekto

2. CD (Change Directory) sa kamakailang nilikha na folder. Halimbawa kung pinangalanan mo ang folder na 'TelegramBot' at ilagay ito sa desktop, isulat ito sa terminal at pindutin ang enter:

cd Desktop / TelegramBot

3. Para sa paglikha ng proyekto ng Node.js ipasok ang sumusunod na utos:

npm init

4. Sagutin ang ilang mga katanungan kabilang ang pangalan, paglalarawan, lisensya at iba pa kung hindi mo alam kung ano ang isasagot, pindutin lamang ang enter. Sa kasong ito ang salita sa pagitan ng panaklong ay gagamitin bilang default na halaga.

5. Ngayon dapat mong makita ang file na 'package.json' na nilikha sa iyong folder at nangangahulugan ito na nilikha mong matagumpay ang proyekto ng Node.js.

Hakbang 5: Pag-coding

Kailangan naming magsulat ng ilang mga code dito. Ilarawan natin ang ilang mga ginamit na aklatan:

  1. Node Telegram Bot API upang hawakan ang mga kahilingan sa telegram bot API.
  2. Johnny-Five Platform upang kumonekta sa Arduino.

Ang lahat ng kailangan mong malaman tungkol sa mga libraryong ito ay matatagpuan sa kanilang mga naka-link na website. ginagamit lang namin sila sa aming code ngunit ang buong dokumentasyon ng mga ito ay nasa kanilang mga blog.

Gumagamit ako ng Microsoft Visual Studio Code para sa pag-edit ng code. ngunit maaari mong gamitin ang anumang iba pang gusto mo.1. Buksan ang software ng pag-edit ng code at lumikha ng isang file na pinangalanang 'index.js' (o anumang ipinasok mo sa bahagi ng entry point ng hakbang sa paglikha ng proyekto ng Node.js) sa kaugnay na direktoryo.

2. Sumulat ng code:

var five = nangangailangan ("johnny-five"); hayaan ang TelegramBot = nangangailangan ('node-telegram-bot-api'); Const token = '#### const bot = bagong TelegramBot (token, {polling: true}); var board = bagong lima. Board (); const answerCallbacks = {};

bot.on ("mensahe", pagpapaandar (msg) {

const callback = answerCallbacks [msg.chat.id]; kung (callback) {tanggalin ang mga sagotCallbacks [msg.chat.id]; ibalik ang callback (msg); }});

board.on ("handa", pagpapaandar () {

var led = bagong lima. Led (13);

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

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

pagsisimula ng pag-andar (chatId, led) {

bot.sendMessage (chatId, "Arduino Control Panel", getKeyboardOptions ());

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

Const msg = callbackQuery.message; bot.answerCallbackQuery (callbackQuery.id).tapos (() => {const data = callbackQuery.data; kung (data == 'turnon') {led.on ();} iba pa kung (data == 'turnoff') {led.off ();}})}); }

pagpapaandar getKeyboardOptions () {

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

mga pagpipilian sa pagbabalik;

}

3. Palitan ang halaga ng pag-aari ng token sa isang isinulat mo sa hakbang sa paglikha ng bot

4. I-save ang code

5. Buksan ang terminal at ipasok ang sumusunod na utos:

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

6. Pagkatapos mag-install ng mga module, habang ang iyong Arduino ay konektado sa USB port, sa terminal ipasok ang sumusunod na utos:

node index.js

7. Dapat mong makita ang isang bagay tulad ng:

1534514872949 Magagamit /dev/cu.usbmodem1411

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

8. Buksan ang telegram at hanapin ang username ng iyong bot (o buksan ito mula sa BotFather) at ipasok ang utos na ito:

/ simulan

9. Dapat mong makita ang isang control panel na makokontrol ang built-in na Arduino LED na may mga 'I-on' at 'I-off' ang mga utos, kung masuwerte ka;)

Inirerekumendang: