create CHANGELOG.md via Claude
This commit is contained in:
+191
@@ -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*
|
||||
Reference in New Issue
Block a user