Turinys:

ESP8266 ir ESP32 Su „WiFiManager“: 10 žingsnių
ESP8266 ir ESP32 Su „WiFiManager“: 10 žingsnių

Video: ESP8266 ir ESP32 Su „WiFiManager“: 10 žingsnių

Video: ESP8266 ir ESP32 Su „WiFiManager“: 10 žingsnių
Video: WiFi Manager With Esp8266 | Stop Hard-Coding WiFi Configuration 2024, Lapkritis
Anonim
Image
Image
PINOUT
PINOUT

Ar esate susipažinęs su „WiFiManager“? Tai biblioteka, kuri tarnauja kaip belaidžio ryšio valdytojas, ir su ja turime paprastesnį būdą sukonfigūruoti tiek prieigos tašką, tiek stotį. Gavau keletą pasiūlymų aptarti šią temą; todėl šiandien supažindinsiu jus su šia biblioteka ir jos funkcijomis. Taip pat parodysiu jo naudojimą tiek su ESP32, tiek su ESP8266.

1 žingsnis: PINOUT

PINOUT
PINOUT

Čia parodysiu dviejų įrenginių, kuriuos naudosime, PINOUT:

  • NodeMCU ESP-12E
  • „NodeMCU ESP-WROOM-32“

2 veiksmas: „WiFiManager“

„WiFiManager“iš tikrųjų yra ne kas kita, kaip biblioteka, parašyta ant „WiFi.h“, kad būtų galima lengvai valdyti belaidžius ryšius. Atminkite, kad su juo mes turime daugiau galimybių konfigūruoti tiek prieigos tašką, tiek stotį. Stoties režimui mes konfigūruojame per naršyklės portalą.

Kai kurios funkcijos:

• Tai priklauso nuo automatinio ryšio

• Neautomatinio konfigūravimo portalo inicijavimas

• Veikia selektyviai dvigubu režimu

3 žingsnis: kaip tai veikia

Kaip tai veikia
Kaip tai veikia
Kaip tai veikia
Kaip tai veikia

ESP inicijuos „WiFi“konfigūracijos portalą, kai bus prijungtas, ir išsaugos konfigūracijos duomenis į nepastovią atmintį. Vėliau konfigūracijos portalas vėl prasidės tik tada, jei ESP modulyje bus paspaustas mygtukas.

Čia galite patikrinti konfigūracijos srautą ir žingsnis po žingsnio atlikti šiuos veiksmus:

1. Naudodami bet kurį „WiFi“įrenginį su naršykle, prisijunkite prie naujai sukurto prieigos taško ir įveskite adresą 192.168.4.1.

2. Ekrane turėsite dvi galimybes prisijungti prie esamo tinklo:

• Konfigūruoti „WiFi“

• Konfigūruoti „WiFi“(be nuskaitymo)

3. Pasirinkite vieną iš tinklų ir įveskite slaptažodį (jei reikia). Tada išsaugokite ir palaukite, kol ESP bus paleistas iš naujo.

4. Įkrovos pabaigoje ESP bando prisijungti prie išsaugoto tinklo. Jei negalite to padaryti, įgalinsite prieigos tašką.

4 žingsnis: bibliotekos

Bibliotekos
Bibliotekos

Pridėkite biblioteką „WifiManager-ESP32“.

Eikite į https://github.com/zhouhan0126/WIFIMANAGER-ESP32 ir atsisiųskite biblioteką.

Išpakuokite failą ir įklijuokite jį į „Arduino IDE“bibliotekų aplanką.

C: / Programos failai (x86) / „Arduino“/ bibliotekos

Pridėkite biblioteką „DNSServer-ESP32“.

Eikite į https://github.com/zhouhan0126/DNSServer---esp32 nuorodą ir atsisiųskite biblioteką.

Išpakuokite failą ir įklijuokite jį į „Arduino IDE“bibliotekų aplanką.

C: / Programos failai (x86) / „Arduino“/ bibliotekos

Pridėkite biblioteką „WebServer-ESP32“.

Eikite į https://github.com/zhouhan0126/WebServer-esp32 nuorodą ir atsisiųskite biblioteką.

Išpakuokite failą ir įklijuokite jį į „Arduino IDE“bibliotekų aplanką.

C: / Programos failai (x86) / „Arduino“/ bibliotekos

Pastaba:

„WiFiManager-ESP32“bibliotekoje jau yra nustatymai, kurie veikia su ESP8266, todėl naudosime tik tai, o ne dvi „WiFiManager“libs (po vieną kiekvienam lusto tipui).

