Розумні пристрої, як-от розетки, стають все більш поширеними у нашому повсякденному житті. У цій статті ми розглянемо, як самостійно створити розумну розетку з можливістю керування через Telegram, використовуючи модуль ESP8266. Це дасть вам змогу дистанційно вмикати та вимикати пристрої, підключені до розетки, без необхідності витрачати кошти на дорогі комерційні рішення.
Для цього проєкту вам знадобиться:
Модуль ESP8266 (наприклад, NodeMCU або ESP-01).
Реле для керування живленням (220V реле).

Звичайна розетка або подовжувач.
Джерело живлення для ESP8266 (наприклад, через USB або батарею).
Arduino IDE для програмування ESP8266.
Обліковий запис у Telegram для створення бота.
Підключіть один з цифрових пінів ESP8266 (наприклад, D1) до піну IN на реле.
Підключіть пін GND ESP8266 до GND на реле.
Пін VCC(V+) реле підключіть до 3.3V ESP8266.
Один з проводів розетки підключіть до COM на реле.
Другий провід підключіть до NO (нормально відкритий) або NC (нормально закритий) контакту реле в залежності від того, як ви хочете керувати розеткою.
Замкніть ланцюг, підключивши провід від NO або NC до живлення.
Відкрийте Telegram і знайдіть бота @BotFather.
Відправте команду /newbot і дайте йому ім’я та унікальне ім’я користувача.
Після цього ви отримаєте токен API, який буде використовуватись у коді.
Тепер, коли все підключено, можна переходити до написання коду для ESP8266. Ми використовуватимемо бібліотеки WiFi, ESP8266TelegramBOT і ArduinoJson.
Відкрийте Arduino IDE, перейдіть до Sketch -> Include Library -> Manage Libraries.
Знайдіть та встановіть Universal Telegram Bot і ArduinoJson.
#include <ESP8266WiFi.h>
#include <WiFiClientSecure.h>
#include <UniversalTelegramBot.h>
#include <ArduinoJson.h>
const char* ssid = "your_SSID";
const char* password = "your_PASSWORD";
const char* botToken = "your_bot_token"; // Ваш токен від BotFather
WiFiClientSecure client;
UniversalTelegramBot bot(botToken, client);
const int relayPin = D1;
void setup() {
Serial.begin(115200);
pinMode(relayPin, OUTPUT);
digitalWrite(relayPin, LOW);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to WiFi");
client.setInsecure(); // Використовується для роботи з HTTP API Telegram
}
void loop() {
int numNewMessages = bot.getUpdates(bot.last_message_received + 1);
while (numNewMessages) {
for (int i = 0; i < numNewMessages; i++) {
String chat_id = String(bot.messages[i].chat_id);
String text = bot.messages[i].text;
if (text == "/on") {
digitalWrite(relayPin, HIGH);
bot.sendMessage(chat_id, "Розетка ввімкнена", "");
}
if (text == "/off") {
digitalWrite(relayPin, LOW);
bot.sendMessage(chat_id, "Розетка вимкнена", "");
}
}
numNewMessages = bot.getUpdates(bot.last_message_received + 1);
}
}
Завантажте код на ESP8266: Підключіть ESP8266 до комп’ютера через USB і завантажте скетч за допомогою Arduino IDE.
Відправка команд через Telegram: Відкрийте чат з вашим ботом у Telegram. Відправте команду /on, щоб ввімкнути розетку, або /off, щоб вимкнути її.
Ви створили розумну розетку, яку можна керувати через Telegram за допомогою модуля ESP8266. Цей проєкт є відмінним варіантом для новачків, оскільки допомагає засвоїти основи роботи з інтернетом речей (IoT) та взаємодії з фізичним світом через програмування. Використовуючи цей підхід, ви зможете створювати інші розумні пристрої, якими легко керувати дистанційно.
Disclaimer. Ця стаття створена виключно з ознайомлювальною метою. Усі поради та інструкції надані для освітніх цілей, і ми не несемо відповідальності за будь-які можливі наслідки, пов’язані з реалізацією цього проекту. Завжди дотримуйтесь безпеки при роботі з електронними компонентами.
Якщо у Вас виникають проблеми, то Ви можете зв’язатися з нами за допомогою [email protected].