Съдържание:

Управлявайте Arduino с помощта на Telegram Bot без допълнителен хардуер: 5 стъпки
Управлявайте Arduino с помощта на Telegram Bot без допълнителен хардуер: 5 стъпки

Видео: Управлявайте Arduino с помощта на Telegram Bot без допълнителен хардуер: 5 стъпки

Видео: Управлявайте Arduino с помощта на Telegram Bot без допълнителен хардуер: 5 стъпки
Видео: Уроки Home Assistant - Управление умным домом через Telegram из любой точки мира 2024, Юли
Anonim
Управлявайте Arduino с помощта на Telegram Bot без допълнителен хардуер
Управлявайте Arduino с помощта на Telegram Bot без допълнителен хардуер

Има широк спектър от неща, които можете да правите с Arduino, но мислили ли сте някога да контролирате Arduino с помощта на бот Telegram?

  • Arduino UNO
  • Node.js инсталиран на вашия компютър
  • Някои контролируеми устройства (Тук използваме вградения светодиод на Arduino на пин 13, но не се колебайте да попитате за всичко, което искате да направите в коментарите)

Стъпка 1: Инсталирайте Node.js на вашия компютър

Инсталирайте Node.js на вашия компютър
Инсталирайте Node.js на вашия компютър

Node.js е време на изпълнение на JavaScript, но не се паникьосвайте, ако нямате опит в програмирането. Подготвих това, от което се нуждаете, и можете да ги изтеглите. В този проект ще използваме Node.js за:

  1. Създайте бот на Telegram
  2. Контролирайте Arduino

МОНТАЖ NODE. JS:

Отидете на официалната страница за изтегляне на Node.js и изтеглете най -новия инсталационен пакет въз основа на вашата операционна система.

*Запомнете номера на последната версия, както е споменато в горната част на страницата за изтегляне, ще го използваме в следващата стъпка.

След като изтеглите пакета и го инсталирате, трябва да проверите дали Node.js е инсталиран напълно или не.

ПРОВЕРЕТЕ ДА ВИДИТЕ АКО ПАКЕТЪТ Е ИНСТАЛИРАН НАПЪЛНО:

Ако сте на Windows, отворете CMD и ако сте на отворен терминал на macOS и въведете:

възел -v

Сега трябва да видите версията, която сте посетили на страницата за изтегляне на Node.js, отпечатана тук.

Иначе сложих някакъв урок по -долу, за да опитам отново:

  • Windows
  • macOS

Стъпка 2: Част от Arduino

Част от Arduino
Част от Arduino

В тази стъпка единственото нещо, което трябва да направите, е да качите вграден фърмуер на Arduino IDE на вашия Arduino Uno.

Важно: Трябва да актуализирате вашата Arduino IDE до последната издадена версия от Arduino.

Импортиране на библиотека от фирми:

Горно меню >> Файл >> Примери >> Фирма >> Стандартна Фирма

Проверете и качете кода на Arduino:

1. Горно меню >> Скица >> Проверка/Компилиране

2. Горно меню >> Скица >> Качване

Готово.

Стъпка 3: Вземете Telegram Bot Token

Вземете жетон за Telegram Bot
Вземете жетон за Telegram Bot

Отворете Telegram и потърсете @BotFather или щракнете тук, за да отворите този бот в telegram.

  1. Въведете /newbot и натиснете enter
  2. Изберете име за вашия бот
  3. Изберете потребителско име за вашия бот. Трябва да завършва с „бот“
  4. Сега ботът ви изпраща информация, включително вашия маркер за достъп до API. Запишете го, ние ще използваме този знак в следващите стъпки

Стъпка 4: Създайте проект Node.js

СЪЗДАЙТЕ НОВ ПРОЕКТ NODE. JS

За създаване на Node.js проект и инсталиране на модули трябва да използваме терминал, така че ако сте на Windows, използвайте CMD и в случай на използване на macOS използвайте Terminal за всички стъпки по -долу.

1. Създайте папка някъде за проекта

2. CD (Промяна на директория) в наскоро създадена папка. Например, ако сте кръстили тази папка 'TelegramBot' и сте я поставили на работния плот, напишете това в терминала и натиснете enter:

cd Desktop/TelegramBot

3. За създаване на Node.js проект въведете следната команда:

npm init

4. Отговорете на някои въпроси, включително име, описание, лиценз и т.н., ако не знаете какво да отговорите, просто натиснете enter. В този случай думата между скобите ще се използва като стойност по подразбиране.

5. Сега трябва да видите файла „package.json“, създаден във вашата папка и това означава, че сте създали успешно проекта Node.js.

Стъпка 5: Кодиране

Трябва да напишем някои кодове тук. Нека опишем някои използвани библиотеки:

  1. API на Node Telegram Bot за обработка на заявки за API на телеграфни ботове.
  2. Платформа Johnny-Five за свързване с Arduino.

Всичко, което трябва да знаете за тези библиотеки, можете да намерите в свързаните с тях уебсайтове. ние просто ги използваме в нашия код, но пълната документация за тях е в техните блогове.

Използвам Microsoft Visual Studio Code за редактиране на код. но можете да използвате всяка друга, която ви харесва.1. Отворете софтуера за редактиране на код и създайте файл с име „index.js“(или всичко, което сте въвели в частта от входната точка на стъпката за създаване на проект Node.js) в свързана директория.

2. Напишете код:

var five = require ("johnny-five"); нека TelegramBot = require ('node-telegram-bot-api'); const token = '##########################################'; const bot = new TelegramBot (token, {polling: true}); var board = нови пет. Board (); const answerCallbacks = {};

bot.on ("съобщение", функция (съобщение) {

const callback = answerCallbacks [msg.chat.id]; if (обратно повикване) {delete answerCallbacks [msg.chat.id]; връщане на обратно повикване (съобщение); }});

board.on ("готов", функция () {

var led = нови пет. Led (13);

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

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

функция за стартиране (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 ();} else if (data == 'turnoff') {led.off ();}})}); }

функция getKeyboardOptions () {

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

опции за връщане;

}

3. Заменете стойността на свойството на символа с тази, която сте записали в стъпката за създаване на бот

4. Запазете кода

5. Отворете терминала и въведете следната команда:

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

6. След като инсталирате модули, докато вашият Arduino е свързан към USB порт, в терминала въведете следната команда:

възел index.js

7. Трябва да видите нещо като:

1534514872949 Наличен /dev/cu.usbmodem1411

1534514872957 Свързан /dev/cu.usbmodem1411 1534514876660 Repl Инициализиран >>

8. Отворете телеграма и потърсете потребителското име на вашия бот (или го отворете от BotFather) и въведете тази команда:

/старт

9. Трябва да видите контролен панел, който може да контролира вградения Arduino LED с команди „Включване“и „Изключване“, ако имате късмет;)

Препоръчано: