ESP32 + Bluetooth — терморегулятор (2)

Ранее на странице http://rcl-radio.ru/?p=92577 описывался пример создания простого терморегулятора на базе ESP32. Управление терморегулятором осуществляется по сети Bluetooth, через Android приложение. На этой странице будет рассмотрен аналогичный проект но с небольшими доработками, помимо ручного регулирования температуры добавлена возможность установки температуры регулирования по времени.

ESP32 + Bluetooth — терморегулятор (2) Arduino, Электроника, Программирование, Самоделки, Длиннопост

Текущее время ESP32 получает от NTP сервера через Интернет. Используется 4-е временных отметки, переключать которые можно кнопками TIME1, TIME2, TIME3 и TIME4. При переключении временных отметок показывается установленное время для текущей отметки и температура регулирования. При установки времени регулирования необходимо соблюдать временную последовательность, первая отметка начало суток, четвертая конец суток. Например, если необходимо установить температуру регулирования 22 °С с 22:30 до 6:00, а с 6:00 поднять температуру до 24 °С, то установите первую отметку на 6:00 > 24, а четвертую на 23:30 > 22. Так же первая отметка должна быть по времени меньше второй, вторая меньше третей, третья меньше четвертой.

ESP32 + Bluetooth — терморегулятор (2) Arduino, Электроника, Программирование, Самоделки, Длиннопост

Как показано на примере, в 23:30 установится температура в 24 °С и до 6:00 меняться не будет. В 6:00 температура повысится до 25 °С и до 15:30 меняться не будет. Далее в 15:30 температура установится на 27 °С и до 20:00 меняться не будет. В 20:00 температура установиться на 29 °С и до 23:30 меняться не будет.

Для переключения между ручным регулированием температуры и регулированием температуры по времени используется кнопка SET.

ESP32 + Bluetooth — терморегулятор (2) Arduino, Электроника, Программирование, Самоделки, Длиннопост

Текущий режим, все временные отметки и заданные температуры регулирования сохраняются в энергонезависимой памяти.

Перед загрузкой скетча рекомендую ознакомится со статьей  — ESP32 DevKit v1 Wi-Fi Bluetooth ESP32-WROOM-32 (Arduino IDE).

Перед прошивкой в скетч добавьте параметры Вашей Wi-Fi сети:

const char* ssid = «Имя_сети»;

const char* password = «Пароль_сети»;

Так же укажите временной сдвиг в секундах от UTC:

NTPClient timeClient(ntpUDP, «pool.ntp.org», 21600,3600123);// 21600 — временной сдвиг в секундах от UTC (6 часов)

Приложение и скетч - http://rcl-radio.ru/?p=92597

Пины подключения датчика температуры и модуля реле к ESP32 указаны в скетче.