Обновить README.md

This commit is contained in:
2025-12-29 01:46:48 +01:00
parent e61f4720bc
commit 104dc610f1

View File

@@ -6,22 +6,22 @@ STM32 Audio Analyzer — система реального времени для
## Архитектура ## Архитектура
- **MCU (firmware)** - **[MCU (firmware)](firmware/README.md)**
- STM32F103C8T6, FreeRTOS, TinyUSB, CMSISDSP. - STM32F103C8T6, FreeRTOS, TinyUSB, CMSISDSP.
- ADC1 + DMA (circular, doublebuffer 2×512) с триггером от TIM3, частота дискретизации 22.05 кГц. - ADC1 + DMA (circular, doublebuffer 2×512) с триггером от TIM3, частота дискретизации 22.05 кГц.
- Обработка: удаление DC, RMS в dBFS, Hannокно, RFFT 512, поиск пика 1008000 Гц. - Обработка: удаление DC, RMS в dBFS, Hannокно, RFFT 512, поиск пика 1008000 Гц.
- Передача каждые 100 мс пакетом 12 байт по USB CDC. - Передача каждые 100 мс пакетом 12 байт по USB CDC.
- **Collector (Python)** - **[Collector (Python)](services/collector/README.md)**
- Читает бинарный протокол с /dev/ttyACM0, ресинхронизация по SOF=0xAA. - Читает бинарный протокол с /dev/ttyACM0, ресинхронизация по SOF=0xAA.
- Проверка CRC8/ATM, диапазонов, подсчёт статистики ошибок. - Проверка CRC8/ATM, диапазонов, подсчёт статистики ошибок.
- Запись в TimescaleDB (`audio_data`), параллельно пушит JSON по WebSocket (`ws://…/ws/live`). - Запись в TimescaleDB (`audio_data`), параллельно пушит JSON по WebSocket (`ws://…/ws/live`).
- **API (FastAPI)** - **[API (FastAPI)](services/api/README.md)**
- REST `/api/v1/audio/latest|range|export/csv`, `/api/v1/stats/summary`, `/api/v1/events/loud`. - REST `/api/v1/audio/latest|range|export/csv`, `/api/v1/stats/summary`, `/api/v1/events/loud`.
- База: `audio_data` + непрерывный агрегат `audio_data_1min` (avg/max/min/доминирующая частота, доля тишины). - База: `audio_data` + непрерывный агрегат `audio_data_1min` (avg/max/min/доминирующая частота, доля тишины).
- **Frontend (React + Vite)** - **[Frontend (React)](services/frontend/README.md)**
- Liveдашборд: вертикальный аудио‑метр, peakhold за 3 секунды, история частоты, текущая нота. - Liveдашборд: вертикальный аудио‑метр, peakhold за 3 секунды, история частоты, текущая нота.
- Источник данных — WebSocket `VITE_WS_URL`, REST для исторических запросов при необходимости. - Источник данных — WebSocket `VITE_WS_URL`, REST для исторических запросов при необходимости.