# ESP32 OLED Clock with MQTT Temperature Display ## Описание ESP32 часы с OLED дисплеем 1.3" (SH1106), синхронизация времени по NTP, отображение температуры из MQTT. При включении показывает анимационную заставку UA1ZBE. ## Аппаратная часть - ESP32 DevKit - OLED дисплей 1.3" (SH1106), 128x64, I2C - Подключение: SDA → GPIO21, SCL → GPIO22 ## Схема подключения ``` ESP32 → OLED 1.3" SH1106 ------ -------------- 3.3V → VCC GND → GND GPIO21 → SDA GPIO22 → SCL ``` ## WiFi настройки В файле `src/main.cpp`: ```cpp // Основная сеть const char* ssid = "Keenetic-3222"; const char* password = "28021980"; // Резервная сеть (подключается если основная недоступна) const char* ssid2 = "TP-Link_45EC"; const char* password2 = "16314733"; ``` ## MQTT настройки ```cpp const char* mqtt_server = "ua1zbe.ru"; const int mqtt_port = 1883; const char* mqtt_topic_pz = "/Meteo/dsw1"; // Температура П-Зори const char* mqtt_topic_kand = "max_kand/temp"; // Температура Кандалакша ``` ## Режимы отображения | Секунды | Содержимое | |---------|------------| | 0-15 | Температура П-Зори | | 15-30 | Часы + дата | | 30-45 | Температура Кандалакша | | 45-60 | Часы + дата | ## Последовательность запуска 1. Анимационная заставка UA1ZBE (рамка с надписью, 2 цикла) 2. "Connecting..." - подключение к WiFi 3. "NTP sync..." - синхронизация времени 4. "WiFi + MQTT OK" - всё готово 5. Режим отображения часов и температур ## Структура проекта ``` esp32_oled_clock/ ├── platformio.ini # конфигурация PlatformIO ├── README.md # документация └── src/ └── main.cpp # основной код ``` ## Сборка и загрузка ```bash cd ~/esp32_oled_clock platformio run --target upload ``` ## Мониторинг ```bash platformio device monitor --baud 115200 ``` ## Зависимости - U8g2 (библиотека для OLED дисплеев) - PubSubClient (MQTT клиент) - WiFi - time.h (синхронизация NTP) ## Возможные проблемы 1. **Нет синхронизации NTP** — проверьте WiFi подключение, попробуйте другой NTP сервер 2. **Шум на дисплее** — проверьте провода SDA/SCL, попробуйте адрес 0x3D вместо 0x3C 3. **Нет MQTT данных** — проверьте работу брокера и топики ## Автор UA1ZBE