Roadmap
All checks were successful
Deploy Docs / build-and-deploy (push) Successful in 31s

This commit is contained in:
2026-01-01 20:21:24 +01:00
parent c3ee05cda3
commit 567d7dc278
6 changed files with 1724 additions and 9 deletions

57
doc/docs/planung.md Normal file
View File

@@ -0,0 +1,57 @@
# Projekt: Lasertag Kommunikation (nRF52840)
Dieses Projekt beschreibt ein modulares Lasertag-System basierend auf dem nRF52840. Es nutzt **Dynamic Multiprotocol** (Bluetooth Low Energy & OpenThread), um eine nahtlose Kommunikation zwischen einer Weboberfläche (Game-Leader), Westen und Waffen zu ermöglichen.
## System-Architektur
* **Game-Leader:** Fungiert als Brücke (Bridge). Er kommuniziert via **BLE (Web Bluetooth)** mit einem Smartphone/Laptop und via **Thread (CoAP/UDP)** mit den Spielgeräten.
* **Westen/Waffen:** Reine Thread-Knoten, die Befehle empfangen und Statusmeldungen (Treffer) senden.
* **Bases:** Stationäre Geräte, die Spielmodi wie "Capture the Base" ermöglichen.
## Geplante Verzeichnisstruktur
Das Projekt ist als Zephyr-Workspace-Struktur angelegt, um Code-Redundanz zu vermeiden.
```text
lasertag/
├── apps/ # Applikations-spezifischer Code (Binaries)
│ ├── leader_base/ # Kombinierte Firmware für Game-Leader & Bases
│ ├── weapon/ # Firmware für die Waffen-Einheit
│ └── vest/ # Firmware für die Westen-Einheit
├── libs/ # Gemeinsame Bibliotheken (Zephyr Module)
│ ├── ble_mgmt/ # BLE Services & Advertising Profile
│ ├── thread_mgmt/ # CoAP Server/Client & Thread Stack Setup
│ └── game_logic/ # Treffer-Logik & Spielstatus-Management
├── boards/ # Custom Board Definitions (PCBs)
├── common/ # Gemeinsame Header (UUIDs, CoAP-Pfade, IDs)
└── scripts/ # Hilfsskripte (Provisioning, Shell-Tools)
```
## Roadmap
### Phase 1: Foundation (Struktur & Shell)
- [ ] Verzeichnisstruktur und `CMakeLists.txt` Verknüpfungen erstellen.
- [ ] Basis-Firmware mit **Zephyr Shell** zur Konfiguration.
- [ ] Implementierung von NVS (Non-Volatile Storage) zum Speichern von Gerätenamen und Team-IDs.
### Phase 2: Connectivity (BLE & Thread)
- [ ] **BLE-Provisioning:** Übertragung von Thread-Credentials via Bluetooth.
- [ ] **Thread-Setup:** Aufbau eines stabilen Mesh-Netzwerks zwischen Leader und Westen.
- [ ] **Web-Interface:** Verbindung der Chrome Web Bluetooth App mit dem Leader.
### Phase 3: Core Game Logic (CoAP Brücke)
- [ ] **Multicast-Broadcast:** "Spiel Start"-Kommando von Web-App -> Leader -> Thread-Mesh.
- [ ] **Unicast-Feedback:** Treffermeldung von Weste -> Leader -> Web-App.
- [ ] **Reliability:** Implementierung von CoAP Confirmable Messages für kritische Befehle (z. B. Waffe deaktivieren).
### Phase 4: Erweitert (Bases & NFC)
- [ ] **Rollen-Switch:** Leader-Hardware erkennt via GPIO (Schalter), ob sie als Base agiert.
- [ ] **Capture the Base:** Logik für Teambesitz und Zeitmessung.
- [ ] **NFC-Provisioning:** (Optional) Schnelles Zuweisen von IDs via Smartphone-NFC.
## Technologie-Stack
- **Hardware:** nRF52840 (DK & Custom PCBs)
- **OS:** Zephyr RTOS via nRF Connect SDK
- **Funk:** OpenThread (Mesh) & BLE 5.x
- **Protokolle:** CoAP über UDP, GATT (BLE)
- **Frontend:** Web Bluetooth API (JavaScript)