diff --git a/README.md b/README.md index 1f956cb..773f945 100644 --- a/README.md +++ b/README.md @@ -6,22 +6,22 @@ STM32 Audio Analyzer — система реального времени для ## Архитектура -- **MCU (firmware)** +- **[MCU (firmware)](firmware/README.md)** - STM32F103C8T6, FreeRTOS, TinyUSB, CMSIS‑DSP. - ADC1 + DMA (circular, double‑buffer 2×512) с триггером от TIM3, частота дискретизации 22.05 кГц. - Обработка: удаление DC, RMS в dBFS, Hann‑окно, RFFT 512, поиск пика 100–8000 Гц. - Передача каждые 100 мс пакетом 12 байт по USB CDC. -- **Collector (Python)** +- **[Collector (Python)](services/collector/README.md)** - Читает бинарный протокол с /dev/ttyACM0, ресинхронизация по SOF=0xAA. - Проверка CRC‑8/ATM, диапазонов, подсчёт статистики ошибок. - Запись в 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`. - База: `audio_data` + непрерывный агрегат `audio_data_1min` (avg/max/min/доминирующая частота, доля тишины). -- **Frontend (React + Vite)** +- **[Frontend (React)](services/frontend/README.md)** - Live‑дашборд: вертикальный аудио‑метр, peak‑hold за 3 секунды, история частоты, текущая нота. - Источник данных — WebSocket `VITE_WS_URL`, REST для исторических запросов при необходимости.