Найти тему
РосАвтоматизация

Телеграм бот на платформе ESP32/8266

Оглавление

Итак, всё начинается с задач, которые мы хотим выполнять на микроконтроллере.

ESP 32  в таком исполнении, как и подобного вида контролеры, имеет пару светодиодов компаратор и стабилизатор питания. На этой плате нет периферийных устройств. Если привести аналогию, то данная плата является системным блоком компьютера, и если включить системник, то он будет работать, но вот работать на нем без монитора и клавиатуры с мышкой будет непросто). Как системному блоку нужен монитор, так и микроконтроллеру нужны датчики, реле, модули. Для примера возьмем адресные термометры 18b20 для сбора данных о температуре и MOSFET транзистор irf3205, для управления нагрузкой 12 В. В данном статье будет приведен пример реализации бота на микроконтроллере ESP8266, но программный код подходит и для ESP32.

Для чего можно использовать телеграм бота

Телеграм можно использовать вместо MQTT клиента, как более простой и защищенный канал связи между контроллером и вашими устройствами. К плюсам можно отнести удобство и простоту использования. Например, можно добавить бота в группу и каждый участник группы будет иметь доступ к боту.

Как зарегистрировать нового бота в Телеграм

Чтобы зарегистрировать бота, его нужно создать способом описанным ниже.

  1. В поиске Телеграм ищем @BotFather . Это официальный бот, созданный для создания и  управления вашими ботами.
  2. Шлём команду:
  3. /newbot
  4. @BotFather Дальше нужно придумать название для бота. Следующим сообщением отправьте его название, заканчивающееся на "_bot".
  5. Скопируйте токен  от @BotFather — это ключ для работы с Telegram API, выглядит он так "5123379471:ADTGHoklIb9xYOaasdeJo6Dghj5hxkHYhwvg".

Доступ и приватность бота

Алгоритм обеспечения безопасности заключается в уникальном имени пользователя или группы.

Принцип авторизации
Принцип авторизации

Если id пользователя или группы будут не совпадать с исходными, то бот ответит "Unauthorized user".

Для получения id своего или группы, нужно написать или добавить в группу бота  @get_id_bot

Этот номер нужно вписать в строку

define CHAT_ID "-558000000"

Базовые настройки

Итак, для работы нужно загрузить следующие библиотеки

-3

Что-то можно установить с Arduino IDE, что-то придется устанавливать через zip

-4

Недостающие библиотеки скачиваем с GitHub

ESP8266 для доступа в интернет использует wi-fi поэтому вводим имя сети и пароль

-5

Распиновка микроконтроллера ESP8266

-6

Обратите внимание, что название пинов отличаются от их номеров, и если мы хоти обратиться к пину D1, то это 5 выход, а не 1.

Спаиваем на макетной плате все детали и прошиваем микроконтроллер.

-7

Полный код программы

Полный код программы можно взять с сайта закрепленного ниже
Полный код программы можно взять с сайта закрепленного ниже

Что умеет этот бот

Если всё сделали правильно, то если отправить боту команду "/start"

-9

Бот поприветствует вас и даст список команд.

-10
-11

Таким образом бот работает, его функционал значительно шире, чем у умной розетки от Яндекс или sonoff.

Полную версию статьи можно посмотреть на нашем сайте

#bot #Esp8266 #esp32 #Программирование #Умный_дом