Add Manual
This commit is contained in:
674
Bedienungsanleitung_NinjaCross_Timer.html
Normal file
674
Bedienungsanleitung_NinjaCross_Timer.html
Normal file
@@ -0,0 +1,674 @@
|
||||
<!DOCTYPE html>
|
||||
<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>NinjaCross Timer - Bedienungsanleitung</title>
|
||||
<!--[if gte mso 9]>
|
||||
<xml>
|
||||
<w:WordDocument>
|
||||
<w:View>Print</w:View>
|
||||
<w:Zoom>90</w:Zoom>
|
||||
<w:DoNotOptimizeForBrowser/>
|
||||
</w:WordDocument>
|
||||
</xml>
|
||||
<![endif]-->
|
||||
<style>
|
||||
body { font-family: Arial, sans-serif; }
|
||||
h1 { color: #2c3e50; border-bottom: 3px solid #3498db; padding-bottom: 10px; }
|
||||
h2 { color: #34495e; margin-top: 30px; }
|
||||
h3 { color: #555; }
|
||||
ul { line-height: 1.8; }
|
||||
ol { line-height: 1.8; }
|
||||
code { background-color: #f4f4f4; padding: 2px 6px; border-radius: 3px; }
|
||||
.warning { background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 15px; margin: 15px 0; }
|
||||
.info { background-color: #d1ecf1; border-left: 4px solid #0dcaf0; padding: 15px; margin: 15px 0; }
|
||||
.success { background-color: #d4edda; border-left: 4px solid #28a745; padding: 15px; margin: 15px 0; }
|
||||
table { border-collapse: collapse; width: 100%; margin: 15px 0; }
|
||||
table th, table td { border: 1px solid #ddd; padding: 12px; text-align: left; }
|
||||
table th { background-color: #3498db; color: white; }
|
||||
table tr:nth-child(even) { background-color: #f2f2f2; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<h1>NinjaCross Timer - Bedienungsanleitung</h1>
|
||||
|
||||
<div class="info">
|
||||
<p><strong>Version:</strong> 1.0</p>
|
||||
<p><strong>Hersteller:</strong> AquaMaster MQTT</p>
|
||||
<p><strong>Datum:</strong> 2024</p>
|
||||
</div>
|
||||
|
||||
<h2>1. Einleitung</h2>
|
||||
|
||||
<p>Der NinjaCross Timer ist ein professionelles Zeitmessgerät für Ninjacross-Wettkämpfe. Das System ermöglicht die präzise Zeitmessung für bis zu zwei Bahnen gleichzeitig und bietet zahlreiche Features wie RFID-Erkennung, lokales Leaderboard und Internet-Konnektivität über WiFi und MQTT.</p>
|
||||
|
||||
<h2>2. Systemübersicht</h2>
|
||||
|
||||
<h3>2.1 Komponenten</h3>
|
||||
|
||||
<ul>
|
||||
<li><strong>ESP32 Master</strong>: Hauptprozessor mit Web-Interface</li>
|
||||
<li><strong>4 Wireless-Buttons</strong>: Start/Stop Buttons für 2 Bahnen</li>
|
||||
<li><strong>RFID-Reader</strong>: Optional - für Nutzeridentifikation</li>
|
||||
<li><strong>Internet-Verbindung</strong>: Über WiFi für Cloud-Synchronisation</li>
|
||||
</ul>
|
||||
|
||||
<h3>2.2 Anzeigen und Status</h3>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Komponente</th>
|
||||
<th>Beschreibung</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Heartbeat-Indikatoren</td>
|
||||
<td>4 grüne/rote Punkte zeigen die Verbindung der Buttons an (Start1, Stop1, Start2, Stop2)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Timer-Anzeige</td>
|
||||
<td>Live-Zeit für beide Bahnen</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Status-Anzeige</td>
|
||||
<td>Bereit, Läuft, Geschafft, Standby</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Leaderboard</td>
|
||||
<td>Top 6 Zeiten lokal gespeichert</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Batterie-Warnung</td>
|
||||
<td>Banner bei niedriger Batterie der Buttons</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h2>3. Erste Inbetriebnahme</h2>
|
||||
|
||||
<h3>3.1 Einschalten und Netzwerkverbindung</h3>
|
||||
|
||||
<ol>
|
||||
<li><strong>Einschalten</strong>: Master einschalten</li>
|
||||
<li><strong>Access Point finden</strong>: Suchen Sie nach dem WiFi-Netzwerk mit dem Namen <code>NinjaCross-XXXXX</code> (die letzten Zeichen sind eindeutig für Ihr Gerät)</li>
|
||||
<li><strong>Verbinden</strong>: Das Netzwerk ist standardmäßig ohne Passwort</li>
|
||||
<li><strong>IP-Adresse</strong>: Das Gerät hat die feste IP <code>192.168.10.1</code></li>
|
||||
<li><strong>Alternative</strong>: Sie können auch <code>ninjacross.local</code> im Browser verwenden (mDNS)</li>
|
||||
</ol>
|
||||
|
||||
<div class="warning">
|
||||
<p><strong>Wichtig:</strong> Der Access Point benötigt kein Passwort.</p>
|
||||
</div>
|
||||
|
||||
<h3>3.2 Web-Interface öffnen</h3>
|
||||
|
||||
<p>Öffnen Sie Ihren Webbrowser und geben Sie eine der folgenden Adressen ein:</p>
|
||||
|
||||
<ul>
|
||||
<li><code>http://192.168.10.1</code> (direkte IP)</li>
|
||||
<li><code>http://ninjacross.local</code> (falls mDNS unterstützt wird)</li>
|
||||
</ul>
|
||||
|
||||
<h2>4. Hauptoberfläche</h2>
|
||||
|
||||
<h3>4.1 Timer-Ansicht</h3>
|
||||
|
||||
<p>Die Hauptseite zeigt:</p>
|
||||
|
||||
<ul>
|
||||
<li><strong>Bahn 1</strong>: Links - Timer und Status</li>
|
||||
<li><strong>Bahn 2</strong>: Rechts - Timer und Status</li>
|
||||
<li><strong>Heartbeat-Indikatoren</strong>: Oben - Verbindungsstatus der Buttons</li>
|
||||
<li><strong>Leaderboard</strong>: Unten - Top 6 lokale Zeiten</li>
|
||||
<li><strong>Navigation</strong>:
|
||||
<ul>
|
||||
<li>🏆 = Leaderboard (Volansicht)</li>
|
||||
<li>⚙️ = Einstellungen</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>4.2 Timer-Bedienung</h3>
|
||||
|
||||
<ol>
|
||||
<li><strong>Standby</strong>: "Drücke beide Buttons einmal" - Buttons initialisieren</li>
|
||||
<li><strong>Bereit</strong>: Beide Buttons sind verbunden (grüne Heartbeats)</li>
|
||||
<li><strong>Armiert</strong>: Startbutton gedrückt - Timer startet bei freigegebenem Button</li>
|
||||
<li><strong>Läuft</strong>: Timer läuft - Zeit wird live angezeigt</li>
|
||||
<li><strong>Geschafft</strong>: Stop-Button gedrückt - Zeit wird gespeichert</li>
|
||||
</ol>
|
||||
|
||||
<div class="info">
|
||||
<p><strong>Tipp:</strong> Die Anzeige blendet automatisch die Schwimmer-Namen ein, wenn sie via RFID erkannt werden.</p>
|
||||
</div>
|
||||
|
||||
<h2>5. Button-Konfiguration</h2>
|
||||
|
||||
<h3>5.1 Anlernmodus</h3>
|
||||
|
||||
<p>Der erste Schritt ist das Anlernen Ihrer Wireless-Buttons:</p>
|
||||
|
||||
<ol>
|
||||
<li>Öffnen Sie die <strong>Einstellungen</strong> (⚙️)</li>
|
||||
<li>Scrollen Sie zu <strong>"Button-Konfiguration"</strong></li>
|
||||
<li>Klicken Sie auf <strong>"🎯 Anlernmodus starten"</strong></li>
|
||||
<li>Folgen Sie den Anweisungen:
|
||||
<ol>
|
||||
<li>Drücken Sie den Button für <strong>Bahn 1 Start</strong></li>
|
||||
<li>Drücken Sie den Button für <strong>Bahn 1 Stop</strong></li>
|
||||
<li>Drücken Sie den Button für <strong>Bahn 2 Start</strong></li>
|
||||
<li>Drücken Sie den Button für <strong>Bahn 2 Stop</strong></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Die Anzeige zeigt automatisch an, welchen Button Sie drücken müssen</li>
|
||||
<li>Nach erfolgreicher Konfiguration erhalten Sie eine Bestätigung</li>
|
||||
</ol>
|
||||
|
||||
<div class="success">
|
||||
<p><strong>Erfolg:</strong> Nach dem Anlernen sollten alle 4 Heartbeat-Indikatoren grün leuchten.</p>
|
||||
</div>
|
||||
|
||||
<h3>5.2 Buttons verlernen</h3>
|
||||
|
||||
<p>Um alle Button-Zuweisungen zu löschen:</p>
|
||||
|
||||
<ol>
|
||||
<li>Einstellungen öffnen</li>
|
||||
<li>"❌ Buttons verlernen" klicken</li>
|
||||
<li>Bestätigung erfordert</li>
|
||||
</ol>
|
||||
|
||||
<h3>5.3 Button-Status anzeigen</h3>
|
||||
|
||||
<p>Klicken Sie auf <strong>"📊 Button-Status anzeigen"</strong> um zu sehen:</p>
|
||||
|
||||
<ul>
|
||||
<li>Welche Buttons konfiguriert sind</li>
|
||||
<li>Batteriestand jedes Buttons in Prozent</li>
|
||||
</ul>
|
||||
|
||||
<h2>6. RFID-Benutzerverwaltung</h2>
|
||||
|
||||
<h3>6.1 RFID-Karte registrieren</h3>
|
||||
|
||||
<p>Die RFID-Funktion ermöglicht die automatische Zuordnung von Zeiten zu Nutzern:</p>
|
||||
|
||||
<ol>
|
||||
<li>Öffnen Sie <strong>"RFID"</strong> (🏷️) aus dem Einstellungsmenü</li>
|
||||
<li>Klicken Sie auf <strong>"📡 Read Chip"</strong></li>
|
||||
<li>Halten Sie die RFID-Karte an den Reader des Masters</li>
|
||||
<li>Die UID wird automatisch eingefügt</li>
|
||||
<li>Geben Sie den <strong>Namen</strong> ein</li>
|
||||
<li>Klicken Sie auf <strong>"💾 Speichern"</strong></li>
|
||||
</ol>
|
||||
|
||||
<div class="info">
|
||||
<p><strong>Funktionsweise:</strong> Beim nächsten Scannen der RFID-Karte an einem Button wird automatisch der Name angezeigt und die Zeit diesem Nutzer zugeordnet.</p>
|
||||
</div>
|
||||
|
||||
<h3>6.2 Kontinuierliches Lesen</h3>
|
||||
|
||||
<p>Der "Read Chip" Button startet einen kontinuierlichen Lesemodus:</p>
|
||||
|
||||
<ul>
|
||||
<li>Statusleiste zeigt: "RFID Lesen gestartet - Karte auflegen!"</li>
|
||||
<li>Alle erkannten Karten werden automatisch übernommen</li>
|
||||
<li>Nach erfolgreichem Lesen wird die Eingabe fokussiert</li>
|
||||
</ul>
|
||||
|
||||
<h2>7. Einstellungen</h2>
|
||||
|
||||
<h3>7.1 Datum & Uhrzeit</h3>
|
||||
|
||||
<p>Die Uhrzeit kann manuell oder automatisch gesetzt werden:</p>
|
||||
|
||||
<ul>
|
||||
<li><strong>Manuell</strong>: Datum und Uhrzeit eingeben, dann "🕐 Uhrzeit setzen"</li>
|
||||
<li><strong>Automatisch</strong>: "💻 Browser-Zeit übernehmen" verwendet die Zeit Ihres Computers</li>
|
||||
</ul>
|
||||
|
||||
<h3>7.2 Modus</h3>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Modus</th>
|
||||
<th>Beschreibung</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>👤 Individual</td>
|
||||
<td>Beide Bahnen arbeiten unabhängig - ideale für Training</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>🏆 Wettkampf</td>
|
||||
<td>Beide Bahnen starten synchron - für Wettkämpfe</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h3>7.3 Lane-Konfiguration</h3>
|
||||
|
||||
<p>Die Bahnen können identisch oder unterschiedlich konfiguriert werden:</p>
|
||||
|
||||
<ul>
|
||||
<li><strong>⚖️ Identische Lanes</strong>: Beide Bahnen sind gleich</li>
|
||||
<li><strong>⚡ Unterschiedliche Lanes</strong>: Bahnen mit unterschiedlichen Schwierigkeiten
|
||||
<ul>
|
||||
<li>🟢 Leicht: Standard-Konfiguration</li>
|
||||
<li>🔴 Schwer: Anspruchsvollere Hindernisse</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>7.4 Grundeinstellungen</h3>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Einstellung</th>
|
||||
<th>Standard</th>
|
||||
<th>Beschreibung</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Maximale Zeit</td>
|
||||
<td>300 Sekunden</td>
|
||||
<td>Nach dieser Zeit wird eine Bahn automatisch zurückgesetzt</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Anzeigedauer</td>
|
||||
<td>20 Sekunden</td>
|
||||
<td>Wie lange die letzte Zeit angezeigt bleibt</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Min. Zeit Leaderboard</td>
|
||||
<td>5 Sekunden</td>
|
||||
<td>Zeiten unter diesem Wert werden nicht gespeichert (Missbrauchsschutz)</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h3>7.5 WLAN-Konfiguration (Lizenz Level 3 erforderlich)</h3>
|
||||
|
||||
<div class="warning">
|
||||
<p><strong>Wichtig:</strong> Um das System mit einem bestehenden WLAN zu verbinden wird eine Lizenz Level 3 oder höher.</p>
|
||||
</div>
|
||||
|
||||
<p>Zur Konfiguration:</p>
|
||||
|
||||
<ol>
|
||||
<li>WLAN Name (SSID) eingeben</li>
|
||||
<li>WLAN Passwort eingeben</li>
|
||||
<li>Aktueller STA IP-Status wird angezeigt</li>
|
||||
<li>Nach dem Speichern startet das Gerät neu</li>
|
||||
</ol>
|
||||
|
||||
<div class="info">
|
||||
<p><strong>Dual-Mode:</strong> Das Gerät kann gleichzeitig Access Point (für direkte Verbindung) und WiFi Station (für Internet) betreiben.</p>
|
||||
</div>
|
||||
|
||||
<h3>7.6 Standort (Lizenz Level 3 erforderlich)</h3>
|
||||
|
||||
<p>Wählen Sie Ihren Standort aus einem Dropdown-Menü:</p>
|
||||
|
||||
<ul>
|
||||
<li>Beim Eingeben einer gültigen Lizenz werden verfügbare Standorte aus der API geladen</li>
|
||||
<li>Ohne Lizenz werden Fallback-Standorte angezeigt</li>
|
||||
<li>Der gewählte Standort wird lokal gespeichert</li>
|
||||
</ul>
|
||||
|
||||
<h3>7.7 OTA Update (Lizenz Level 2 erforderlich)</h3>
|
||||
|
||||
<div class="warning">
|
||||
<p><strong>Lizenz erforderlich:</strong> OTA-Updates benötigen Lizenz Level 2 oder höher.</p>
|
||||
</div>
|
||||
|
||||
<ol>
|
||||
<li>Klicken Sie auf <strong>"🔄 Update durchführen"</strong></li>
|
||||
<li>Bestätigen Sie die Abfrage</li>
|
||||
<li>Das Gerät lädt die neueste Firmware herunter und installiert sie automatisch</li>
|
||||
<li>Während des Updates darf der Strom nicht unterbrochen werden!</li>
|
||||
</ol>
|
||||
|
||||
<h3>7.8 Buttons Updaten</h3>
|
||||
|
||||
<p>Sendet eine Update-Nachricht über MQTT an alle konfigurierten Buttons:</p>
|
||||
|
||||
<ol>
|
||||
<li>Klicken Sie auf <strong>"📡 Buttons Updaten"</strong></li>
|
||||
<li>Die Buttons erhalten die aktuelle Konfiguration</li>
|
||||
<li>Nutzen Sie dies nach Button-Wartung oder Konfigurationsänderungen</li>
|
||||
</ol>
|
||||
|
||||
<h2>8. Leaderboard</h2>
|
||||
|
||||
<h3>8.1 Lokales Leaderboard</h3>
|
||||
|
||||
<p>Die Hauptseite zeigt die Top 6 Zeiten:</p>
|
||||
|
||||
<ul>
|
||||
<li>🏆 Gold für Platz 1</li>
|
||||
<li>🥈 Silber für Platz 2</li>
|
||||
<li>🥉 Bronze für Platz 3</li>
|
||||
<li>Platz 4-6 in Standard-Darstellung</li>
|
||||
</ul>
|
||||
|
||||
<h3>8.2 Volle Leaderboard-Ansicht</h3>
|
||||
|
||||
<p>Öffnen Sie die Leaderboard-Seite (🏆):</p>
|
||||
|
||||
<ul>
|
||||
<li>Zeigt alle erfassten Zeiten</li>
|
||||
<li>Gruppiert in 2 Zeilen zu je 5 Einträgen</li>
|
||||
<li>Wird alle 5 Sekunden automatisch aktualisiert</li>
|
||||
</ul>
|
||||
|
||||
<h3>8.3 Beste Zeiten zurücksetzen</h3>
|
||||
|
||||
<p>Einstellungen → "🏆 Zeiten verwalten" → "🔄 Beste Zeiten zurücksetzen"</p>
|
||||
|
||||
<div class="warning">
|
||||
<p><strong>Achtung:</strong> Diese Aktion kann nicht rückgängig gemacht werden!</p>
|
||||
</div>
|
||||
|
||||
<h2>9. System-Information</h2>
|
||||
|
||||
<p>Die Einstellungsseite zeigt folgende Systemdaten:</p>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Information</th>
|
||||
<th>Beschreibung</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>IP-Adresse</td>
|
||||
<td>Access Point IP (meist 192.168.10.1)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Kanal</td>
|
||||
<td>WiFi-Kanal</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>MAC-Adresse</td>
|
||||
<td>Eindeutige Geräte-ID</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Internet</td>
|
||||
<td>Ja/Nein - Verbindung zum Internet</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Freier Speicher</td>
|
||||
<td>Verfügbarer RAM in Bytes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Verbundene Buttons</td>
|
||||
<td>Anzahl konfigurierter Buttons (0-4)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Lizenz gültig</td>
|
||||
<td>Status der Lizenz</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Lizenz Level</td>
|
||||
<td>0-3 - Bestimmt verfügbare Features</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h2>10. Lizenz-System</h2>
|
||||
|
||||
<h3>10.1 Lizenz-Level</h3>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Level</th>
|
||||
<th>Features</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>0 (Basis)</td>
|
||||
<td>Standard-Timer, lokales Leaderboard, RFID</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>1</td>
|
||||
<td>Alle Level 0 Features</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2</td>
|
||||
<td>Level 1 + OTA Updates</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>3</td>
|
||||
<td>Level 2 + WLAN-Station Mode, Standort-Konfiguration</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h3>10.2 Lizenz eingeben</h3>
|
||||
|
||||
<ol>
|
||||
<li>Einstellungen → "🔧 Lizenz"</li>
|
||||
<li>Lizenzschlüssel eingeben</li>
|
||||
<li>"💾 Lizenz speichern" klicken</li>
|
||||
<li>System-Information aktualisiert sich automatisch</li>
|
||||
</ol>
|
||||
|
||||
<h2>11. Batterie-Überwachung</h2>
|
||||
|
||||
<p>Das System überwacht kontinuierlich die Batteriestände der Wireless-Buttons:</p>
|
||||
|
||||
<ul>
|
||||
<li><strong>Warnung</strong>: Bei Batteriestand ≤ 15% erscheint ein Banner</li>
|
||||
<li><strong>Anzeige</strong>: "⚠️ Niedrige Batterie erkannt!" mit Geräteliste</li>
|
||||
<li><strong>Detailliert</strong>: Über Button-Status-Anzeige werden alle Batteriestände angezeigt</li>
|
||||
</ul>
|
||||
|
||||
<div class="info">
|
||||
<p><strong>Tipp:</strong> Der Banner blendet automatisch aus, sobald alle Batterien wieder über 15% sind.</p>
|
||||
</div>
|
||||
|
||||
<h2>12. API & Technische Details</h2>
|
||||
|
||||
<h3>12.1 API-Endpunkte</h3>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Endpoint</th>
|
||||
<th>Method</th>
|
||||
<th>Funktion</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>/api/data</td>
|
||||
<td>GET</td>
|
||||
<td>Timer und Status abrufen</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>/api/reset-best</td>
|
||||
<td>POST</td>
|
||||
<td>Beste Zeiten zurücksetzen</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>/api/start-learning</td>
|
||||
<td>POST</td>
|
||||
<td>Anlernmodus starten</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>/api/learn/status</td>
|
||||
<td>GET</td>
|
||||
<td>Anlern-Status abrufen</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>/api/buttons/status</td>
|
||||
<td>GET</td>
|
||||
<td>Button-Konfiguration und Batterie</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>/api/set-max-time</td>
|
||||
<td>POST</td>
|
||||
<td>Timer-Einstellungen setzen</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>/api/get-settings</td>
|
||||
<td>GET</td>
|
||||
<td>Einstellungen abrufen</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>/api/set-wifi</td>
|
||||
<td>POST</td>
|
||||
<td>WiFi konfigurieren</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>/api/set-mode</td>
|
||||
<td>POST</td>
|
||||
<td>Modus setzen (Individual/Wettkampf)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>/api/info</td>
|
||||
<td>GET</td>
|
||||
<td>System-Informationen</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>/ws</td>
|
||||
<td>WebSocket</td>
|
||||
<td>Live-Updates für Timer</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h3>12.2 WebSocket-Daten</h3>
|
||||
|
||||
<p>Der WebSocket liefert Echtzeit-Updates:</p>
|
||||
|
||||
<ul>
|
||||
<li>Button-Status und Heartbeats</li>
|
||||
<li>Timer-Daten (live)</li>
|
||||
<li>RFID-Erkennung</li>
|
||||
<li>Batterie-Status</li>
|
||||
</ul>
|
||||
|
||||
<h2>13. Troubleshooting</h2>
|
||||
|
||||
<h3>13.1 Buttons verbinden sich nicht</h3>
|
||||
|
||||
<ul>
|
||||
<li><strong>Heartbeat rot</strong>: Button außerhalb der Reichweite oder Batterie leer</li>
|
||||
<li><strong>Lösung</strong>: Batterien prüfen, Button näher zum Master bringen</li>
|
||||
<li><strong>Neu anlernen</strong>: Einstellungen → Buttons verlernen → Anlernmodus starten</li>
|
||||
</ul>
|
||||
|
||||
<h3>13.2 WiFi-Verbindung funktioniert nicht</h3>
|
||||
|
||||
<ul>
|
||||
<li>Standard: Nutzen Sie den Access Point <code>NinjaCross-XXXXX</code></li>
|
||||
<li>Mit Lizenz Level 3: Konfigurieren Sie das WLAN in den Einstellungen</li>
|
||||
<li>Falls Netzwerk nicht gefunden wird: Gerät neustarten</li>
|
||||
</ul>
|
||||
|
||||
<h3>13.3 IP-Adresse unbekannt</h3>
|
||||
|
||||
<ul>
|
||||
<li><code>192.168.10.1</code> ist die Standard IP</li>
|
||||
<li>Alternative: <code>ninjacross.local</code></li>
|
||||
<li>Router-Konfiguration: DHCP-Range darf 192.168.10.1 nicht blocken</li>
|
||||
</ul>
|
||||
|
||||
<h3>13.4 Timer startet nicht</h3>
|
||||
|
||||
<ul>
|
||||
<li>Prüfen Sie alle 4 Heartbeat-Indikatoren (müssen grün sein)</li>
|
||||
<li>Start-Button muss vor dem Drücken des Stop-Buttons gedrückt werden</li>
|
||||
<li>Bahn muss "Bereit" Status zeigen</li>
|
||||
</ul>
|
||||
|
||||
<h3>13.5 RFID wird nicht erkannt</h3>
|
||||
|
||||
<ul>
|
||||
<li>RFID-Lesemodus aktivieren: "📡 Read Chip" klicken</li>
|
||||
<li>Karte langsam über den Reader führen</li>
|
||||
<li>Neu versuchen wenn nach 5 Sekunden nichts passiert</li>
|
||||
</ul>
|
||||
|
||||
<div class="warning">
|
||||
<p><strong>Wichtig:</strong> Bei andauernden Problemen Gerät neustarten oder Support kontaktieren.</p>
|
||||
</div>
|
||||
|
||||
<h2>14. Wartung</h2>
|
||||
|
||||
<h3>14.1 Regelmäßige Wartung</h3>
|
||||
|
||||
<ul>
|
||||
<li><strong>Täglich</strong>: Batteriestände prüfen</li>
|
||||
<li><strong>Wöchentlich</strong>: Leaderboard zurücksetzen (falls gewünscht)</li>
|
||||
<li><strong>Monatlich</strong>: OTA Update prüfen</li>
|
||||
<li><strong>Jährlich</strong>: Firmware aktualisieren</li>
|
||||
</ul>
|
||||
|
||||
<h3>14.2 Firmware-Updates</h3>
|
||||
|
||||
<ol>
|
||||
<li>Lizenz Level 2+ erforderlich</li>
|
||||
<li>Einstellungen → OTA Update</li>
|
||||
<li>Keine Unterbrechung während des Updates</li>
|
||||
<li>Update dauert ca. 1-2 Minuten</li>
|
||||
</ol>
|
||||
|
||||
<h2>15. Support & Kontakt</h2>
|
||||
|
||||
<p>Bei Fragen oder Problemen:</p>
|
||||
|
||||
<ul>
|
||||
<li>Dokumentation prüfen</li>
|
||||
<li>Troubleshooting-Abschnitt beachten</li>
|
||||
<li>System-Informationen für Support bereitstellen</li>
|
||||
</ul>
|
||||
|
||||
<div class="info">
|
||||
<p><strong>Hinweis:</strong> Diese Anleitung basiert auf der aktuellen Firmware-Version. Neuere Versionen könnten abweichende Features haben.</p>
|
||||
</div>
|
||||
|
||||
<h2>16. Anhang</h2>
|
||||
|
||||
<h3>16.1 Tastenkombinationen im Web-Interface</h3>
|
||||
|
||||
<ul>
|
||||
<li><code>Enter</code> in UID-Feld: Sprung zum Namensfeld</li>
|
||||
<li>Browser-Refresh: Aktualisiert alle Daten</li>
|
||||
</ul>
|
||||
|
||||
<h3>16.2 Unterstützte Browser</h3>
|
||||
|
||||
<ul>
|
||||
<li>Chrome/Edge (empfohlen)</li>
|
||||
<li>Firefox</li>
|
||||
<li>Safari</li>
|
||||
<li>Mobile Browser (iOS/Android)</li>
|
||||
</ul>
|
||||
|
||||
<h3>16.3 Technische Spezifikationen</h3>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Komponente</th>
|
||||
<th>Spezifikation</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ESP32 Version</td>
|
||||
<td>ESP32-WROOM oder kompatibel</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>WiFi</td>
|
||||
<td>2.4 GHz, WPA2</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Protokoll</td>
|
||||
<td>MQTT für Kommunikation</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>RFID</td>
|
||||
<td>13.56 MHz, NFC-kompatibel</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Timer-Genauigkeit</td>
|
||||
<td>Millisekunden</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<hr>
|
||||
|
||||
<p style="text-align: center; color: #888; margin-top: 50px;">
|
||||
<strong>Ende der Bedienungsanleitung</strong><br>
|
||||
NinjaCross Timer v1.0
|
||||
</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user