Files
lasertag/doc/docs/planung.md
Eduard Iten ce4d0d1a44
All checks were successful
Deploy Docs / build-and-deploy (push) Successful in 22s
Added device types and vest mini app
2026-01-10 09:08:45 +01:00

4.6 KiB
Raw Permalink Blame History

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

Entwicklungs-Roadmap (Schritt-für-Schritt)

Diese Roadmap führt vom nRF52840DK bis zum fertigen Produkt.

Phase 1: Die "Tisch"-Basis (PoC)

Ziel: Stabile Thread-Kommunikation und IR-Signalerzeugung verifizieren.

  • Zephyr Setup: Installation des nRF Connect SDK (NCS) und VS Code.
  • Custom Board Definition: Board-File anlegen, das die Pins des nRF52840DK auf die geplanten Funktionen mappt (PWM für IR, GPIO für Buttons).
  • Thread Mesh: Minimalen OpenThread-Stack aufsetzen. Ein DK als Leader (FTD), einer als Child. UDP/CoAP-Ping bei Knopfdruck.
  • IR-Engine: Custom IR-Protokoll (pulse-distance, 38kHz) mit nrfx_pwm + PPI implementieren. Signal mit Oszilloskop/Logic Analyzer verifizieren. Sicherstellen, dass Funk die IR-Engine nicht stört. Hinweis: MilesTag2 wurde verworfen zugunsten eines eigenen, kürzeren Protokolls mit CRC8 (siehe Spezifikationen).

Phase 2: Der "Prototyp" (Integration)

Ziel: Einbindung von Audio und Solenoid.

  • Audio: MAX98357A am I2S-Interface. WAV-Player, der Samples aus internem Flash abspielt.
  • Solenoid-Treiber: MOSFET-Schaltung auf Breadboard. PWM-Logik für "Kick" (100% für 30ms) und "Hold" (30%). Thermik des Solenoids testen.
  • Haptik-Sync: Audio ("Bang!") und Solenoid-Kick in der Software synchronisieren.

Phase 3: Die "Optik & Sensorik" (Physik)

Ziel: Reichweitentest.

  • Linsen-Test: Oslon Black LED auf Star-Platine + Carclo/LEDiL-Linse justieren (Abstand exakt einhalten).
  • Sensor-Array: TSOP-Sensoren für die Weste verdrahten. Outdoor-Test bei Sonne. Software-Filterung anpassen, um Reflexions-Fehler zu minimieren.

Phase 4: Die "App & Logik" (System)

Ziel: Spielsteuerung.

  • BLE Gateway: Leader-Box sendet Thread-Statusdaten via BLE an Smartphone (Web Bluetooth API oder nRF Toolbox App).
  • Web App: Einfache HTML/JS-Seite, die via Web Bluetooth API mit dem Leader spricht, um ein Spiel zu starten ("Start Game" als Thread Broadcast).

Phase 5: Das "Custom PCB" (Hardware)

Ziel: Miniaturisierung.

  • Schaltplan: Schaltungen in KiCad übertragen. Trennung von Analog-GND (Sensoren) und Power-GND (Solenoid) beachten.
  • Layout: Antennenplatzierung/Impedanz anpassen; Testpunkte für SWD vorsehen (Debug).

Grobe Zeitachsen (Richtwerte)

Phase Ziel Dauer (Richtwert) Abhängigkeiten
1 Thread + IR PoC 12 Wochen HW: nRF52840DK, Logic-Analyzer
2 Audio + Solenoid 2 Wochen Phase 1 abgeschlossen
3 Optik & Sensorik 12 Wochen Phase 2 abgeschlossen, Outdoor-Tests
4 App & Steuerung 12 Wochen Phase 2 abgeschlossen, BLE-Gateway vorhanden
5 Custom PCB 34 Wochen Phasen 13 verifiziert, Schaltplan stabil

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)