ESP32: Možnosti předání přihlašovacích údajů wifi sítě běžícímu kódu
Napsal: 04 říj 2025, 10:11
Trochu jsem komunikoval s dvěma AI (claude sonnet, grok) a nechal je vymyslet snad všechny způsoby, jak předat kódu běžícímu v ESP32 přihlašovací údaje wifi sítě.
Varování: některé způsoby jsou bizarní
A) Pro technicky zdatného uživatele
Tradiční metody
1. Web Serial API přes USB - Webová stránka v Chrome komunikuje přímo s ESP32 přes USB kabel, posílá credentials přes sériový port
2. Web Bluetooth API - Webová aplikace se připojí k ESP32 přes BLE a pošle data do GATT characteristic
3. BLE provisioning - Mobilní aplikace (Android/iOS) se připojí přes BLE k ESP32 serveru a odešle credentials
4. WiFi AP režim s captive portalem - ESP32 vytvoří vlastní WiFi síť, uživatel se připojí a vyplní webový formulář (WiFiManager knihovna)
5. Sériová komunikace přes USB-C - Připojení přes USB, posílání příkazů přes Serial Monitor (Arduino IDE, PuTTY)
6. SmartConfig (Espressif protokol) - Mobilní app zakóduje credentials do UDP paketů, ESP32 je zachytí v promiscuous módu
7. WPS (WiFi Protected Setup) - Stisknutí tlačítka na routeru, ESP32 se automaticky připojí
8. Upload JSON přes Web Serial - Webová stránka načte JSON soubor a pošle ho přes USB do ESP32, uložení do LittleFS/SPIFFS
9. Upload JSON přes BLE - Přenos JSON souboru přes Bluetooth do ESP32 (rozdělen na pakety kvůli BLE limitu)
10. Upload JSON přes WiFi - HTTP POST na ESP32 web server (ESPAsyncWebServer), uložení do filesystému
Netradiční a netypické metody
11. BLE advertising data - Credentials zakódované přímo v BLE advertising paketech (omezená velikost)
12. WiFi AP s UDP/TCP socketem - ESP32 v AP módu s UDP/TCP serverem místo webového rozhraní
13. Audio modulace (DTMF/FSK) - Mobilní app přehraje audio signál s enkódovanými daty, ESP32 s mikrofonem dekóduje
14. Ultrazvuk - Přenos dat přes ultrazvukové frekvence (>18kHz), podobné Google Nearby
15. Optické kódování (LED Morse) - ESP32 bliká LED v Morse kódu nebo binárně, app na telefonu s kamerou zachytí a dekóduje
16. Li-Fi (světelná komunikace) - Rychlé blikání LED s Manchester encoding, fotodioda na ESP32 čte data
17. USB Mass Storage (ESP32-S3 s OTG) - ESP32 se objeví jako USB flash disk, zapíšete config.txt
soubor
18. QR kód skrze kameru - ESP32-CAM naskenuje QR kód s credentials ve formátu WIFI:T:WPA;S:ssid;P:heslo;;
19. NFC tag - Přiložení NFC tagu s uloženými údaji, ESP32 s NFC modulem (PN532) přečte
20. IR dálkový ovladač - Odeslání SSID a hesla v IR signálu, ESP32 s IR přijímačem dekóduje
21. Magnetický senzor (Hall efekt) - Zakódování dat do posloupnosti magnetických polí, pohyb magnetem podle vzoru
22. Kapacitní dotyk - Zadávání přes touch piny ESP32 (dotykové sekvence jako Morse nebo klávesnice)
23. Gyroskop/akcelerometr - Zatřesení nebo naklonění podle vzoru (gesta odpovídají znakům jako T9)
24. WiFi scanning s encoded SSID - Telefon vytvoří dočasné hotspoty s názvy obsahujícími části credentials, ESP32 je naskenuje a složí
25. DNS tunel - ESP32 se připojí k otevřené WiFi, credentials poslány přes DNS query (ssid-heslo.setup.example.com)
26. Bluetooth audio (A2DP) - Zakódování dat do audio streamu, ESP32 jako Bluetooth reproduktor
27. Vibrace/knock pattern - Piezo senzor detekuje klepání, rytmus = Morse nebo vlastní kód
28. Časový protokol - NTP server poskytne čas, z přesného času odvodit heslo (rotující token jako TOTP)
29. Okolní WiFi jako trigger - Detekce specifické kombinace okolních SSID, heslo předvypočítáno z MAC adres
B) Pro netechnického uživatele
Počítač (Windows/Mac/Linux)
1. Web Serial API + USB kabel
- Připojit ESP32 kabelem k PC
- Otevřít webovou stránku v Chrome
- Kliknout "Připojit", vybrat port
- Vyplnit formulář s SSID a heslem
- Výhody: Žádná instalace, jednoduchý 3krokový proces, vizuální zpětná vazba
Mobilní telefon
2. Web Bluetooth API, pro Android
- Otevřít webovou stránku v Chrome (naskenovat QR kód)
- Zapnout Bluetooth
- Kliknout "Připojit zařízení", vybrat ESP32
- Vyplnit formulář
- Výhody: Uživatel zůstává na domácí WiFi, bezdrátové, v běžném prohlížeči
- Omezení: Jen Android (iOS nepodporuje Web Bluetooth v prohlížeči)
3. Nativní mobilní aplikace (BLE)
- Nainstalovat jednoduchou aplikaci z Google Play/App Store
- Spustit app, připojit se k ESP32 přes Bluetooth
- Vyplnit formulář
- Výhody: Funguje na Android i iOS
- Nevýhody: Vyžaduje instalaci aplikace
4. USB Serial Terminal (Android s OTG kabelem)
- Připojit ESP32 k telefonu přes USB-C OTG kabel
- Nainstalovat "Serial USB Terminal" z Google Play
- Otevřít app, vybrat port
- Zadat příkaz ve formátu WIFI:ssid:heslo
- Nevýhody: Vyžaduje instalaci app + OTG kabel
5. WPS tlačítko na routeru
- Zapnout ESP32
- Stisknout WPS tlačítko na routeru
- ESP32 se automaticky připojí
- Výhody: Nejjednodušší (1 tlačítko)
- Nevýhody: Vyžaduje podporu WPS na routeru, bezpečnostní riziko
Varování: některé způsoby jsou bizarní

