ESP32 OLED часы с MQTT температурами

This commit is contained in:
UA1ZBE
2026-05-15 11:50:53 +03:00
commit ccc7cdf19f
633 changed files with 751305 additions and 0 deletions

87
README.md Normal file
View File

@@ -0,0 +1,87 @@
# 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`:
```cpp
const char* ssid = "Keenetic-3222";
const char* password = "28021980";
```
## 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 | Часы + дата |
## Структура проекта
```
esp32_oled_clock/
├── platformio.ini # конфигурация PlatformIO
└── 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