WLAN¶
Der Fahrradcomputer verbindet sich selbst mit bekannten Netzen, kann einen eigenen Hotspot öffnen und wird entweder am Display oder auf einer Webseite eingerichtet. In der Firmware steht kein Netzname und kein Passwort.

Einstellungs-Screen (WLAN-Seite)¶
Einstellungen → WLAN:
| Taste | Tut |
|---|---|
| WLAN an / aus | Schaltet das WLAN ein (automatische Verbindung, siehe unten) oder aus. Nachdem sich das WLAN selbst abgeschaltet hat, ist das der einzige Weg zurück. |
| Hotspot / Hotspot aus | Startet oder beendet den Hotspot (Standardname TRGB-BC). Solange er läuft, steht sein Passwort statt der IP-Adresse auf dem Screen. |
| Netzwerke | Öffnet den WLAN-Screen: suchen, Netz auswählen, Passwort tippen. |
Die Zeile über den Tasten zeigt die IP-Adresse oder warum das WLAN aus ist („kein WLAN gefunden", „Verbindung verloren", „kein Netz gespeichert", ...).
Netz am Display einrichten¶
- Einstellungen → WLAN → Netzwerke → Suchen. Die Netze in Reichweite stehen in der Liste, das stärkste oben; schon gespeicherte sind messingfarben. Eine Suche schaltet das WLAN ein, wenn es aus war.
- Netz antippen. Der Passwort-Screen öffnet sich: Passwort auf der Tastatur tippen (abc zeigt oder verbirgt es, 1# und #+= sind die Sonderzeichen-Seiten, die Umschalttaste gilt nur für einen Buchstaben). Bleibt das Feld bei einem gespeicherten Netz leer, bleibt das alte Passwort. WPA2 braucht 8 bis 63 Zeichen.
- Speichern legt es im NVS ab und verbindet, wenn das WLAN aus ist.

Die Reihenfolge der gespeicherten Netze und das Löschen gehen nur auf der Webseite. Die Reihenfolge zählt nur bei gleich starkem Empfang (siehe Autoconnect).
Webseite /wifi¶
Verlinkt von der Startseite („WiFi Settings"). Sie zeigt
- den Zustand (verbunden mit ..., Hotspot, ...),
- die gespeicherten Netze mit ▲ ▼ (Reihenfolge, nur bei Gleichstand), Edit (Passwort) und Delete,
- eine Suche mit Auswahlliste oder eine SSID von Hand (auch für versteckte und offene Netze),
- Name und neues Passwort des Hotspots,
- einen Link zum Log-Upload (
/push).
Es werden bis zu 8 Netze gespeichert. Passwörter werden nie an die Seite zurückgeschickt oder ins Log geschrieben; im NVS liegen sie im Klartext, wie bei jeder ESP32-Firmware ohne Flash-Verschlüsselung.
Automatische Verbindung und die 5 Minuten¶
Nach dem Booten und wann immer das WLAN eingeschaltet wird, sucht das Gerät und probiert die gespeicherten Netze in Reichweite, das stärkste zuerst (bei gleichem Empfang entscheidet die Liste), je 15 s; versteckte, nicht gesehene kommen zuletzt und werden ungesehen probiert. Klappt keins, sucht es alle 15 s erneut. Besteht 5 Minuten keine Verbindung (nie verbunden oder Verbindung verloren), schaltet sich das WLAN zum Stromsparen ab. Eine Suche dauert etwa 10 s, solange BLE läuft.
Für den Hotspot gilt dasselbe: er endet 5 Minuten, nachdem der letzte Client weg ist (oder nach dem Start, wenn keiner kam).
Ist kein Netz gespeichert, bleibt das WLAN nach dem Booten aus.
Gerätename¶
Name des Fahrradcomputers im Netz: <name>.local (mDNS), der DHCP-Hostname, den der Router zeigt,
und die Standard-SSID des Hotspots. Standard je Build-Variante -- TRGB-BC, Forumslader-Build
TRGB-FL (BC_HOSTNAME in platformio.ini) --, änderbar auf der Seite /wifi („Device name"):
1..31 Buchstaben, Ziffern und Bindestriche. Gespeichert im NVS (Namespace WifiSettings,
Schlüssel host), mDNS meldet den neuen Namen sofort an, der DHCP-Name folgt mit dem nächsten
Verbinden. Eine bestehende Hotspot-SSID bleibt, wie sie ist (sie hat ein eigenes Feld). Der
Log-Dienst findet den Fahrradcomputer über diesen Namen: BIKELOG_PULL_TARGETS mitziehen (den
Gerätenamen vor dem = behalten), ebenso den OTA-Upload-Port (--upload-port <name>.local).
Hotspot¶
SSID TRGB-BC, wenn nicht geändert, WPA2. Das Passwort wird beim ersten Start erzeugt (10
Zeichen) und steht auf dem Einstellungs-Screen, solange der Hotspot läuft; die Webseite kann
ein neues setzen. Adresse 192.168.4.1 (und TRGB-BC.local; der Forumslader-Build heißt TRGB-FL, Hotspot wie .local). Bis zu 4 Clients.
Der Hotspot ist ein Captive Portal: Er beantwortet jeden Namen mit seiner eigenen Adresse und
leitet jede unbekannte URL auf /wifi um. Android und iOS öffnen die Seite dann von selbst
und nutzen dafür den Hotspot, obwohl er kein Internet hat -- ohne das bliebe ein Handy mit
Mobilfunk beim Mobilfunk und käme nie an 192.168.4.1.
Solange der Hotspot läuft, sind etwa 14 KB weniger interner Heap frei (siehe Fallstricke).
Serielle Konsole¶
wifi [status|on|off|ap [on|off]|scan|list|add <ssid> <passwort>|del <ssid>|apset <ssid> <passwort>],
siehe Debugging. Nützlich für die erste Einrichtung ohne Display.
Code¶
| Teil | Datei |
|---|---|
Netzliste, Hotspot-Daten, NVS-Blob, Reihenfolge der Verbindung (Host-Test test/native_wificonfig/) |
src/WifiConfig.* |
| Zustandsautomat, Suche, Hotspot, CLI | src/WifiWebserver.cpp |
Seite /wifi und JSON-Schnittstelle |
src/WifiRoutes.cpp |
| Display: Liste, Passwort-Screen, Tastatur | src/ui/RimRidgeWifiCustFunc.*, EEZ-Seiten RimRidgeWifi, RimRidgeWifiPw |
| Pillen der Einstellungen | src/ui/RimRidgeSettingsCustFunc.cpp |