A) Pro technicky zdatného uživatele
Tradiční metody
1. Web Serial API přes USB - Webová stránka v Chrome komunikuje přímo s ESP32 přes USB kabel, posílá credentials přes sériový port
2. Web Bluetooth API - Webová aplikace se připojí k ESP32 přes BLE a pošle data do GATT characteristic
3. BLE provisioning - Mobilní aplikace (Android/iOS) se připojí přes BLE k ESP32 serveru a odešle credentials
4. WiFi AP režim s captive portalem - ESP32 vytvoří vlastní WiFi síť, uživatel se připojí a vyplní webový formulář (WiFiManager knihovna)
5. Sériová komunikace přes USB-C - Připojení přes USB, posílání příkazů přes Serial Monitor (Arduino IDE, PuTTY)
6. SmartConfig (Espressif protokol) - Mobilní app zakóduje credentials do UDP paketů, ESP32 je zachytí v promiscuous módu
7. WPS (WiFi Protected Setup) - Stisknutí tlačítka na routeru, ESP32 se automaticky připojí
8. Upload JSON přes Web Serial - Webová stránka načte JSON soubor a pošle ho přes USB do ESP32, uložení do LittleFS/SPIFFS
9. Upload JSON přes BLE - Přenos JSON souboru přes Bluetooth do ESP32 (rozdělen na pakety kvůli BLE limitu)
10. Upload JSON přes WiFi - HTTP POST na ESP32 web server (ESPAsyncWebServer), uložení do filesystému
Netradiční a netypické metody
11. BLE advertising data - Credentials zakódované přímo v BLE advertising paketech (omezená velikost)
12. WiFi AP s UDP/TCP socketem - ESP32 v AP módu s UDP/TCP serverem místo webového rozhraní
13. Audio modulace (DTMF/FSK) - Mobilní app přehraje audio signál s enkódovanými daty, ESP32 s mikrofonem dekóduje
14. Ultrazvuk - Přenos dat přes ultrazvukové frekvence (>18kHz), podobné Google Nearby
15. Optické kódování (LED Morse) - ESP32 bliká LED v Morse kódu nebo binárně, app na telefonu s kamerou zachytí a dekóduje
16. Li-Fi (světelná komunikace) - Rychlé blikání LED s Manchester encoding, fotodioda na ESP32 čte data
17. USB Mass Storage (ESP32-S3 s OTG) - ESP32 se objeví jako USB flash disk, zapíšete config.txt
soubor
18. QR kód skrze kameru - ESP32-CAM naskenuje QR kód s credentials ve formátu WIFI:T:WPA;S:ssid;P:heslo;;
19. NFC tag - Přiložení NFC tagu s uloženými údaji, ESP32 s NFC modulem (PN532) přečte
20. IR dálkový ovladač - Odeslání SSID a hesla v IR signálu, ESP32 s IR přijímačem dekóduje
21. Magnetický senzor (Hall efekt) - Zakódování dat do posloupnosti magnetických polí, pohyb magnetem podle vzoru
22. Kapacitní dotyk - Zadávání přes touch piny ESP32 (dotykové sekvence jako Morse nebo klávesnice)
23. Gyroskop/akcelerometr - Zatřesení nebo naklonění podle vzoru (gesta odpovídají znakům jako T9)
24. WiFi scanning s encoded SSID - Telefon vytvoří dočasné hotspoty s názvy obsahujícími části credentials, ESP32 je naskenuje a složí
25. DNS tunel - ESP32 se připojí k otevřené WiFi, credentials poslány přes DNS query (ssid-heslo.setup.example.com)
26. Bluetooth audio (A2DP) - Zakódování dat do audio streamu, ESP32 jako Bluetooth reproduktor
27. Vibrace/knock pattern - Piezo senzor detekuje klepání, rytmus = Morse nebo vlastní kód
28. Časový protokol - NTP server poskytne čas, z přesného času odvodit heslo (rotující token jako TOTP)
29. Okolní WiFi jako trigger - Detekce specifické kombinace okolních SSID, heslo předvypočítáno z MAC adres
B) Pro netechnického uživatele
Počítač (Windows/Mac/Linux)
1. Web Serial API + USB kabel
- Připojit ESP32 kabelem k PC
- Otevřít webovou stránku v Chrome
- Kliknout "Připojit", vybrat port
- Vyplnit formulář s SSID a heslem
- Výhody: Žádná instalace, jednoduchý 3krokový proces, vizuální zpětná vazba
Mobilní telefon
2. Web Bluetooth API, pro Android
- Otevřít webovou stránku v Chrome (naskenovat QR kód)
- Zapnout Bluetooth
- Kliknout "Připojit zařízení", vybrat ESP32
- Vyplnit formulář
- Výhody: Uživatel zůstává na domácí WiFi, bezdrátové, v běžném prohlížeči
- Omezení: Jen Android (iOS nepodporuje Web Bluetooth v prohlížeči)
3. Nativní mobilní aplikace (BLE)
- Nainstalovat jednoduchou aplikaci z Google Play/App Store
- Spustit app, připojit se k ESP32 přes Bluetooth
- Vyplnit formulář
- Výhody: Funguje na Android i iOS
- Nevýhody: Vyžaduje instalaci aplikace
4. USB Serial Terminal (Android s OTG kabelem)
- Připojit ESP32 k telefonu přes USB-C OTG kabel
- Nainstalovat "Serial USB Terminal" z Google Play
- Otevřít app, vybrat port
- Zadat příkaz ve formátu WIFI:ssid:heslo
- Nevýhody: Vyžaduje instalaci app + OTG kabel
5. WPS tlačítko na routeru
- Zapnout ESP32
- Stisknout WPS tlačítko na routeru
- ESP32 se automaticky připojí
- Výhody: Nejjednodušší (1 tlačítko)
- Nevýhody: Vyžaduje podporu WPS na routeru, bezpečnostní riziko