Артем Демиденко

ESP32 для начинающих: Умный дом своими руками


Скачать книгу

к интернету и обмениваться данными. В этой главе мы подробно обсудим, как использовать этот модуль для создания систем умного дома, а также приведем конкретные примеры и рекомендации по его настройке и интеграции.

      Настройка Wi-Fi подключения

      Первый шаг к тому, чтобы ваш проект заработал в онлайн-режиме – это настройка Wi-Fi подключения. Для этого нужно подключиться к вашей сети. Процесс выглядит следующим образом:

      1. Подключите плату ESP32 к компьютеру и откройте Arduino IDE.

      2. Укажите имя сети и пароль. Для этого используйте следующий код:

      .. ```cpp

      .. const char* ssid = "ВАШ_SSID";

      .. const char* password = "ВАШ_ПАРОЛЬ";

      .. ```

      Эти параметры должны быть указаны в начале вашей программы.

      3. Инициализируйте Wi-Fi. После того, как вы указали имя сети и пароль, инициализируйте Wi-Fi следующим образом:

      .. ```cpp

      .. void setup() {

      ...... Serial.begin(115200);

      ...... WiFi.begin(ssid, password);

      ...... while (WiFi.status() != WL_CONNECTED) {

      .......... delay(1000);

      .......... Serial.println("Подключение к Wi-Fi…");

      ...... }

      ...... Serial.println("Подключено к Wi-Fi");

      .. }

      .. ```

      После загрузки кода на плату ESP32 в последовательном мониторе можно будет наблюдать процесс подключения. Когда соединение установится, появится сообщение об успешном подключении.

      Обмен данными через HTTP

      Теперь, когда ваше устройство подключено к Wi-Fi, можно организовать обмен данными через HTTP. Это дает возможность отправлять и получать данные от сервера или другого устройства. Например, вы можете создать простой веб-сервер на базе ESP32, который будет служить интерфейсом для управления другими устройствами в вашем доме.

      Для создания веб-сервера вам нужно:

      1. Добавить необходимые библиотеки:

      .. ```cpp

      .. #include <WiFi.h>

      .. #include <WebServer.h>

      .. ```

      2. Создать объект веб-сервера и определить маршруты. Например, чтобы контролировать свет с помощью веб-интерфейса, добавьте следующий код:

      .. ```cpp

      .. WebServer server(80);

      .. void handleRoot() {

      ...... server.send(200, "text/html", "<h1>Управление светом</h1><a href=\"/on\">Включить</a><a href=\"/off\">Выключить</a>");

      .. }

      .. ```

      3. Зарегистрируйте обработчики для маршрутов:

      .. ```cpp

      .. server.on("/", handleRoot);

      .. server.on("/on", []() {

      ...... digitalWrite(LED_BUILTIN, HIGH);

      ...... server.send(200, "text/html", "<h1>Свет включен</h1><a href=\"/\">Назад</a>");

      .. });

      .. server.on("/off", []() {

      ...... digitalWrite(LED_BUILTIN, LOW);

      ...... server.send(200, "text/html", "<h1>Свет выключен</h1><a href=\"/\">Назад</a>");

      .. });

      .. ```

      4. Запустите веб-сервер с помощью `server.begin()` в функции `setup()`.

      Теперь, если вы введете IP-адрес вашего ESP32 в браузере, сможете управлять встроенным светодиодом через интерфейс. Этот подход можно расширить для управления различными устройствами в вашем умном доме.

      Использование MQTT для облачной интеграции

      Если