Compare commits

...
16 Commits
Author SHA1 Message Date
oskarvitaliiandClaude Opus 5 fec4c9be1a Merge dev into master: документация приведена в соответствие с кодом
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-18 12:10:49 +07:00
oskarvitaliiandClaude Opus 5 f25f24b6c5 docs: привести README в соответствие с реализацией
Сверка документации с кодом выявила четыре расхождения, все появились
после вчерашней правки протокола:

- схема в шапке и пример вывода агента показывали строку без ключа M,
  хотя агент его шлёт: человек сверил бы свой вывод с образцом и решил,
  что у него что-то не так;
- в таблице состава не были упомянуты кнопка и выбор экрана;
- формулировка "короткое нажатие" подразумевала различие с длинным,
  которого в коде нет.

Все 16 констант из таблицы настроек сверены с config.h, поведенческие
утверждения - с кодом, расход прошивки подтверждён сборкой: 26% и 4%.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-18 12:08:49 +07:00
oskarvitaliiandClaude Opus 5 2fd0a44555 Merge dev into master: экран памяти, кнопка BOOT и планы по видеокарте
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-17 19:58:01 +07:00
oskarvitaliiandClaude Opus 5 96df0465d5 Merge dev into master: сглаживание температуры и бэклог
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 00:42:59 +07:00
oskarvitaliiandClaude Opus 5 a006c45d98 Merge dev into master: значок процессора и обзорное изображение
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-14 23:29:48 +07:00
oskarvitaliiandClaude Opus 5 6c4cdb4605 Merge dev into master: индикатор температуры CPU на ESP32-C3
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-14 23:04:34 +07:00
oskarvitalii ac8a72b05d Merge dev into master: снимок веб-панели в документации 2026-08-08 09:32:58 +07:00
oskarvitalii 7a7075f6de Merge dev into master: исправлено описание поведения реле при загрузке
Документация утверждала, что реле при загрузке молчат. На собранном
приборе оба реле кратковременно моргают при перезагрузке; поведение
признано некритичным, прошивка не менялась, исправлен текст.
2026-08-08 01:55:23 +07:00
oskarvitalii f77ff376d4 Merge dev into master: переработанный интерфейс и текст события в webhook
Веб-панель переделана в световое табло: главный ответ читается с
расстояния, цвета по конвенции сигнальных ламп, настройки свёрнуты.
Исправлено: лампа выхода «Авария» горела зелёным при срабатывании,
обновление стирало ввод в форме, шрифты тянулись с Google Fonts и на
объекте не загружались.

Страница переехала во флеш (PROGMEM) и в отдельный файл web_page.h -
последнее вынужденно: генератор прототипов Arduino не понимает сырые
строковые литералы и ломался на JavaScript внутри.

OLED: верхняя строка отдана статусу кеглем 2, добавлено состояние реле.

В теле webhook поле status теперь содержит человеческую фразу
(«Насосы стоят, подачу держит резерв»), машиночитаемое значение
переехало в новое поле state.

Прошито и проверено на приборе: COM7, LOLIN D1 ESP-WROOM-02, 2MB FS:64KB.
2026-08-08 01:40:10 +07:00
oskarvitalii d53035a5ef Merge dev into master: pump_controller_8_2_OLED_DONE
Добавлен проект контроллера насосной станции на Wemos D1 mini вместе с
его историей: мониторинг двух основных и резервного насоса, два реле
аварий на D3/D4 (модули active-LOW), OLED, веб-панель с настройками и
состоянием реле, уведомления на HTTPS-webhook, настройки в LittleFS.

