create CHANGELOG.md via Claude

This commit is contained in:
2026-05-03 10:39:16 +00:00
parent d3f5b0b89d
commit 3e0304142a
+191
View File
@@ -0,0 +1,191 @@
# CHANGELOG — ACS Monitoring (СКУД + Датчики воды)
---
## [Unreleased] — 2026 Q2
- ⏳ Прошивка door-controller v2.0 ожидает первого деплоя на железо
- ⏳ Датчик воды v3.5.8 ожидает USB flash деплой
---
## [2026-02-10] — Прошивка СКУД v2.0 написана
### Добавлено
- `firmware/door-controller-v2.0/door_controller_v2.ino` — главный файл state machine
- `firmware/door-controller-v2.0/config.h` — GPIO пины, константы, структуры DeviceConfig
- `firmware/door-controller-v2.0/mqtt_handler.h` — MQTT клиент: provision, heartbeat, команды, batch sync
- `firmware/door-controller-v2.0/web_config.h` — AP Mode captive portal с тёмной темой (192.168.4.1)
- `firmware/door-controller-v2.0/wiegand_reader.h` — Wiegand 26/34 bit с проверкой чётности
- `firmware/door-controller-v2.0/card_cache.h` — NVS кеш до 10,000 карт
- `firmware/door-controller-v2.0/event_queue.h` — Offline очередь до 500 событий
- `firmware/door-controller-v2.0/README.md` — полная документация
### Возможности v2.0
- WiFi + MQTT связь с сервером
- Авторизация карт по локальному кешу (до 10,000)
- Offline режим: карты работают без WiFi, события копятся и синхронизируются
- AP Mode при первом запуске: `ACS-DOOR-XXXX`, 192.168.4.1
- OTA обновления
- Команды от сервера: open_door, close_door, reboot, factory_reset, sync_cards, set_door_duration
- Heartbeat каждые 30 сек (uptime, RSSI, free_heap, card_cache_count)
---
## [2026-02-09] — Завершение страниц СКУД
### Обновлено
- **AccessLogPage.tsx** — полная переработка:
- Группировка событий по дате (Сегодня / Вчера / дата)
- Сворачиваемые группы со счётчиком разрешённых/запрещённых
- Calendar picker с пресетами (Сегодня / Неделя / Месяц)
- Пагинация (load more, по 50 записей)
- Экспорт CSV с BOM для Excel
- Фильтр по устройству
- Сортировка новые/старые
- Цветовые бейджи по типу события
- Подсветка запрещённых проходов красным фоном
- **FirmwarePage.tsx** — добавлено:
- Удаление прошивки
- Модалка "Подробнее" (changelog, размер, дата)
- Переключение стабильная/бета (`toggleFirmwareStable`)
- Кнопка "Push OTA" на устройства (`pushFirmwareOTA`)
- **DevicesPage.tsx** — добавлено:
- Кнопка "Открыть дверь" прямо из карточки
- Настройка сети устройства (static IP / DHCP, gateway, DNS)
- Команды: перезагрузка, синхронизация карт, blink LED
- Dropdown обновления прошивки
- **AccessKeysPage.tsx** — добавлено:
- Интеграция со станцией регистрации (кнопка "Считать карту")
- Пагинация
- Фильтр по типу карты (RFID / RF)
- **EmployeesPage.tsx** — добавлено:
- Фильтр по отделу/должности
- Пагинация
### Деплой
```bash
cd /var/www/acs-monitoring/frontend && npm run build
# Сборка: 2708 модулей, 10.28с, 843 kB JS, 42 kB CSS
```
---
## [2026-02-09] — Backend API прошивок завершён
### Добавлено/завершено в `backend/src/api/firmware.ts`
- GET `/api/firmware` — список прошивок
- POST `/api/firmware` — добавить прошивку
- DELETE `/api/firmware/:id` — удалить
- PUT `/api/firmware/:id/toggle-stable` — стабильная/бета
- POST `/api/firmware/:id/push-ota` — OTA push на устройства
---
## [2026-02-09] — СКУД backend MQTT завершён
### Добавлено в `backend/src/mqtt/skud-handlers.ts`
- Обработчик `devices/provision` — активация нового устройства, запись в `devices`, отправка списка карт
- Обработчик `skud/{id}/status` — обновление `is_online`, `last_seen`, firmware_version
- Обработчик `skud/{id}/access` — запись в `access_events`, проверка прав
- Обработчик `skud/{id}/sync` — batch синхронизация offline событий
- Отправка команд через `skud/{id}/command`
- Топик `skud/{id}/provision/ack` с ответом + списком карт
---
## [2026-02-09] — Первые 5 страниц СКУД (базовая версия)
### Создано (первая версия)
- `AccessLogPage.tsx` — журнал с базовой таблицей
- `FirmwarePage.tsx` — список прошивок, загрузка
- `DevicesPage.tsx` — список дверей, статус online/offline
- `AccessKeysPage.tsx` — CRUD карт, привязка к сотруднику
- `EmployeesPage.tsx` — CRUD сотрудников, RF регистрация
- `DiscoveryPage.tsx` — поиск новых устройств
---
## [2026-02-09] — Сборка первого физического устройства
### Выполнено
- Получены все компоненты
- ESP32 DevKit 30-pin прошит прошивкой v1.0
- Mini560 настроен на 5.0V
- Wiegand считыватель подключён (GPIO 26/27)
- Реле подключено (GPIO 25)
- Кнопка выхода (GPIO 33)
- Тест: считыватель читает карты (любая карта открывает — тестовый режим v1.0)
---
## [2026-01-30] — Прошивка СКУД v1.0 (тестовая)
### Добавлено
- `firmware/door-controller-v1.0/` — тестовая прошивка
- Wiegand RFID 26/34 bit
- Управление реле (замок)
- Кнопка выхода (GPIO прерывание)
- Serial Monitor логи
- Автотесты компонентов при старте
- **⚠️ Открывает дверь для ЛЮБОЙ карты** — только для тестирования
---
## [2026-01-30] — Схема подключения и документация
### Добавлено
- Схема подключения ESP32 ↔ Wiegand ↔ Реле ↔ Замок ↔ БП ↔ АКБ
- Распиновка ESP32 DevKit 30-pin
- Чеклист сборки
- Инструкция по прошивке
- `TROUBLESHOOTING.md`
---
## [2026-01-28] — Проектирование БД и веб-панели
### Добавлено
- SQL схема 6 таблиц: employees, access_keys, devices, access_log, firmware, remote_controls
- Структура веб-панели: раздел СКУД в боковом меню
- Обсуждение шлагбаумов, RF брелоков, станции регистрации
- MQTT топики и протокол взаимодействия
---
## [2026-01-14] — Начало проекта СКУД
### Добавлено
- Архитектурное решение: ESP32 на каждую дверь + Wiegand RFID
- Список компонентов для 1 двери (~4 750 ₽)
- Заказ компонентов (15 дверей)
- Интеграция с существующей системой ACS Monitoring
---
## История (датчики воды)
### [2026-01-20] — Прошивка датчика воды v3.5.8
- **journal-first архитектура**: запись в SPIFFS перед MQTT
- Монотонные счётчики для дедупликации
- FIFO очередь неотправленных показаний
- `isFresh` логика на backend (заменила `isJournal`)
- Исправлен timezone bug (3-часовой offset → pure UTC NTP)
- Устранены аномальные показания > 900 л/мин
### [2026-01-18] — Прошивка датчика воды v3.5.x
- Non-blocking file scanning (исправлены lockups MQTT keepalive)
- Batch processing файлов журнала
- Оптимизация OTA — исправлено зависание при обновлении
### [2026-01-01] — Датчики воды v3.3.2 (стабильная)
- Базовая версия с MQTT reporting
- `firmware/water-sensor-v3.3.2/acs_sensor_v3.3.2.ino`
---
*Обновлено: май 2026*