Оглавление:

Управление Arduino с помощью Telegram Bot без дополнительного оборудования: 5 шагов
Управление Arduino с помощью Telegram Bot без дополнительного оборудования: 5 шагов

Видео: Управление Arduino с помощью Telegram Bot без дополнительного оборудования: 5 шагов

Видео: Управление Arduino с помощью Telegram Bot без дополнительного оборудования: 5 шагов
Видео: arduino esp32 lesson. Супер простое управление теплицей по wifi с помощью библиотеки GyverPortal 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, напечатанную здесь.

В противном случае я помещаю ниже руководство, чтобы попробовать еще раз:

  • Окна
  • macOS

Шаг 2: Часть Arduino

Часть Arduino
Часть Arduino

На этом этапе единственное, что вам нужно сделать, это загрузить встроенную прошивку Arduino IDE на ваш Arduino Uno.

Важно: вам необходимо обновить свою Arduino IDE до последней версии, выпущенной Arduino.

Импортировать библиотеку фирменных данных:

Верхнее меню >> Файл >> Примеры >> Фирмы >> Стандартные данные

Проверьте и загрузите код на Arduino:

1. Верхнее меню >> Эскиз >> Проверить / Компилировать

2. Верхнее меню >> Эскиз >> Загрузить

Все сделано.

Шаг 3. Получите токен бота Telegram

Получите токен бота Telegram
Получите токен бота Telegram

Откройте Telegram и найдите @BotFather или нажмите здесь, чтобы открыть этого бота в Telegram.

  1. Введите / newbot и нажмите Enter.
  2. Выберите имя для своего бота
  3. Выберите имя пользователя для своего бота. Он должен заканчиваться на "бот"
  4. Теперь бот отправляет вам некоторую информацию, включая ваш токен доступа к API. Запишите его, мы будем использовать этот токен в следующих шагах

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

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

Для создания проекта Node.js и установки модулей нам нужно использовать терминал, поэтому, если вы работаете в Windows, используйте CMD, а в случае использования macOS используйте терминал для всех следующих шагов.

1. Создайте где-нибудь папку для проекта.

2. Компакт-диск (Изменить каталог) в недавно созданную папку. Например, если вы назвали эту папку TelegramBot и поместили ее на рабочий стол, напишите это в терминале и нажмите Enter:

cd Desktop / TelegramBot

3. Для создания проекта Node.js введите следующую команду:

npm init

4. Ответьте на несколько вопросов, включая имя, описание, лицензию и т. Д., Если вы не знаете, что ответить, просто нажмите Enter. В этом случае слово в круглых скобках будет использоваться по умолчанию.

5. Теперь вы должны увидеть файл package.json, созданный в вашей папке, и это означает, что вы успешно создали проект Node.js.

Шаг 5: кодирование

Нам нужно написать здесь несколько кодов. Опишем некоторые используемые библиотеки:

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

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

Я использую Microsoft Visual Studio Code для редактирования кода. но вы можете использовать любой другой, какой захотите. Откройте программное обеспечение для редактирования кода и создайте файл с именем index.js (или что-нибудь, что вы ввели в части точки входа на этапе создания проекта Node.js) в соответствующем каталоге.

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

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

bot.on ("сообщение", function (msg) {

const callback = answerCallbacks [msg.chat.id]; если (обратный вызов) {удалить answerCallbacks [msg.chat.id]; обратный вызов (сообщение); }});

board.on ("готово", function () {

var led = new five. Led (13);

bot.on ('сообщение', (msg) => {

const chatId = msg.chat.id; const text = msg.text; если (текст == '/ старт') {старт (chatId, led); }}); });

функция start (chatId, led) {

bot.sendMessage (chatId, «Панель управления Arduino», 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 ();}})}); }

function 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 Initialized >>

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

/Начните

9. Вы должны увидеть панель управления, которая может управлять встроенным светодиодом Arduino с помощью команд «Включить» и «Выключить», если вам повезет;)

Рекомендуемые: