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

Шрифт
Интервал



.. }


.. ```

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

.. ```cpp


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


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


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


...... server.send(200, "text/html", "

Свет включен

Назад");


.. });


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


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


...... server.send(200, "text/html", "

Свет выключен

Назад");


.. });


.. ```

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

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

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

Если вы хотите расширить функциональность и интеграцию вашего устройства в умный дом, тогда стоит рассмотреть использование протокола MQTT. Это легковесный протокол сообщений, хорошо подходящий для устройств Интернета вещей. Чтобы начать работать с MQTT, выполните следующие шаги:

1. Добавьте библиотеку для MQTT:

.. ```cpp


.. #include


.. ```

2. Инициализируйте клиент MQTT:

.. ```cpp


.. WiFiClient espClient;


.. PubSubClient client(espClient);


.. ```

3. Подключите клиента к вашему MQTT-брокеру. Не забудьте указать адрес вашего брокера, например, Mosquitto или HiveMQ:

.. ```cpp


.. void reconnect() {


...... while (!client.connected()) {


.......... Serial.print("Подключение к MQTT…");


.......... if (client.connect("ESP32Client")) {


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


.............. client.subscribe("home/light");


.......... } else {


.............. Serial.print("Не удалось подключиться. Код ошибки: ");


.............. Serial.println(client.state());


.............. delay(2000);


.......... }


...... }


.. }


.. ```

4. Отправляйте сообщения:

.. ```cpp


.. client.publish("home/light", "1"); // Включить свет


.. ```

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