ESP32 wifi inlog wijzigen.

hennep

Golden Member

Ik heb deze week lopen piekeren over een manier om ssid en wachtwoord voor een ESP32 aan te kunnen passen zonder herprogrammeren. Als ik een ESP32 programmeer voor een minder technisch aangelegd persoon dan zou er een manier in moeten zitten zodat hij of zij via een menu die gegevens aan kan passen. Een html-pagina via het netwerk kan dus niet omdat er nog geen verbinding is via wifi (Had er maar een RJ45 op gezeten). Ik heb al wat gebouwd om het via de seriele poort te doen maar ook dat geeft voor sommigen nog een hoge drempel. Het programma Putty kunnen we daar wel voor gebruiken en verder is er dan slechts een usb kabeltje nodig. Toch is dat niet voor iedereen weggelegd.
Zoiets als een raspbery pi kun je dan nog van een PC toetsenbord en beeldscherm voorzien maar die mogelijkheid is er niet voor een ESP.
Hoe zouden jullie dat doen?
Zouden we eens kunnen brainstormen daarover? (helaas zonder bier).

bprosman

Golden Member

Commerciele apparatuur doet dat door na een fabrieksreset zichzelf als WiFi access point met eigen SSID te gedragen.
Je verbindt dan je computer (of mobiele telefoon) met dat SSID (waarvan UID en password bekend zijn)
Na het configurerern en reboot maakt hij dan verbinding met je eigen netwerk.

De jongere generatie loopt veel te vaak zijn PIC achterna.

Ik gebruik de Wifimanager library, welke deze functionaliteit in de nodige variaties biedt.
Voor wie geen libraries wenst te gebruiken is het vast zelf te bouwen, maar het zou mijn hobby niet zijn..

hennep

Golden Member

@bram, Klinkt goed. De enige beer op de weg die ik nog zie is het volgende. Als mijn router er even uitligt om wat voor reden dan ook, gaat de ESP dan niet naar access point mode en komt daar dan niet meer uit. Kan een ESP gelijktijdig acces point en client zijn, dan kun je automatisch AP mode verlaten zodra de router weer terug in de lucht is.

@aart, ik zal eens even naar die library gaan zoeken. Goed gejat is beter dan zelf geprutst!

bprosman

Golden Member

gaat de ESP dan niet naar access point mode en komt daar dan niet meer uit.

Apparaten als een ChromeCast of smart devices laten dat in de pagina zien waar je op aangelogd bent dat ze niet aan kunnen loggen (kan ook al zijn dat je je wachtwoord of UID verkeerd getypt hebt). En gaan dan niet verder totdat opgelost is het het andere netwerk bereikbaar en toegankelijk is.

De jongere generatie loopt veel te vaak zijn PIC achterna.
McAwesome

Golden Member

Beide kan zeker, wij doen dat trouwens zo met onze nixieklok met ESP32.
Door bij het opstarten een knopje ingedrukt te houden wordt de klok ook actief als access point.

Je kan dan bijvoorbeeld met een smartphone verbinden en via een webinterface SSID en wachtwoord instellen. Je krijgt daarbij een lijstje van gevonden SSID van netwerken te zien waaruit je kan kiezen om het je wat makkelijker te maken. Uiteraard kan je het SSID zelf intikken ook.

Omdat de ESP32 tegelijk ook in client mode staat kan je meteen je netwerkinstellingen testen en indien nodig nog aanpassen. Bij een succesvolle client-verbinding kan je dan het access point terug uitzetten.

Client mode en access point kan dus zeker tegelijk.

Belgium is primarily known for the saxophone, mediocre chocolate and world class paedophilia. - Go woke, get broke.
hennep

Golden Member

Wifi manager had ik nog niet eerder gezien, maar er zijn er genoeg. Welke gebruik jij Aart?

De esp32 kan zowel 'station' en "acces point' simultaan ! Je kan dan steeds inloggen op het acces point, en daarna kan het gewenste SSID / Paswoord ingesteld worden en bewaard worden in een bestand (spiffs) / flash eeprom. De volgende keer wordt er dan verbinding gemaakt met dit SSID.

Sine

Moderator

Op 23 oktober 2021 13:44:59 schreef hennep:
@bram, Klinkt goed. De enige beer op de weg die ik nog zie is het volgende. Als mijn router er even uitligt om wat voor reden dan ook, gaat de ESP dan niet naar access point mode en komt daar dan niet meer uit. Kan een ESP gelijktijdig acces point en client zijn, dan kun je automatisch AP mode verlaten zodra de router weer terug in de lucht is.

ESPhome en Tasmota doen niet anders, dus dat moet inderdaad prima kunnen.

Ik zou het niet fijn vinden als ie "altijd" dat AP doet: Dan kan iemand van buiten altijd bij mijn ESP die mogelijk ook verbinding heeft met mijn netwerk. Als hij dan een buffer-overrun weet in de embedded-web-server op de ESP krijgt ie ineens toegang tot mijn netwerk.

Ik heb veel liever dat ie na de initiele setup gewoon altijd met de wifi probeert te verbinden (ook als ie er even uit ligt) en dat ik fysiek iets moet doen om hem weer in AP/configuratie mode te krijgen.

Als je ze verkoopt/weggeeft, dan moet je de procedure om hem te resetten na een evt test weer even herhalen en hij moet geprogrammeerd zijn om als ie NIET geconfigureerd is in AP mode blijft.

Eventueel is het "resetten, maar dan volgende powercycle toch weer op het eerder geconfigureerde wifi netwerk nuttig. " Dus dan moet je na de reset CONFIGUREREN dat ie voortaan geen wifi meer heeft zodat ie bij de "klant" direct in AP mode opkomt. Dan kan je "doet ie het nog?" de reset doen, zien dat ie AP mode doet en dan uit-in het stopcontact om weer gewoon in client mode met de oude configuratie verder te gaan. Hoef je niet nog een keer je wifi-wachtwoord in te vullen voor deze test.....

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
hennep

Golden Member

Ik kwam tijdens mijn zoektocht naar een wifi manager ook een library tegen voor een "doubleclick" functie van de reset knop. Dat zou wel een geschikte manier zijn om die AP mode aan te zetten.
Ik deel jouw antipathie tegen een constante AP mode, vandaar dat ik schreef:

dan kun je automatisch AP mode verlaten zodra de router weer terug in de lucht is.