Files
esp32_oled_clock/README.md

87 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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