Итак, всё начинается с задач, которые мы хотим выполнять на микроконтроллере.
ESP 32 в таком исполнении, как и подобного вида контролеры, имеет пару светодиодов компаратор и стабилизатор питания. На этой плате нет периферийных устройств. Если привести аналогию, то данная плата является системным блоком компьютера, и если включить системник, то он будет работать, но вот работать на нем без монитора и клавиатуры с мышкой будет непросто). Как системному блоку нужен монитор, так и микроконтроллеру нужны датчики, реле, модули. Для примера возьмем адресные термометры 18b20 для сбора данных о температуре и MOSFET транзистор irf3205, для управления нагрузкой 12 В. В данном статье будет приведен пример реализации бота на микроконтроллере ESP8266, но программный код подходит и для ESP32.
Для чего можно использовать телеграм бота
Телеграм можно использовать вместо MQTT клиента, как более простой и защищенный канал связи между контроллером и вашими устройствами. К плюсам можно отнести удобство и простоту использования. Например, можно добавить бота в группу и каждый участник группы будет иметь доступ к боту.
Как зарегистрировать нового бота в Телеграм
Чтобы зарегистрировать бота, его нужно создать способом описанным ниже.
- В поиске Телеграм ищем @BotFather . Это официальный бот, созданный для создания и управления вашими ботами.
- Шлём команду:
- /newbot
- @BotFather Дальше нужно придумать название для бота. Следующим сообщением отправьте его название, заканчивающееся на "_bot".
- Скопируйте токен от @BotFather — это ключ для работы с Telegram API, выглядит он так "5123379471:ADTGHoklIb9xYOaasdeJo6Dghj5hxkHYhwvg".
Доступ и приватность бота
Алгоритм обеспечения безопасности заключается в уникальном имени пользователя или группы.
Если id пользователя или группы будут не совпадать с исходными, то бот ответит "Unauthorized user".
Для получения id своего или группы, нужно написать или добавить в группу бота @get_id_bot
Этот номер нужно вписать в строку
define CHAT_ID "-558000000"
Базовые настройки
Итак, для работы нужно загрузить следующие библиотеки
Что-то можно установить с Arduino IDE, что-то придется устанавливать через zip
Недостающие библиотеки скачиваем с GitHub
ESP8266 для доступа в интернет использует wi-fi поэтому вводим имя сети и пароль
Распиновка микроконтроллера ESP8266
Обратите внимание, что название пинов отличаются от их номеров, и если мы хоти обратиться к пину D1, то это 5 выход, а не 1.
Спаиваем на макетной плате все детали и прошиваем микроконтроллер.
Полный код программы
Что умеет этот бот
Если всё сделали правильно, то если отправить боту команду "/start"
Бот поприветствует вас и даст список команд.
Таким образом бот работает, его функционал значительно шире, чем у умной розетки от Яндекс или sonoff.
Полную версию статьи можно посмотреть на нашем сайте
#bot #Esp8266 #esp32 #Программирование #Умный_дом