Як створити розумну розетку за допомогою Telegram і ESP8266

16.08.2024 2 хвилин Автор: Cyber Witcher

Розумні пристрої, як-от розетки, стають все більш поширеними у нашому повсякденному житті. У цій статті ми розглянемо, як самостійно створити розумну розетку з можливістю керування через Telegram, використовуючи модуль ESP8266. Це дасть вам змогу дистанційно вмикати та вимикати пристрої, підключені до розетки, без необхідності витрачати кошти на дорогі комерційні рішення.

Обладнання та програмне забезпечення

Для цього проєкту вам знадобиться:

  • Модуль ESP8266 (наприклад, NodeMCU або ESP-01).

  • Реле для керування живленням (220V реле).

(приклад, беріть з платою краще)
  • Звичайна розетка або подовжувач.

  • Джерело живлення для ESP8266 (наприклад, через USB або батарею).

  • Arduino IDE для програмування ESP8266.

  • Обліковий запис у Telegram для створення бота.

Підключення обладнання

Підключіть ESP8266 до реле:

  1. Підключіть один з цифрових пінів ESP8266 (наприклад, D1) до піну IN на реле.

  2. Підключіть пін GND ESP8266 до GND на реле.

  3. Пін VCC(V+)  реле підключіть до 3.3V ESP8266.

Підключіть реле до розетки:

  1. Один з проводів розетки підключіть до COM на реле.

  2. Другий провід підключіть до NO (нормально відкритий) або NC (нормально закритий) контакту реле в залежності від того, як ви хочете керувати розеткою.

  3. Замкніть ланцюг, підключивши провід від NO або NC до живлення.

Налаштування Telegram бота

Створіть бота в Telegram:

  1. Відкрийте Telegram і знайдіть бота @BotFather.

  2. Відправте команду /newbot і дайте йому ім’я та унікальне ім’я користувача.

  3. Після цього ви отримаєте токен API, який буде використовуватись у коді.

Програмування ESP8266

Тепер, коли все підключено, можна переходити до написання коду для ESP8266. Ми використовуватимемо бібліотеки WiFi, ESP8266TelegramBOT і ArduinoJson.

Встановіть необхідні бібліотеки:

  1. Відкрийте Arduino IDE, перейдіть до Sketch -> Include Library -> Manage Libraries.

  2. Знайдіть та встановіть Universal Telegram Bot і ArduinoJson.

Напишіть код для ESP8266:

#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);
  }
}

Завантаження та тестування

  1. Завантажте код на ESP8266: Підключіть ESP8266 до комп’ютера через USB і завантажте скетч за допомогою Arduino IDE.

  2. Відправка команд через Telegram: Відкрийте чат з вашим ботом у Telegram. Відправте команду /on, щоб ввімкнути розетку, або /off, щоб вимкнути її.

Підсумок

Ви створили розумну розетку, яку можна керувати через Telegram за допомогою модуля ESP8266. Цей проєкт є відмінним варіантом для новачків, оскільки допомагає засвоїти основи роботи з інтернетом речей (IoT) та взаємодії з фізичним світом через програмування. Використовуючи цей підхід, ви зможете створювати інші розумні пристрої, якими легко керувати дистанційно.

Disclaimer. Ця стаття створена виключно з ознайомлювальною метою. Усі поради та інструкції надані для освітніх цілей, і ми не несемо відповідальності за будь-які можливі наслідки, пов’язані з реалізацією цього проекту. Завжди дотримуйтесь безпеки при роботі з електронними компонентами.

Якщо у Вас виникають проблеми, то Ви можете зв’язатися з нами за допомогою [email protected].

Підписатися
Сповістити про
0 Коментарі
Найстаріші
Найновіше Найбільше голосів
Знайшли помилку?
Якщо ви знайшли помилку, зробіть скріншот і надішліть його боту.