Files
esp32_oled_clock/README.md

2.2 KiB
Raw Blame History

ESP32 OLED Clock with MQTT Temperature Display

Описание

ESP32 часы с OLED дисплеем 1.3" (SH1106), синхронизация времени по NTP, отображение температуры из MQTT.

Аппаратная часть

  • 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:

const char* ssid = "Keenetic-3222";
const char* password = "28021980";

MQTT настройки

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 Часы + дата

Структура проекта

esp32_oled_clock/
├── platformio.ini    # конфигурация PlatformIO
└── src/
    └── main.cpp      # основной код

Сборка и загрузка

cd ~/esp32_oled_clock
platformio run --target upload

Мониторинг

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