Мобільна версія Форум Arduino Документація Гарантійні умови 0 0
UA RU
Графік роботи магазину:
Пн-Пт: 8.00 - 19.00
Сб: 10.00 - 17.00
Нд: вихідний
Каталог
Напиши статтю і отримай знижку!

Керування Raspberry Pi через Telegram

2021-11-30

Всі статті →

В цій статті я розповім як можна легко і швидко під'єднати Raspberry до Telegram та керувати нею з будь-якого місця де є доступ до інтернету.

Під час розробки власного софту на Raspberry та смартфону з’явилася необхідність написати простий телеграм бот за допомогою якого можна керувати Raspberry. На цей час через нього можна керувати трьома світлодіодами (підключені заради тестів, замість них можна під'єднати будь-яке інше навантаження), два вкл/викл, а на іншому можна змінювати яскравість. Також є підтримка датчика руху з декількома режимами роботи, перший “Режим охорони” якщо буде виявлено рух, то прийде сповіщення в телеграм, другий “Режим нічника” при виявленні руху вмикатиме світло на заданий час.

Для створення бота потрібно зайти в Telegram та знайти BotFather

Тиснемо Старт. А далі /newbot, та продовжуємо по інструкції яку дасть бот (коли вказуватимете назву бота, в кінці потрібно добавити ‘_bot’, наприклад “Test_bot”)

При завершенні копіюємо токен, який йде після слів ‘HTTP API:’ і зберігаємо його в зручне місце. Шукаємо наш бот через пошуковий рядок та відкриваємо з ним чат.

Далі переходимо до Raspberry, я буду робити це через SSH, Ви можете робити це любим зручним для вас шляхом. Необхідно установити python командою: sudo apt-get install python3

Далі встановлюємо пакет для роботи з ботом pip3 install pyTelegramBotAPI

Створюємо нову директорію для проєкту. Переходимо в неї та створюємо файл telbot.py (назва може бути яка вам заманеться)

Відкриваємо та вставляємо наступний код, у змінну token вставляємо раніше вами збережений токен.

  • import telebot
  • from telebot import types
  • token = ' '
  • bot = telebot.TeleBot(token)
    • bot.message_handler(commands = ['start']) #старт бота
  • def start_message(message):
  • bot.send_message(message.chat.id,'Готовий до роботи')
  • bot.message_handler(content_types='text')
  • def message_reply(message):
    • bot.send_message(message.chat.id, message.text)
  • bot.infinity_polling()

Зберігаємо код, та запускаємо його (в консолі це можна зробити командою python3 telBot/telbot.py, не забувайте після кожного разу коли редагуєте код зберігати його та перезапускати програму).  Тепер коли Ви натиснете на ‘Старт’ бот вам буде відправляти ваше ж повідомлення. Коли переконалися, що все працює переходимо до самого цікавого, керування Raspberry Pi.

Підключаємо пакет для роботи з GPIO через python sudo apt-get install python3-rpi.gpio.

Далі створюємо в директорії проекту файл things.py та вставляємо в нього наступний код:

Потім код основної програми змінюємо на наступний:

Code

Вставляємо токен. Після цього необхідно отримати ID, зробити це можна написавши в бот info і вставити його в idChat (17 рядок)

Підключаємо світлодіоди, та датчик до контактів які вказані в things.py. Не забувайте використовувати резистори для світлодіодів та будьте обережні, щоб нічого не замкнути!

  • LED_PIN = 23
  • LED_PIN_2 = 27
  • SENSOR_PIN = 24
  • GPIO_PWM_0 = 17

Щоб змінювати яскравість потрібно боту написати Pwm і через пробіл потрібну яскравість у відсотках, як приклад Pwm 40.

Ваша оцінка статті:

Відмінно
Добре
Задовільно
Погано
Дуже погано

Загальна оцінка:

Оцінка "Керування Raspberry Pi через Telegram"
5 з 5
зроблена на основі 2 оцінок 2 клієнтських відгуків.

Дякуємо Вам за звернення! Ваш відгук з'явиться після модерації адміністратором.
Петро
26.12.2022 14:23:04
Відмінно!
Віталій
06.02.2022 15:38:07
Класно!!!
оплата картами Visa і MasterCard