Также: .gitignore переведён на белый список, чтобы рабочий каталог
D:\Soft\Arduino мог служить рабочим деревом репозитория, не втягивая
в него старые версии скетчей, архивы и драйверы.
2026-08-07 23:20:29 +07:00
oskarvitaliiandClaude Opus 4.8 bda2ecb7a3 Merge dev into master: carousel dot fix
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-25 13:56:38 +07:00
oskarvitaliiandClaude Opus 4.8 208669d19f Merge dev into master: boot icon carousel
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-25 12:51:03 +07:00
oskarvitaliiandClaude Opus 4.8 68bdfdc879 Merge dev into master: RU/EN web interface + scrollable forecast log
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-25 11:27:09 +07:00
oskarvitaliiandClaude Opus 4.8 2bf49c14ac revert: restore pre-4b59b89 web server (drop chunked API + low-memory auto-reboot)
The chunked API handlers and the maxblock<6000 auto-restart from 4b59b89
broke the web UI on-device; restore the working String-based handlers and
plain loop while keeping the scrollable forecast log.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-21 08:48:25 +07:00
oskarvitaliiandClaude Opus 4.8 f8294d4aed feat(web): scrollable Forecast log with fixed height
Cap the log panel at ~216px with a thin themed scrollbar so a long
forecast history does not stretch the page.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-21 07:08:21 +07:00
oskarvitaliiandClaude Opus 4.8 4b59b8936b fix: stream large API responses to stop heap-exhaustion truncation
Serving /api/history (and /api/forecasts) built a ~12 KB String +
JsonDocument every 15 s; over days this fragmented the ESP8266 heap until
the TCP stack could no longer send a full response, causing the web page
to fail with ERR_CONTENT_LENGTH_MISMATCH. Stream both array endpoints via
chunked transfer (small stack buffer, no big allocations). Add free-heap
to /api/current and Serial, plus a low-memory safety restart (history is
persisted first).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-21 06:57:09 +07:00
2 changed files with 6 additions and 6 deletions

No files matched your search

+5 -5
View File
@@ -7,7 +7,7 @@
``` ```
LibreHardwareMonitorLib.dll ──> PowerShell-агент ──COM (USB CDC)──> ESP32-C3 ──I2C──> OLED 72×40 LibreHardwareMonitorLib.dll ──> PowerShell-агент ──COM (USB CDC)──> ESP32-C3 ──I2C──> OLED 72×40
(через драйвер PawnIO) раз в секунду "T=67.0;L=34" U8g2 (через драйвер PawnIO) раз в секунду "T=67.0;L=34;M=97" U8g2
``` ```
**Плата ничего не измеряет сама.** Она принимает готовые строки по USB и рисует **Плата ничего не измеряет сама.** Она принимает готовые строки по USB и рисует
@@ -173,8 +173,8 @@ powershell -ExecutionPolicy Bypass -File "D:\Soft\Arduino\CPU_temp\agent\cpu_tem
``` ```
connected: COM4 connected: COM4
T=47.0;L=24 T=47.0;L=24;M=97
T=48.0;L=14 T=48.0;L=14;M=97
``` ```
Одновременно на экране платы появится температура. Остановить — Ctrl+C. Одновременно на экране платы появится температура. Остановить — Ctrl+C.
@@ -286,7 +286,7 @@ Start-ScheduledTask -TaskName 'CPU Temp Agent'
## Что показывает экран ## Что показывает экран
Экранов два, переключаются коротким нажатием кнопки **BOOT**: Экранов два, переключаются нажатием кнопки **BOOT** (длительность не важна):
| Экран | Крупно | Мелко | График | | Экран | Крупно | Мелко | График |
|---|---|---|---| |---|---|---|---|
@@ -382,7 +382,7 @@ $sp.Close()
| Путь | Что это | | Путь | Что это |
|---|---| |---|---|
| `config.h` | все настройки | | `config.h` | все настройки |
| `CPU_temp.ino` | свежесть данных, гистерезис тревоги, светодиод | | `CPU_temp.ino` | свежесть данных, гистерезис тревоги, кнопка, выбор экрана, светодиод |
| `link.h` / `link.cpp` | неблокирующее чтение строки из Serial и её разбор | | `link.h` / `link.cpp` | неблокирующее чтение строки из Serial и её разбор |
| `ui.h` / `ui.cpp` | отрисовка через U8g2, кольцевой буфер истории, негатив | | `ui.h` / `ui.cpp` | отрисовка через U8g2, кольцевой буфер истории, негатив |
| `tools/i2c_scan/` | одноразовый скетч поиска пинов дисплея | | `tools/i2c_scan/` | одноразовый скетч поиска пинов дисплея |
+1 -1
View File
@@ -1,7 +1,7 @@
# Агент CPU Temp # Агент CPU Temp
Читает температуру и загрузку процессора и раз в секунду отдаёт их плате Читает температуру и загрузку процессора и раз в секунду отдаёт их плате
ESP32-C3 по USB-COM строкой вида `T=67.0;L=34`. ESP32-C3 по USB-COM строкой вида `T=67.0;L=34;M=97`.
## Что нужно установить ## Что нужно установить