All checks were successful
Deploy Docs / build-and-deploy (push) Successful in 31s
3.0 KiB
3.0 KiB
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.
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.txtVerknü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)