Add root README with project overview and setup

This commit is contained in:
Kai
2026-02-13 10:13:36 +01:00
parent c742d74860
commit 664a23c48d

68
README.md Normal file
View File

@@ -0,0 +1,68 @@
# EVS - Embedded Voice System
ESP32-basierter Voice-Client mit:
- `INMP441` als Mikrofon (I2S)
- `PAM8403` als Verstärker (PWM-Audio vom ESP32)
- WebSocket-Audio-Streaming zur zentralen Bridge
- optionaler Home-Assistant/MQTT-Integration
## Ziel
Dieses Projekt bildet die Basis für eine lokale "Echo-Alternative":
- Audioaufnahme am ESP32
- Verarbeitung zentral (z. B. Home Assistant / Container)
- Audioantwort zurück an den ESP32-Lautsprecher
## Projektstruktur
- `src/main.cpp`: Firmware (Audio, WiFi, WebSocket, Modi)
- `include/secrets.h`: lokale Umgebungswerte (nicht versioniert)
- `include/secrets.example.h`: Vorlage für `secrets.h`
- `bridge/`: Dockerisierte EVS-Bridge (WebSocket + MQTT + HA-Hooks)
## Firmware-Modi
Serielle Kommandos (`115200 Baud`):
- `l` = Local Loopback (Mic direkt auf Speaker)
- `s` = Stream to Server (Audio zur Bridge)
- `i` = Idle
- `p` = Netzwerkstatus
- `h` = Hilfe
## Setup (ESP32)
1. `include/secrets.example.h` nach `include/secrets.h` kopieren.
2. In `include/secrets.h` setzen:
- WiFi-Zugang
- `EVS_BRIDGE_HOST`
- `EVS_WS_PORT`, `EVS_WS_PATH`
- `EVS_DEVICE_ID`
3. Firmware bauen/flashen:
```bash
pio run -e esp32dev_core2 -t upload
pio device monitor -b 115200
```
## Setup (Bridge)
1. In `bridge/` wechseln.
2. `.env.example` nach `.env` kopieren und Werte setzen.
3. Bridge starten:
```bash
docker compose up -d --build
```
Standard-WebSocket-Endpunkt:
- `ws://<bridge-host>:8765/audio`
## Audioformat
- PCM16LE
- Mono
- 16 kHz
## Hinweise
- `include/secrets.h` ist absichtlich in `.gitignore`.
- Für den Core-3-Test ist in `platformio.ini` eine eigene Environment vorbereitet.
- Details zur Bridge findest du in `bridge/README.md`.