Meteo P4
Техническое руководство пользователя
Обзор устройства
Meteo P4 — многофункциональная метеостанция на базе ESP32-P4. Устройство отображает данные внутренних и внешних датчиков, GNSS-координаты, авиационный прогноз погоды, часы с синхронизацией по спутникам и NTP, а также воспроизводит аудио с SD-карты и интернет-радио.
Технические характеристики
| Параметр | Значение |
|---|---|
| Основной процессор | ESP32-P4, 2 ядра, до 360 МГц |
| Wi-Fi / Bluetooth | ESP32-C6 (отдельный чип, ESP-Hosted через SDIO) |
| Flash-память | 16 МБ (DIO, 40 МГц) |
| PSRAM | 32 МБ (HEX, 200 МГц) |
| Дисплей | JC1060P470C, 1024×600 пкс, MIPI-DSI, 2 data lanes |
| Сенсорный экран | GT911 (I2C) |
| Аудио кодек | ES8311 (I2C + I2S) |
| SD-карта | SDMMC 4-bit, FAT32 с LFN |
| GNSS | UART, 38400/9600/57600/115200 бод (автоопределение) |
| RS485 (внешние датчики) | Modbus RTU, 9600 бод, half-duplex |
| Внутренние датчики | I2C шина: SHT41, BME280/BMP280, SCD41, SGP41, INA226 |
Схема подключений
Разъёмы и элементы платы JC-ESP32P4-M3
На рисунке ниже обозначены все разъёмы и элементы управления платы (вид сзади).
| № | Обозначение | Назначение в Meteo P4 |
|---|---|---|
| 1 | BOOT button | Кнопка входа в режим прошивки (удерживать при сбросе) |
| 2 | Reset button | Перезапуск устройства |
| 3 | MX 1.25 2P — Speaker | Подключение динамика (аудио выход ES8311) |
| 4 | TF card slot | Micro SD карта (FAT32) — логи датчиков, аудиофайлы |
| 5 | MX 1.25 2P — Li-Battery | Литиевый аккумулятор (3.7 В, контроль заряда через INA226) |
| 6 | Battery button | Кнопка включения питания от батареи |
| 7 | Full-speed Type-C | USB Full-Speed — загрузка прошивки (esptool), Serial/JTAG отладка |
| 8 | MX 1.25 4P — UART1 | GNSS модуль (TX/RX/3.3V/GND). GPIO37=TX, GPIO38=RX |
| 9 | High-speed Type-C | USB High-Speed (ESP32-P4 native USB) |
| 10 | MX 1.25 4P — UART | Дополнительный UART (резерв / отладка) |
| 11 | MX 1.25 4P — RS-485 | RS-485 шина (A+/B−/3.3V/GND) — уличный SHT30 и анемометр |
| 12 | SH 1.0 4P — I2C | I2C шина (SDA/SCL/3.3V/GND) — датчики SHT41, BME280, SCD41, SGP41, INA226 |
| 13 | 100 Mbps Ethernet Port | Проводная сеть (Ethernet 100Base-T) |
| 14 | RTC Battery Holder | Батарейка CR2032 — часы реального времени (RTC) |
| 15 | 30P 0.5-FPC MIPI | Шлейф дисплея JC1060P470C (1024×600, MIPI-DSI) — не отключать |
| 16 | JC-ESP32P4-M3 | Основной модуль: ESP32-P4 + ESP32-C6 Wi-Fi, 32 МБ PSRAM, 16 МБ Flash |
| 17 | 6P 0.5-FPC Touch | Шлейф тачскрина GT911 (I2C) — не отключать |
| 18 | 2×13 2.54 mm Pin Header | Расширительный разъём (GPIO, питание, SPI и др.) |
Функциональная схема подключений
┌─────────────────────────────────────────────────────────────────┐ │ ПЛАТА JC-ESP32P4-M3 │ │ │ │ №12 SH1.0 I2C ─── SDA/SCL ──── SHT41 (0x44/0x45) T°/RH% │ │ ──── BME280 (0x76) P/T°/RH% │ │ ──── SCD41 (0x62) CO₂ │ │ ──── SGP41 (0x59) VOC/NOx │ │ ──── INA226 (0x40) V/I/P │ │ │ │ №8 MX1.25 UART1 ─── TX/RX ──── GNSS модуль (38400 бод) │ │ №11 MX1.25 RS485 ─── A+/B− ──── MAX485 ──┬── SHT30 (0x01) │ │ └── Анемометр (0x03)│ │ №3 MX1.25 2P ─────────────── Динамик (ES8311 аудио) │ │ №5 MX1.25 2P ─────────────── Аккумулятор Li-Ion 3.7 В │ │ №4 TF slot ─────────────── SD карта (FAT32) │ │ №13 Ethernet ─────────────── Сеть 100 Мбит/с │ │ №7 Type-C FS ─────────────── ПК (прошивка / отладка) │ │ №15 FPC 30P ─────────────── Дисплей 1024×600 MIPI-DSI │ │ №17 FPC 6P ─────────────── Тачскрин GT911 │ │ №14 CR2032 ─────────────── RTC (часы при отключении) │ └─────────────────────────────────────────────────────────────────┘
Назначение GPIO
| GPIO | Назначение | Интерфейс |
|---|---|---|
7 | I2C SDA — все внутренние датчики, тач GT911, аудио ES8311 | I2C |
8 | I2C SCL | I2C |
9 | I2S DOUT (аудио выход на ES8311) | I2S |
10 | I2S WS (Word Select) | I2S |
11 | PA Enable — включение усилителя мощности | GPIO |
12 | I2S BCLK / SCLK (Bit Clock) | I2S |
13 | I2S MCLK (Master Clock на ES8311) | I2S |
20 | GNSS PPS — импульс секунды (прерывание по обоим фронтам, GPIO_INTR_ANYEDGE) | GPIO INT |
23 | Подсветка дисплея (LEDC PWM) | LEDC |
26 | RS485 TX (MAX485 вход D) | UART3 |
27 | RS485 RX (MAX485 выход R) | UART3 |
37 | GNSS TX (данные от GNSS модуля) | UART1 |
38 | GNSS RX (команды к GNSS модулю) | UART1 |
39 | SD D0 | SDMMC |
40 | SD D1 | SDMMC |
41 | SD D2 | SDMMC |
42 | SD D3 | SDMMC |
43 | SD CLK | SDMMC |
44 | SD CMD | SDMMC |
48 | I2S DIN (аудио вход с микрофона) | I2S |
53 | Измерение напряжения батареи (ADC2 CH4, делитель 100 кОм / 140 кОм) | ADC |
54 | Сброс ESP32-C6 (Wi-Fi сопроцессор, active-high) | GPIO |
Датчики I2C (внутренние)
Все внутренние датчики подключены к одной шине I2C (GPIO7/8, 400 кГц). Опрос каждые 2 секунды.
| Датчик | Адрес | Измеряет | Единицы |
|---|---|---|---|
| SHT41 | 0x44 или 0x45 (автоопределение) | Температура воздуха внутри, влажность | °C, % |
| BME280 (chip_id=0x60) | 0x76 | Атм. давление, температура, влажность | гПа, °C, % |
| BMP280 (chip_id=0x58) | 0x76 | Атм. давление, температура | гПа, °C |
| SCD41 | 0x62 | Концентрация CO₂ | ppm |
| SGP41 | 0x59 | VOC-индекс, NOx-индекс | 1–500 |
| INA226 | 0x40 | Напряжение шины, ток, мощность (батарея) | В, мА, мВт |
Датчики RS485 (внешние)
Внешние датчики подключаются через шину RS485 (Modbus RTU, 9600 бод, half-duplex). Используется MAX485 или аналог. Полярность шины: A(+) / B(−).
Meteo P4 MAX485 RS485 шина
────────── ────────── ──────────────
GPIO26 TX ──────────── D (вход)
GPIO27 RX ──────────── R (выход) A (+) ────── SHT30 уличный (addr 0x01)
A ───────────────────── ────── Анемометр (addr 0x03)
B ─────────────────────
DE/RE ── аппаратное управление B (−) ────── ...
| Устройство | Modbus адрес | Опрос | Измеряет |
|---|---|---|---|
| SHT30 RS485 (уличный) | 0x01 | 5 секунд | Температура и влажность снаружи |
| Анемометр | 0x03 | 1 секунда | Скорость ветра (м/с), EMA-фильтрация α=0.35 |
Распиновка разъёма RS485 (№11, MX 1.25 4P)
| Контакт на плате | Цвет провода | Назначение |
|---|---|---|
| GND | ■ Зелёный | Земля (общий) |
| B | ■ Жёлтый | RS485 B (−) |
| A | ■ Чёрный | RS485 A (+) |
| 5V | ■ Розовый | Питание датчика 5В |
Уличный датчик T°/RH% SHT30 (RS485, Modbus addr 0x01)
Анемометр 3-чашечный (RS485, Modbus addr 0x03)
Питание и батарея
Измерение батареи
Напряжение батареи измеряется через резистивный делитель на GPIO53 (ADC2, канал 4). Данные отображаются в плитке Батарея на экране Настроек.
| Параметр INA226 | Значение |
|---|---|
| Шунтовый резистор | 0.100 Ом |
| LSB тока | 0.1 мА |
| Порог окончания заряда | Ток ≤ 20 мА И напряжение ≥ 4.10 В |
Навигация по экранам
Переключение экранов осуществляется свайпами (горизонтальный жест) и тапами по элементам управления. Анимация перехода: 220 мс.
Карта переходов (свайпы)
| Текущий экран | Свайп влево → | Свайп вправо ← |
|---|---|---|
| Главный | Детали (Датчики) | GNSS |
| Детали (Датчики) | Плеер | Главный |
| GNSS | Главный | — |
| Графики | — | Детали (Датчики) |
| Плеер | — | Детали (Датчики) |
| Локальный прогноз | — | Настройки |
| Часовой прогноз (5 дней) | — | Главный |
| Сценарии / Будильник | — | Главный |
| Wi-Fi (сети) | — | Главный |
| Wi-Fi (ввод пароля) | — | Wi-Fi (сети) |
| Настройки | — | Главный |
| Сервис | — | Настройки |
| Диагностика | — | Настройки |
| О системе | — | Настройки |
| LED-индикация | — | Настройки |
| Сервер (MQTT) | — | Настройки |
Переходы по нажатию
- Иконка ⚙ (шестерёнка) в шапке Главного → Настройки
- Чип Wi-Fi в шапке Главного → Wi-Fi экран
- Чип «СЦЕНАРИЙ» в шапке Главного → Сценарии
- Кнопка ▶ в блоке «ПРОГНОЗ НА 5 ДНЕЙ» Главного → Часовой прогноз (5 дней)
- Строка дня прогноза → выбранный день в Часовом прогнозе
- Кнопки «ВОЗДУХ» / «ВЛАЖН.» на экране Датчики → Графики (соотв. страница)
- Плитки Центра управления → связанные подэкраны (см. раздел Настройки)
Главный экран
Верхняя строка (шапка)
- METEO P4 — название устройства (оранжевый чип, левый край)
- Чип города + спутников:
GNSS Nили название города из геокодинга - Чип СЦЕНАРИЙ — кликабельный, открывает экран Сценариев
- Чип ⚙ (LV_SYMBOL_SETTINGS) — открывает Настройки
- Чип батареи (иконка уровня) — статус только, без перехода
- Чип Wi-Fi (иконка) — открывает Wi-Fi экран
- Нижняя строка индикаторов (10 шт.):
WIFI·ВРЕМЯ·GNSS·ПОГ.·ПРОГ.·CO2·IAQ·ДАВЛ.·ПЛЕЕР·РИСК
Левая колонка — погода и датчики
- Иконка погоды + «Погодные данные»
- Температура снаружи (крупно, °C)
- Ощущается + скорость ветра
- Город + источник (GNSS)
- УЛИЦА T° (RS485) / ДОМА T° (локальный)
- ВЛАЖН. УЛИЦА % (RS485) / ВЛАЖН. ДОМА % (локальный)
Центр — часы и проветривание
- Время ЧЧ:ММ:СС (сплит-флап стиль, крупные цифры)
- Дата: ДД.ММ.ГГГГ
- День недели
- Иконки синхронизации: 🏠 GNSS / 📶 NTP
- Карточка ПРОВЕТРИВАНИЕ: статус + метрики CO₂/VOC/Давл.
- ВОСХОД / ЗАКАТ (время)
Правая колонка — прогноз и луна
- Заголовок ПРОГНОЗ НА 5 ДНЕЙ + кнопка ▶
- 5 строк: день нед. + иконка + направление и скорость ветра + МАКС/МИН °C
- Фаза луны (иконка + название фазы)
- Даты: Полнолуние / Новолуние
Прогноз на 5 дней
В нижней части экрана — 5 строк с прогнозом. Каждая строка содержит:
- День недели
- Иконка погоды
- Температура дневная / ночная
- Направление и скорость ветра
Нажатие на строку открывает Прогноз на несколько дней с детализацией.
Кнопка «Авиа-прогноз» открывает авиационный экран.
Давление и тренд
Давление отображается в мм рт. ст. Тренды:
| Текст | Порог |
|---|---|
| Быстро растёт | +3 гПа за 3 часа |
| Растёт | +0.5 гПа за 3 часа |
| Стабильно | в пределах ±0.5 гПа |
| Падает | −0.5 гПа за 3 часа |
| Быстро падает | −3 гПа за 3 часа |
Карточка вентиляции
На основании CO₂, VOC, влажности устройство выдаёт рекомендацию по вентиляции помещения.
Фаза луны
Отображается текущая фаза, дата ближайшего полнолуния и новолуния, а также восход и закат солнца.
Детальные данные (Датчики)
Доступ: свайп влево с Главного экрана. Заголовок: ДАТЧИКИ. Кнопки в правом верхнем углу: ВОЗДУХ / ВЛАЖН. / Главный.
Верхний ряд — плитки датчиков
| Плитка | Источник | Единица | Оценка качества |
|---|---|---|---|
| CO₂ | SCD41 | ppm | Норма / Повышен / Высокий / Критично |
| VOC | SGP41 | индекс 1–500 | норма / умеренный / высокий |
| NOx | SGP41 | индекс 1–500 | чисто / повышен |
| ВЛАЖНОСТЬ | SHT41 / BME280 | % | норма / сухо / влажно |
| УЛИЦА | RS485 SHT30 | °C | источник: RS485 |
| ДОМ | SHT41 / BME280 | °C | источник: Локальный датчик |
Карточка ПРОВЕТРИВАНИЕ
Комплексная рекомендация на основе CO₂, VOC, влажности и уличной температуры — гистерезисная, 6 уровней (по убыванию приоритета):
| Уровень | Заголовок | Триггер | Цвет |
|---|---|---|---|
| 1 | Проветрить сейчас | CO₂ критический (≥ 1400 ppm с гистерезисом до 1350) | Розовый |
| 2 | Нужно проветрить | VOC-индекс высокий | Оранжевый |
| 3 | Желательно проветрить | CO₂ warn (≥ 1000 ppm) | Оранжевый |
| 4 | Снизить влажность | Влажность в помещении выше порога | Оранжевый / Циан |
| 5 | Пока не нужно | Сухой воздух в помещении | Циан |
| 6 | Воздух в норме | Все параметры в норме | Зелёный |
Под заголовком — текстовая подсказка с конкретной рекомендацией по длительности проветривания (учитывает уличную температуру: коротко при морозе/жаре, дольше в норме).
Плитка ШУМ (под основным рядом)
Узкая горизонтальная полоса с заголовком ШУМ, шкалой (0–100) и значением дБ-индекса. Данные с микрофона ES8311 через компонент noise_meter.
Барограф (ДАВЛЕНИЕ | БАРОГРАФ 12 ЧАСОВ)
Крупное текущее давление в мм рт. ст. + тренд текстом («тенденция давления» / «Стабильно» / «Растёт» / «Падает» и т.д., см. таблицу трендов на Главном).
График: точки за 12 часов с отметками времени (−12ч / −10ч / −8ч / −6ч / −4ч / −2ч / сейчас). Справа: макс 12ч:, мин 12ч:, норма: (значение по умолчанию «750»).
Кнопки перехода
- ВОЗДУХ → Экран графиков, страница «Воздух» (CO₂ / VOC / Ветер)
- ВЛАЖН. → Экран графиков, страница «Влажность»
- Главный → Главный экран
Экран GNSS
Доступ: свайп вправо с Главного экрана. Шапка экрана: чип METEO P4 (циан), затем сегмент даты/времени --.-- --:--, в центре — заголовок GNSS, далее чип DGPS: нет/готов, чип PPS: с двумя LED-сегментами (мигают каждую секунду), кнопка «Главный».
Верхняя полоса — СТАТУС GNSS
- Цветная точка фикса (красная → жёлтая → зелёная) + крупная надпись «Нет фикса» / «ФИКС 2D» / «ФИКС 3D» / «ФИКС DGPS»
FIX: --— числовой тип фикса (NMEA)Время: ожидание / GNSS/PPS / NTP / нет- Иконка спутника (gnss_sync_sat_icon) + 5-сегментная шкала качества сигнала
Q --— качество приёма
Плитки координат
| Плитка | Содержимое |
|---|---|
| ШИРОТА | XX.XXXXXX° (десятичные градусы) |
| ДОЛГОТА | XX.XXXXXX° |
| ТОЧНОСТЬ | ~ X.X м (HDOP X.X) |
| ВЫСОТА | XX.X м (над уровнем моря) |
| СПУТНИКИ | N (количество в фиксе) |
Нижние три блока
НАВИГАЦИЯ
Готова / Не готова
N спутн. HDOP X.X
ВРЕМЯ
Источник: GNSS/PPS / NTP / нет
«Системные часы идут от GNSS/PPS»
ЛОКАЦИЯ, СИСТЕМЫ И ВРЕМЯ
Локация: город (из геокодирования)
Системы: GPS / BeiDou / GLONASS / Galileo
Системное время + GNSS UTC
Шкала HDOP (отображается на экране GNSS)
| HDOP | Оценка | Цвет |
|---|---|---|
| < 1.0 | Отличное | Зелёный |
| < 2.0 | Хорошее | Голубой |
| < 5.0 | Удовлетворительное | Жёлтый |
| ≥ 5.0 | Плохое | Красный |
Локальный прогноз
Доступ: плитка «Локальный прогноз» в Центре управления (Настройки). Реальный заголовок экрана: ЛОКАЛЬНЫЙ ПРОГНОЗ.
ДАТЧИКИ --:--. Возврат — свайп вправо (на Настройки).
Карточка A — ТЕКУЩИЕ / ОЦЕНКА
| Подпись в UI | Описание |
|---|---|
| T | Температура воздуха (°C) |
| Td точка росы | Точка росы (°C) — температура начала конденсации |
| T-Td спред | Разница T − Td: чем меньше, тем выше вероятность тумана/облачности |
| RH влажность | Относительная влажность (%) |
| P0~ | Давление, приведённое к уровню моря (мм рт. ст.) — аналог QNH |
| Баро-высота~ | Барометрическая высота (м) — аналог PA |
| Плотн. высота~ | Плотностная высота (м) — аналог DA |
| T - стандарт~ | Отклонение от стандартной атмосферы ISA (°C) |
| Видимость~ | Горизонтальная видимость (м или км) |
| База облаков~ | Нижняя граница облаков (м AGL) — аналог НГО |
Карточка B — ОПАСНОСТИ
Каждый вид опасности оценивается цветом:
| Уровень | Цвет | Значение |
|---|---|---|
| NONE | Серый | Опасности нет |
| LOW | Зелёный | Низкий риск |
| MODERATE | Жёлтый | Умеренный риск |
| HIGH | Оранжевый | Высокий риск |
| SEVERE | Красный | Опасные условия |
Оцениваемые в коде явления (8 строк): Туман / дымка, Гололёд / мороз, Гроза, Ветер / шквал, Осадки, Падение давления, Жара / humidex, Потепление / ночь. Под ними — отдельная строка Диапазон видимости~.
Карточка C — ЛОКАЛЬНЫЙ ПРОГНОЗ
Три горизонта: Сейчас / +1 час / +3 часа. Под колонками — компактные строки с числовыми значениями: для +1ч — T / Td / Вид., для +3ч — T / Вид. / Обл.
Карточка D — МОДЕЛЬ
Узкая полоса в нижней части: метка МОДЕЛЬ, сводный текст модели (например HH:MM | ожидание данных) и справа метка Точка: локально или географический ориентир.
Карточка E — ТРЕНД ДАВЛЕНИЯ (12 ч)
Заголовок ТРЕНД ДАВЛЕНИЯ (12 ч). Числовые дельты: 1ч: -- гПа, 3ч: -- гПа. Текстовая интерпретация Ожидание… / тренд. Барограф за 12 часов с точкой каждые ~15 минут.
Часовой прогноз (5 дней)
Доступ: нажатие кнопки ▶ в блоке «ПРОГНОЗ НА 5 ДНЕЙ» Главного экрана или клик по строке дня. Реальный заголовок экрана: ЧАСОВОЙ ПРОГНОЗ. Кнопка «Главный» в правом верхнем углу — возврат.
Верхний ряд — выбор дня
5 плиток с днями недели и датами. Активный день подсвечен синей рамкой. Каждая плитка: день недели, число, месяц, МИН/МАКС температура.
Нижняя панель — детали выбранного дня
Левый блок — сводка дня
- Город (из GNSS геопозиции)
- Иконка погоды
- Максимальная температура (крупно)
- День недели и дата
- МИН / МАКС температура
- Восход и Закат солнца
- Краткое описание дня (текст)
Правый блок — почасовая таблица
8 колонок: 00:00 / 03:00 / 06:00 / 09:00 / 12:00 / 15:00 / 18:00 / 21:00
Строки таблицы:
- Иконки погодных явлений по часам
- Температура (°C)
- Ощущается (°C)
- Давление (мм рт. ст.)
- Влажность (%)
- Ветер (направление / м/с)
- Осадки (%)
Графики
Доступ: кнопки «Графики воздуха» или «Графики влажности» на экране Деталей.
Кнопки-фильтры (верхняя панель)
- LIVE (циан) — данные в реальном времени
- SD 30д (оранжевый) — история с SD-карты за 30 дней (архив
history_logger) - ВОЗДУХ (зелёный) — страница CO₂, VOC, ВЕТЕР м/с
- ВЛАЖН. (синий) — страница влажности
- СБРОС (красная) — сброс накопленных данных (вызывает диалог подтверждения «Сброс логов» с кнопками ДА / ОТМЕНА)
- ДАТЧИКИ (back) — возврат на экран Датчики
Графики (вкладка ВОЗДУХ)
| График | Цвет | Показывает | Над графиком |
|---|---|---|---|
| CO₂ | Зелёный | Концентрация CO₂ (ppm) | мин / макс / сейчас |
| VOC | Фиолетовый | VOC-индекс (1–500) | мин / макс / сейчас |
| ВЕТЕР м/с | Жёлтый | Скорость ветра (RS485 анемометр) | мин / макс / сейчас |
Каждый график: линия с точками на отсчётах, вертикальные пунктирные тени, автомасштаб по оси Y. Данные хранятся в LP-SRAM (переживает перезагрузку), резервная копия — в SPIFFS и на SD-карте.
Медиаплеер
Доступ: свайп влево с экрана Датчики, или Настройки → плитка «Медиа».
Заголовок шапки: METEO P4 PLAYER (с двойным пробелом). Справа кнопка НАЗАД. Два режима источника — переключаются кнопками в верхней части левой панели.
Левая панель — статус
- Кнопки источника: SD CARD / WI-FI (активная подсвечена)
- «Art box» с иконкой источника (SD-карта или радио) и анимированные точки-частицы
- Заголовок
STATUS+ цветной dot + значение:Stopped/Playing/Paused/Connecting/Loading/Error/Backend offline - Строка Wi-Fi:
Wi-Fi offlineилиSSID/IP - Заголовок
ОЧЕРЕДЬ+ крупное-- / --(текущий трек / всего) - Подзаголовок названия трека/папки (DOT-обрезка)
Таймер сна (ТАЙМЕР СНА)
- Кнопки: 15 МИН, 30 МИН, 45 МИН, 1 ЧАС, X (отмена; ASCII-латинская
X, не Unicode-крест) - Строка «Сон: выкл» → «Сон: MM:SS» (минуты:секунды обратного отсчёта)
- Повтор: нет / трек / папка
Режим WI-FI RADIO
В заголовке показывается количество станций: «Wi-Fi N станций». Правая панель:
- Тип: WI-FI RADIO
- Название станции (крупно) и жанр (Internet Radio)
- URL потока
- Прогресс-бар буферизации
Режим SD CARD
В шапке центрального лейбла (динамическая мета) — счётчик папок. Правая панель содержит карточку Meta:
- Цветной лейбл типа источника: SD PLAYLIST
- Крупный заголовок трека (с DOT-обрезкой), сабтайтл исполнителя, лейбл альбома
- Прогресс-бар воспроизведения (слева — текущее время
0:00, справа — общее0:00) с анимированным бликом - Карточка плейлиста с заголовками колонок:
#/НАЗВАНИЕ/ИСПОЛНИТЕЛЬ/ВРЕМЯи прокручиваемым списком треков
Кнопки управления (общие для обоих режимов)
| Кнопка | Действие |
|---|---|
| << | Предыдущий трек / станция |
| PLAY | Воспроизведение / пауза (большая оранжевая круглая кнопка) |
| >> | Следующий трек / станция |
| STOP | Остановить воспроизведение |
| REP | Повтор (нет / трек / папка) |
| MIX | Режим последовательности (по порядку / случайно) |
| - / + | Громкость (ASCII-минус/плюс) — слайдер от 0 до 100 |
| НАЗАД | Вернуться на предыдущий экран |
Сценарии / Будильник
Доступ: чип СЦЕНАРИЙ в шапке Главного экрана. Заголовок шапки: METEO P4 | СЦЕНАРИИ, в центре имя текущего сценария, справа часы --:-- и кнопка НАЗАД.
Структура экрана
- Вкладки сценариев под шапкой:
Сцена 1…Сцена 4(MAX_SCENARIOS=4). - Левая карточка-редактор с двумя суб-вкладками: MEDIA и ЯРКОСТЬ, плюс справа кнопка ВКЛ / ВЫКЛ для активации сценария.
- Правая карточка ДНИ НЕДЕЛИ: 7 переключаемых кнопок
ПНВТСРЧТПТСБВС. - Нижняя широкая карточка АКТИВНЫЕ — список активных сценариев (или текст «Нет активных»).
Панель MEDIA
- Крупная индикация времени, кнопки
-/+с подписямиЧАСиМИН - Кнопки источника аудио: РАДИО / SD КАРТА
- Подпись СОН и три кнопки таймера сна:
1 мин,10 мин,30 мин
Панель ЯРКОСТЬ
- Профиль ДЕНЬ (жёлтый): время начала + процент яркости (по умолчанию 100%)
- Профиль НОЧЬ (синий): время начала + процент яркости (по умолчанию 25%)
Центр управления (Настройки)
Доступ: чип ⚙ в шапке Главного экрана или свайп влево с любого подэкрана настроек. Топбар: НАСТРОЙКИ.
Hero-блок: заголовок «Центр управления устройством»
Подсказка: «Плитки показывают текущий статус подсистем и ведут к связанным экранам.»
Плитки первого ряда (5 шт.)
| Плитка | Цвет | Подпись | Открывает |
|---|---|---|---|
| Интернет | Циан | «Wi-Fi, сеть, API и время» | Wi-Fi экран |
| Медиа | Синий | «Плеер, источники и воспроизведение» | Плеер |
| Сервис | Оранжевый | «GNSS, датчики и шины» | Экран Сервис |
| Диагностика | Зелёный | «Ошибки, reset и статус» | Экран Диагностика |
| Сервер | Циан (0x26C6DA) | «MQTT-телеметрия» | Экран MQTT |
Плитки второго ряда (5 шт.)
| Плитка | Цвет | Подпись | Открывает |
|---|---|---|---|
| Локальный прогноз | Жёлтый | «Погода, риски и видимость» | Локальный прогноз |
| Батарея | Бирюза (0x2FE6C8) | «Питание, заряд и состояние» | — (только статус) |
| LED-индикация | Циан | «Цвета статусов» | LED-индикация |
| GNSS | Фиолетовый | «Спутники, FIX и время» | Экран GNSS |
| О системе | Светло-голубой (0x8BC8FF) | «Информация и лицензии» | О системе |
Wi-Fi / Интернет
Доступ: чип Wi-Fi в шапке Главного экрана, или плитка «Интернет» в Настройках. Заголовок экрана в шапке: ИНТЕРНЕТ / WI-FI. Слева — кнопка НАЗАД.
Левая карточка — «Доступные сети»
- Заголовок карточки: Доступные сети
- Список SSID, отсортированных по сигналу (количество строк определяется
WIFI_UI_SCAN_ROWS) - Каждая строка:
*— защищённая сеть, SSID (DOT-обрезка), RSSI (дБм), 4-сегментный бар сигнала - Цветовые пороги RSSI (4 уровня): ≥ -65 дБм (зелёный), ≥ -75 (циан), ≥ -85 (жёлтый), < -85 (красный)
- Кнопка «Обновить» в верхнем правом углу — повторное сканирование
Правая карточка — «Подключение»
- Заголовок карточки: Подключение
- Строка 1:
Wi-Fi: SSID | IP-адресилиWi-Fi: выключен - Строка 2:
RSSI: дБм (оценка) | channel: N - Строка 3:
Auth: -- | PHY: -- | mode: STA - Двухстрочная подсказка: «Выберите сеть слева» + «Откроется экран пароля и клавиатуры»
- Строка состояния:
Готово к сканированию/Сканирование… - Кнопка «Выключить Wi-Fi» / «Включить Wi-Fi» (правый верхний угол карточки; меняет цвет и текст по состоянию)
Карточка «Скорость интернета»
Вложена в правую панель: заголовок Скорость интернета, кнопка «Тест сети» в верхнем углу, и стрелочный спидометр (LV scale, диапазон 0–30 Мбит/с, угол 225°) с тремя цветовыми зонами:
| Зона | Цвет | Скорость |
|---|---|---|
| Low speed | Красный | 0–10 Мбит/с |
| Normal speed | Синий | 10–20 Мбит/с |
| High speed | Зелёный | 20+ Мбит/с |
Кнопка «Тест сети» запускает измерение. Результат отображается цифрой (Мбит/с) и положением стрелки.
Подключение к сети
- Нажмите на нужную сеть в списке слева
- Откроется экран ввода пароля с экранной клавиатурой
- Введите пароль (доступны строчные/прописные, цифры, спецсимволы)
- Нажмите OK — устройство попытается подключиться
- Статус подключения отображается в правой панели
Экран Сервис
Доступ: Настройки → плитка «Сервис».
Подпись в нижней части экрана: «Экран обновляется автоматически. Живые и статические аппаратные данные платы.»
Экран состоит из 16 плиток, расположенных в четыре ряда по четыре. Каждая плитка имеет цветную рамку.
Ряд 1
| Плитка | Содержимое |
|---|---|
| ЖЕЛЕЗО | MCU: ESP32-P4 rev.X, N ядер Flash: 16 МБ | PSRAM: 27 МБ Int RAM: XXX КБ | DMA: XXX КБ |
| ПРОШИВКА | App: meteo_p4 N FW: p4 22.31.ХХХХ IDF: v6.0.1 Build: дата и время сборки |
| ПАМЯТЬ | Heap: свободно/всего КБ, использовано Int: свободно/всего КБ | DMA: XXX КБ PSRAM: свободно/всего КБ |
| ПИТАНИЕ | Vbat: XXX мВ | статус (покой/заряд/разряд) Pin ADC: XXX мВ | raw: XXXX Charge: X% | cal: on/off |
Ряд 2
| Плитка | Содержимое |
|---|---|
| СЕТЬ | Wi-Fi: SSID IP: X.X.X.X ETH: статус (готов, линк down / активен) |
| ДАТЧИКИ | Погода: ok/err | coord: GNSS/нет Улица T: ok/err | SHT30: ok/err RS485 ветер: ok/err | GNSS: FIX/NO FIX | X.X м/с |
| АУДИО | Volume: XX Codec: 44100 Гц, 16 бит, 2 кан. I2S: BCK GPIO | WS GPIO | DO GPIO | DI GPIO |
| SD / НАКОПИТЕЛИ | SD: смонтирована / не найдена Storage part: XXXX КБ Pins: D0–D3 с номерами GPIO |
Ряд 3
| Плитка | Содержимое |
|---|---|
| ДИСПЛЕЙ | LCD: 1024×600 MIPI-DSI Panel: JD9165 | Touch: GT911 Backlight: GPIOXX |
| C6 / GNSS | C6: SDIO активно UART ext: TX XX RX XX GNSS: TX XX RX XX | PPS: есть/нет |
| ШИНЫ И ПИНЫ | I2C: SDA X SCL X RGB: WS2812 GPIOXX | BL GPIOXX Сценарий: вкл/выкл | Яркость: XXX/X |
| UPTIME | Uptime: N d ЧЧ:ММ:СС Unix: XXXXXXXXXX Part: factory | XXXX КБ |
Ряд 4
| Плитка | Содержимое |
|---|---|
| INA226 / АКБ | Bus V | Load V I: X.X мА | P: X.X мВт | статус MFR: 0xXXXX DIE: 0xXXXX |
| СИСТЕМА | Tasks: N | Reset: причина | Heap min: XXXX КБ HWM(B): L=XXXX S=XXXX G=XXXX P=XXXX H=XXXX |
| OTA / РАЗДЕЛЫ | Running: factory @ 0xXXXXX Next OTA: нет (factory) / ota_0 State: N/A / Valid / Invalid |
| ВРЕМЯ / NTP | Текущее системное время, источник синхронизации, статус NTP |
Диагностика
Доступ: Настройки → плитка «Диагностика». Топбар: ДИАГНОСТИКА.
Экран состоит из 8 плиток (2 колонки × 4 ряда) с live-данными и подсказками:
| Плитка | Цвет |
|---|---|
| ПРИЧИНА ПОСЛЕДНЕЙ ПЕРЕЗАГРУЗКИ | Красный |
| ПАМЯТЬ / FREERTOS | Зелёный |
| ПИТАНИЕ / АКБ | Жёлтый |
| СЕТЬ | Синий |
| ДАТЧИКИ / GNSS | Фиолетовый |
| OTA / РАЗДЕЛЫ | Циан |
| ОШИБКИ / ПРИЧИНЫ | Оранжевый |
| ЧТО ПРОВЕРИТЬ | Оранжевый |
Футер-подсказка: «Диагностика показывает причину reset, live-состояние сети, датчиков и питания. Для PANIC/WDT сохраняйте UART-лог: UI видит итоговую причину, но не полный backtrace.»
О системе
Доступ: Настройки → плитка «О системе». Прокручиваемый текстовый отчёт со следующими секциями:
- ИДЕНТИФИКАЦИЯ И СБОРКА — чип ESP32-P4 rev, ядра, Flash 16 МБ, PSRAM, heap-сводка.
- СЕТЬ И ХРАНИЛИЩЕ — Wi-Fi online/offline + SSID, Ethernet, SD, factory-партиция (с адресом и размером), storage-партиция.
- ПИТАНИЕ И СОСТОЯНИЕ — Vbat, detect, raw ADC, процент, статус заряда («зарядка»/«покой/разряд»/«--»), uptime в
N d HH:MM:SS, Unix time, причина reset. - ДАТЧИКИ И СЛУЖБЫ — Погода ok/нет, GNSS-время, Улица T, Давление, CO2/VOC/NOx, Audio volume, OTA-статус.
- ПРАВООБЛАДАТЕЛЬ И УСЛОВИЯ ИСПОЛЬЗОВАНИЯ — Sergii Stelmakhovych / SRG BlackCore, версия лицензии прошивки 2.0, текст proprietary-лицензии.
- СТОРОННИЕ ЛИЦЕНЗИИ — список и ссылки на тексты лицензий: LVGL (MIT), ESP-IDF / BSP / esp_hosted / esp-audio-player / esp-libhelix-mp3 (Apache-2.0).
- Полный текст proprietary-лицензии (из вшитого
LICENSE_PROPRIETARY.txt).
LED-индикация
Доступ: Настройки → плитка «LED-индикация».
Топбар: LED-ИНДИКАЦИЯ. Карточка-интро: «Нижняя строка статуса» / «Каждый индикатор показывает текущее состояние подсистемы. Цвет и режим свечения зависят от состояния.»
Экран описывает нижнюю строку статуса Главного экрана — 10 индикаторов, каждый показывает состояние одной подсистемы.
| Индикатор | Подсистема | Состояния (слева — лучше, справа — хуже) | ||||
|---|---|---|---|---|---|---|
| WIFI | Состояние Wi-Fi | ● подключён | ● выкл./нет связи | |||
| ВРЕМЯ | Интернет, NTP, API | ● время синхр. | ● сеть без времени | ● ошибка API/NTP | ● нет сети | |
| GNSS | Навигация и FIX | ● FIX/PPS | ● FIX | ● без FIX | ● нет данных | |
| ПОГ. | Текущая погода | ● ясно | ● облачно | ● туман | ● дождь | ● снег ● гроза |
| ПРОГ. | Прогноз и риск | ● спокойно | ● облачно | ● снег | ● осадки/POP | ● ветер ● гроза |
| CO2 | Уровень CO₂ | ● < 800 ppm | ● 800–999 ppm | ● 1000–1399 | ● ≥ 1400 | |
| IAQ | Качество воздуха | ● норма | ● сухо | ● проветрить | ● плохой воздух | ● критично |
| ДАВЛ. | Тренд давления | ● стабильно | ● растёт | ● быстрый рост | ● падает | ● резкое падение |
| ПЛЕЕР | Плеер и сценарии | ● неактивно | ● сценарий | ● радио ● Spotify | ● рассвет | ● ошибка |
| РИСК | Тревоги и аварии | ● нет тревог | ● ошибка API | ● падение давл. | ● заморозок | ● авария / CO₂ |
Автоматические оповещения и пороги
| Оповещение / индикатор | Условие в коде |
|---|---|
| Высокий CO₂ (LED CO2) | Цветовые зоны: < 800 / 800-999 / 1000-1399 / ≥ 1400 ppm (см. LED-индикацию). Сигнальный порог в meteo_data: AIR_CRITICAL ≥ 1500 ppm. |
| Карточка «Проветрить сейчас» | CO₂ ≥ 1400 ppm с гистерезисом до 1350 (см. экран Датчики, уровень 1). |
| Падение давления | Δp ≥ −3 гПа за 3 часа (тренд «Быстро падает», RGB-зона давления). |
| Риск заморозков | В коде synoptic: SYN_FROST_TEMP_C = 2.0 °C — учитывается уличная температура (RS485 SHT30); влияет на LED-зону РИСК. |
MQTT-телеметрия (Сервер)
Доступ: плитка Сервер в Центре управления. Свайп вправо возвращает в Настройки. Компонент mqtt_telemetry публикует версию прошивки (mqtt_telemetry_set_firmware_version) и live-показания датчиков в брокер MQTT.
Хранение данных
| Хранилище | Что хранится | Примечание |
|---|---|---|
| NVS (Flash) | Настройки Wi-Fi, часовой пояс, калибровка SGP41, настройки аудио | Переживает перезагрузку и отключение питания |
| LP-SRAM (RTC) | Барограф 48 точек, история графиков, история прогноза | Переживает esp_restart() и WDT-сброс. НЕ переживает холодное включение |
| SPIFFS | Резервные копии графиков и истории прогноза | Восстанавливается после холодного старта |
| SD-карта (FAT32) | CSV/JSON лог датчиков, аудиофайлы | До 4 одновременных потоков |
Версия прошивки
Текущая версия прошивки отображается на экране Сервис в плитке ПРОШИВКА.
Формат версии: p4 ГГ.НН.ХХХХ
p4— платформа ESP32-P4ГГ— год (22 = 2022)НН— номер итерации / сборкиХХХХ— счётчик изменений исходного кода
Meteo P4 · Прошивка p4 22.31.0641 · ESP-IDF 6.0.1 · LVGL v9