Files
lasertag/doc/docs/planung.md
Eduard Iten 567d7dc278
All checks were successful
Deploy Docs / build-and-deploy (push) Successful in 31s
Roadmap
2026-01-01 20:21:24 +01:00

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.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)