ESP32 OLED часы с MQTT температурами
This commit is contained in:
87
README.md
Normal file
87
README.md
Normal 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
|
||||
Reference in New Issue
Block a user