Gå til innhold
  • Bli medlem
Støtt hjemmeautomasjon.no!

Arduino kode for å sette opp SSID, pwd og IP fra telefonen


Anbefalte innlegg

Det å legge inn WiFi data og fast IP i Sourcen til Arduinoer er litt for amatør synes jeg.

Det burde heller være sånn:

  1. Oppstart-> Sjekk om det finnes data i EEPROM eller FlashRAM
  2. Om det finnes data forsøk å koble til WiFi med disse parameterne
  3. Om det ikke finnes eller tilkoblingen misslykkes->sett opp et AP med SSID = 'SETUP_10_0_0_10" og uten passord
  4. Når noen connecter til denne og går til IP = 10.0.0.10 -> svar med en WEBside som viser tilgjengelige nett (i en dropdown boks) og felter for pwd og IP
  5. Forsøk å connecte med disse dataene, går det bra-> skriv dem til EEPROM eller Flash
  6. Går det ikke-> gå tilbake til 3
  7. Når som helst i drift burde du også kunne be om config page (feks 192.168.0.23/config) for å endre IP eller nett, etter dette -> gå til 5
  8. Om den ramler av nett (eller ved power dropp) og ikke klarer å connecte igjen->gå til bake til 3

 

En (RGB?) LED burde fortelle deg status slik at du visste at den var i AP mode

Jeg finner ikke noe god eksempelkode på dette på nettet.
Før jeg begynner å programmerer det selv må jeg sjekke her:
Er det noen som allerede har skrevet slik kode selv eller vet om noe brukbart?

Lenke til kommentar
Del på andre sider

Her har du 85% av det du trenger: https://github.com/xibriz/AmsToMqttBridge/tree/master/Code/Arduino/AmsToMqttBridge

 

 

Personlig så har jeg en .h-fil men WiFi-oppsett som ligger i .gitignore :) 

Noe slikt: https://github.com/xibriz/hansi

 

Edit:

Finnes det en enda mer elegant løsning for punkt 4?

 

Jeg ser for meg at når man f.eks. skal sette opp en Chromecast så henter den WiFi-passord fra telefonen automatisk, eller drømmer jeg?

SSID er jo (nesten) gitt basert på hva telefonen er satt opp med og hva som er i nærheten.

Endret av xibriz
Lenke til kommentar
Del på andre sider

Quote

Finnes det en enda mer elegant løsning for punkt 4?

 

Er litt usikker da det er veldig lenge siden, men har du testet WiFi.hostname?

 

Mener å huske at det var noe slik: WiFi.hostname("NavnetSomDukkerOppPåRuteren");

 

Men husker ikke hvor og hvordan man plasserer det... Sikkert mulig å google seg fram til :) 

Endret av Mathias
Lenke til kommentar
Del på andre sider

På 5.11.2020 den 13.56, xibriz skrev:

Jeg ser for meg at når man f.eks. skal sette opp en Chromecast så henter den WiFi-passord fra telefonen automatisk, eller drømmer jeg?

SSID er jo (nesten) gitt basert på hva telefonen er satt opp med og hva som er i nærheten.


Kanskje noe i nærheten av eksempel 1 her?:
https://www.switchdoc.com/2018/06/tutorial-esp32-bc24-provisioning-for-wifi/

Ellers er det jo interessant at du IKKE går i AP mode om du ikke klarer å connecte til normal WiFi uten at du aktiverer det gjennom en pinne.
(Forstår at det er en sikkerhets mann i aksjon her ;) )
 

 

På 5.11.2020 den 22.53, ZoRaC skrev:

Kom nesten i mål, så vidt jeg husker. 


Takk!  Ser du bruker WiFiManager.

 

På 6.11.2020 den 11.42, Guahtdim skrev:

Her er en som har brukt WPS signalet


WPS er ingen dum idé.
Men mine Ruckus sendere har ingen WPS knapp :) 

Takk for fine tips og kode alle sammen. Jeg ser at det å kunne håndtere en Webside fra Arduinoen er interessant i flere sammenhenger så det blir nok noe "tett på metallet" kode som kan brukes til andre ting også. brb

 

  • Like 1
Lenke til kommentar
Del på andre sider

Bli med i samtalen

Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.

Gjest
Skriv svar til emnet...

×   Du har limt inn tekst med formatering.   Lim inn uten formatering i stedet

  Du kan kun bruke opp til 75 smilefjes.

×   Lenken din har blitt bygget inn på siden automatisk.   Vis som en ordinær lenke i stedet

×   Tidligere tekst har blitt gjenopprettet.   Tøm tekstverktøy

×   Du kan ikke lime inn bilder direkte. Last opp eller legg inn bilder fra URL.

×
×
  • Opprett ny...

Viktig informasjon

Vi har plassert informasjonskapsler/cookies på din enhet for å gjøre denne siden bedre. Du kan justere dine innstillinger for informasjonskapsler, ellers vil vi anta at dette er ok for deg.