Files
manure-removal-owen/CHANGELOG.md
T
2026-05-03 10:39:16 +00:00

192 lines
8.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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*