Kaip pamatysime vėliau, „ESP8266WiFi“ir „ESP8266WebServer“yra bibliotekos, kurių mums nereikia atsisiųsti, nes jos jau yra, kai įdiegiame ESP8266 į „Arduino IDE“.

5 žingsnis: Funkcijos

Funkcijos
Funkcijos
Funkcijos
Funkcijos
Funkcijos
Funkcijos

Štai keletas „WiFiManager“siūlomų funkcijų.

1. „AutoConnect“

„AutoConnect“funkcija yra atsakinga už prieigos taško sukūrimą. Mes galime jį naudoti trimis būdais.

• autoConnect („tinklo pavadinimas“, „slaptažodis“); - sukuria tinklą su apibrėžtu vardu ir slaptažodžiu.

• autoConnect („tinklo pavadinimas“); - sukuria atvirą tinklą su apibrėžtu pavadinimu.

• autoConnect (); - sukuria atvirą ir automatiškai pavadintą tinklą, kurio pavadinimas yra „ESP“+ chipID.

2. startConfigPortal

Funkcija startConfigPortal yra atsakinga už prieigos taško sukūrimą nebandant prisijungti prie anksčiau išsaugoto tinklo.

• startConfigPortal („tinklo pavadinimas“, „slaptažodis“); - sukuria tinklą su apibrėžtu vardu ir slaptažodžiu.

• startConfigPortal (); - sukuria atvirą ir automatiškai pavadintą tinklą, kurio pavadinimas yra „ESP“+ chipID.

3. getConfigPortalSSID

Grąžina portalo (prieigos taško) SSID

4. getSSID

Tai grąžina tinklo, prie kurio jis prijungtas, SSID.

5. getPassword

Tai grąžina tinklo, prie kurio jis prijungtas, slaptažodį.

6. setDebugOutput

„SetDebugOutput“funkcija yra atsakinga už derinimo pranešimų spausdinimą serijiniame monitoriuje. Šie pranešimai jau yra apibrėžti bibliotekoje. Kai atliksite funkcijas, duomenys bus atspausdinti.

Pagal numatytuosius nustatymus ši funkcija nustatyta kaip TRUE. Jei norite išjungti pranešimus, tiesiog nustatykite funkciją FALSE.

7. setMinimumSignalQuality

Funkcija setMinimumSignalQuality yra atsakinga už tinklų filtravimą pagal signalo kokybę. Pagal numatytuosius nustatymus „WiFiManager“nerodys prisijungimo tinklų žemiau 8%.

8. setRemoveDuplicateAPs

Funkcija setRemoveDuplicateAPs yra atsakinga už tinklo dublikatų pašalinimą.

Pagal numatytuosius nustatymus jis nustatytas į TRUE.

9. setAPStaticIPConfig

Funkcija setAPStaticIPConfig yra atsakinga už statinio adreso nustatymų nustatymą, kai veikia prieigos taško režimas.

(IP, GATEWAY, SUBNET)

10. setSTAStaticIPConfig

Funkcija setSTAStaticIPConfig yra atsakinga už statinio adreso nustatymų nustatymą veikiant stoties režimui.

(IP, GATEWAY, SUBNET)

Prieš automatinį prisijungimą turite pridėti komandą !!!

11. setAPCallback

Funkcija „setAPCallback“yra atsakinga už informavimą, kad AP režimas prasidėjo.

Parametras yra funkcija, kuri turi būti sukurta, kad būtų nurodytas kaip atgalinis skambutis;

12. setSaveConfigCallback

Funkcija „setSaveConfigCallback“yra atsakinga už tai, kad informuotų jus, kad išsaugota nauja konfigūracija ir sėkmingai užmegztas ryšys.

Parametras yra funkcija, kurią reikia sukurti, ir nurodo tai kaip užuominą.

Prieš automatinį prisijungimą turite pridėti komandą !!!

6 žingsnis: Surinkimas

Surinkimas
Surinkimas

Pavyzdys

Mūsų pavyzdyje sukursime prieigos tašką su ESP (kodas bus naudojamas tiek ESP8266, tiek ESP32). Sukūrę AP, mes pateksime į portalą per IP 192.168.4.1 (kuris yra numatytasis prieigos prie jo). Taigi paimkime galimus tinklus, pasirinkite vieną ir išsaugokite. Iš ten ESP bus paleistas iš naujo ir bandys prisijungti prie jo, tada jis veiks kaip stotis, o ne kaip prieigos taškas.

Įjungus stoties režimą, ESP gali grįžti į prieigos taško režimą tik mygtuku.

7 žingsnis: kodas

Bibliotekos

Pirmiausia apibrėžkime bibliotekas, kurias naudosime.

Atminkite, kad turime komandas #if apibrėžtas, #else ir #endif. Jie yra sąlyginiai, kad būtų įtrauktos būtinos bibliotekos, susijusios su lustu. Ši dalis yra labai svarbi norint paleisti tą patį kodą tiek ESP8266, tiek ESP32.

#if apibrėžta (ESP8266)

#include // ESP8266 Core WiFi Library #else #include // ESP32 Core WiFi Library #endif

#if apibrėžta (ESP8266)

#include // Vietinis žiniatinklio serveris, naudojamas konfigūracijos portalui aptarnauti

#Kitas

#include // Vietinis DNS serveris, naudojamas nukreipti visas užklausas į konfigūracijos portalą (https://github.com/zhouhan0126/DNSServer---esp32)

#endif

#include // Vietinis žiniatinklio serveris, naudojamas konfigūracijos portalui aptarnauti (https://github.com/zhouhan0126/DNSServer---esp32) #include // „WiFi Configuration Magic“(https://github.com/zhouhan0126/DNSServer-- -esp32) >> https://github.com/zhouhan0126/DNSServer---esp32 (ORIGINALUS)

8 veiksmas: sąranka

Sąrankoje mes konfigūruojame „WiFiManager“paprasčiausiu būdu. Tiesiog apibrėžkime atgalinius skambučius ir sukurkime tinklą.

const int PIN_AP = 2;

void setup () {Serial.begin (9600); pinMode (PIN_AP, INPUT); // deklaração do objeto wifiManager WiFiManager wifiManager;

// utilizando esse comando, as configurações são apagadas da memória // caso tiver salvo alguma rede para conectar automaticamente, ela é apagada. // wifiManager.resetSettings (); // atšaukimas pagal quando entra em modo de configuração AP wifiManager.setAPCallback (configModeCallback); // atšaukimas para quando se conecta em uma rede, ou seja, quando passa a trabalhar em modo estação wifiManager.setSaveConfigCallback (saveConfigCallback); // cria uma rede de nome ESP_AP com senha 12345678 wifiManager.autoConnect ("ESP_AP", "12345678"); }

9 žingsnis: ciklas

Cikle mes perskaitysime mygtuko kaištį, kad pamatytume, ar jis buvo nuspaustas, ir tada iškviesime metodą, kad iš naujo įjungtumėte AP režimą.

void loop () {

„WiFiManager“„wifiManager“; // se o botão foi pressionado if (digitalRead (PIN_AP) == HIGH) {Serial.println ("resetar"); // tenta abrir o portalas if (! wifiManager.startConfigPortal ("ESP_AP", "12345678")) {Serial.println ("Falha ao conectar"); vėlavimas (2000 m.); ESP.restart (); vėlavimas (1000); } Serial.println ("Conectou ESP_AP !!!"); }

Kai paspausite mygtuką, ESP išeis iš stoties režimo ir atidarys jūsų prieigos tašką ir portalą.

Atminkite, kad mes nenaudojame komandos resetSettings (). Nustatymai vis dar išsaugomi, kai kitą kartą paleidžiamas ESP.

10 veiksmas: atgaliniai skambučiai

Atgalinio skambučio funkcijos, susijusios su įvykiais, padeda tiksliai nustatyti operacijos momentą, mūsų atveju, įeinant į AP režimą ir stoties režimą. Tada galime įgyvendinti norimą tvarką, pvz., Nuskaityti SSID iš prijungto tinklo.

// atgalinis skambučio iškvietimas arba ESP įvedimas be modo AP

void configModeCallback (WiFiManager *myWiFiManager) {// Serial.println ("Įvestas konfigūracijos režimas"); Serial.println („Entrou no modo de configuração“); Serial.println (WiFi.softAPIP ()); // imprime o IP do AP Serial.println (myWiFiManager-> getConfigPortalSSID ()); // imprime o SSID criado da rede

}

// callback que indica que salvamos uma nova rede para se conectar (modo estação)

void saveConfigCallback () {// Serial.println ("Reikėtų išsaugoti konfigūraciją"); Serial.println („Configuração salva“); Serial.println (WiFi.softAPIP ()); // imprime o IP do AP}

Rekomenduojamas: