Kazalo:

ESP8266 in ESP32 z WiFiManagerjem: 10 korakov
ESP8266 in ESP32 z WiFiManagerjem: 10 korakov

Video: ESP8266 in ESP32 z WiFiManagerjem: 10 korakov

Video: ESP8266 in ESP32 z WiFiManagerjem: 10 korakov
Video: Control 32 Servo over Wi-Fi using ESP32 and PCA9685 via desktop or mobile phone V5 2024, Julij
Anonim
Image
Image
PINOUT
PINOUT

Ali poznate WiFiManager? To je knjižnica, ki služi kot upravitelj brezžičnih povezav, z njo pa imamo lažji način konfiguriranja tako dostopne točke kot postaje. Prejel sem več predlogov za razpravo o tej temi; zato vam bom danes predstavil to knjižnico in njene funkcije. Predstavil bom tudi njegovo uporabo z ESP32 in ESP8266.

1. korak: PINOUT

PINOUT
PINOUT

Tukaj pokažem PINOUT dveh naprav, ki jih bomo uporabljali:

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

Korak: WiFiManager

WiFiManager v resnici ni nič drugega kot knjižnica, napisana na vrhu WiFi.h za enostavno upravljanje brezžičnih povezav. Ne pozabite, da imamo z njim več možnosti za konfiguracijo dostopne točke in postaje. Za način postaje konfiguriramo prek portala v brskalniku.

Nekatere funkcije:

• Odvisno od samodejne povezave

• Inicializacija neavtomatskega konfiguracijskega portala

• Deluje selektivno v dvojnem načinu

3. korak: Kako deluje

Kako deluje
Kako deluje
Kako deluje
Kako deluje

ESP bo ob vzpostavitvi povezave odprl konfiguracijski portal WiFi in shranil konfiguracijske podatke v nehlapni pomnilnik. Nato se bo konfiguracijski portal znova zagnal le, če pritisnete gumb v modulu ESP.

Tu lahko preverite konfiguracijski tok in sledite tem korakom po korakih:

1. S katero koli napravo, ki podpira WiFi, z brskalnikom se povežite z novo ustvarjeno dostopno točko in vnesite naslov 192.168.4.1.

2. Na zaslonu boste imeli dve možnosti za povezavo z obstoječim omrežjem:

• Konfigurirajte WiFi

• Konfigurirajte WiFi (brez skeniranja)

3. Izberite eno od omrežij in vnesite geslo (če je potrebno). Nato shranite in počakajte, da se ESP znova zažene.

4. Na koncu zagona se ESP poskuša povezati s shranjenim omrežjem. Če tega ne morete storiti, omogočite dostopno točko.

4. korak: Knjižnice

Knjižnice
Knjižnice

Dodajte knjižnico "WifiManager-ESP32".

Pojdite na https://github.com/zhouhan0126/WIFIMANAGER-ESP32 in prenesite knjižnico.

Razpakirajte datoteko in jo prilepite v mapo knjižnice Arduino IDE.

C: / Programske datoteke (x86) / Arduino / knjižnice

Dodajte knjižnico "DNSServer-ESP32".

Pojdite na povezavo https://github.com/zhouhan0126/DNSServer---esp32 in prenesite knjižnico.

Razpakirajte datoteko in jo prilepite v mapo knjižnice Arduino IDE.

C: / Programske datoteke (x86) / Arduino / knjižnice

Dodajte knjižnico "WebServer-ESP32".

Pojdite na povezavo https://github.com/zhouhan0126/WebServer-esp32 in prenesite knjižnico.

Razpakirajte datoteko in jo prilepite v mapo knjižnice Arduino IDE.

C: / Programske datoteke (x86) / Arduino / knjižnice

Opomba:

Knjižnica WiFiManager-ESP32 že ima nastavitve, ki delujejo z ESP8266, zato bomo uporabili le to, namesto dveh vmesnikov WiFiManager (enega za vsako vrsto čipa).

Kot bomo videli kasneje, sta ESP8266WiFi in ESP8266WebServer knjižnici, ki ju ni treba prenesti, ker že prideta, ko namestimo ESP8266 v IDE Arduino.

5. korak: Funkcije

Funkcije
Funkcije
Funkcije
Funkcije
Funkcije
Funkcije

Tu je nekaj funkcij, ki nam jih ponuja WiFiManager.

1. samodejna povezava

Funkcija autoConnect je odgovorna za ustvarjanje dostopne točke. Uporabljamo ga lahko na tri načine.

• autoConnect ("ime omrežja", "geslo"); - ustvari omrežje z definiranim imenom in geslom.

• autoConnect ("ime omrežja"); - ustvari odprto omrežje z definiranim imenom.

• autoConnect (); - ustvari odprto in samodejno imenovano omrežje z imenom 'ESP' + čipID.

2. startConfigPortal

Funkcija startConfigPortal je odgovorna za ustvarjanje dostopne točke, ne da bi se poskušala povezati s predhodno shranjenim omrežjem.

• startConfigPortal ("ime omrežja", "geslo"); - ustvari omrežje z definiranim imenom in geslom.

• startConfigPortal (); - ustvari odprto in samodejno imenovano omrežje z imenom 'ESP' + čipID.

3. getConfigPortalSSID

Vrne SSID portala (dostopna točka)

4. getSSID

To vrne SSID omrežja, s katerim je povezan.

5. getPassword

S tem se vrne geslo omrežja, s katerim je povezano.

6. setDebugOutput

Funkcija setDebugOutput je odgovorna za tiskanje sporočil za odpravljanje napak na serijski monitor. Ta sporočila so že definirana v knjižnici. Ko greste skozi funkcije, se bodo podatki natisnili.

Ta funkcija je privzeto nastavljena na TRUE. Če želite onemogočiti sporočila, preprosto nastavite funkcijo na FALSE.

7. setMinimumSignalQuality

Funkcija setMinimumSignalQuality je odgovorna za filtriranje omrežij na podlagi kakovosti signala. WiFiManager privzeto ne prikazuje omrežij za prijavo pod 8%.

8. setRemoveDuplicateAPs

Za odstranitev dvojnikov omrežja je odgovorna funkcija setRemoveDuplicateAPs.

Privzeto je nastavljeno na TRUE.

9. setAPStaticIPConfig

Za nastavitev statičnih naslovov v načinu dostopne točke je odgovorna funkcija setAPStaticIPConfig.

(IP, GATEWAY, SUBNET)

10. setSTAStaticIPConfig

Za nastavitev statičnih naslovov v načinu postaje je odgovorna funkcija setSTAStaticIPConfig.

(IP, GATEWAY, SUBNET)

Pred samodejno povezavo morate dodati ukaz !!!

11. setAPCallback

Funkcija setAPCallback vas obvešča, da se je začel način AP.

Parameter je funkcija, ki jo je treba ustvariti, da jo označi kot povratni klic;

12. setSaveConfigCallback

Funkcija setSaveConfigCallback vas obvešča, da je bila nova konfiguracija shranjena in je bila povezava uspešno zaključena.

Parameter je funkcija za ustvarjanje in to označuje kot allback.

Pred samodejno povezavo morate dodati ukaz !!!

6. korak: Montaža

Montaža
Montaža

Primer

V našem primeru bomo ustvarili dostopno točko z ESP (koda bo služila tako ESP8266 kot ESP32). Po izdelavi dostopne točke bomo do portala dostopali prek IP 192.168.4.1 (ki je privzeti dostop do njega). Poiščimo torej razpoložljiva omrežja, izberite eno in shranite. Od tam se bo ESP znova zagnal in poskušal povezati z njim, nato pa bo deloval kot postaja in ne več kot dostopna točka.

Po vstopu v način postaje lahko ESP vrnete v način dostopne točke samo s pritiskom na gumb.

7. korak: Koda

Knjižnice

Najprej opredelimo knjižnice, ki jih bomo uporabljali.

Upoštevajte, da imamo ukaze #if, #else in #endif. Pogojno vključujejo potrebne knjižnice, ki se nanašajo na čip. Ta del je izredno pomemben za izvajanje iste kode na ESP8266 in ESP32.

#if definirano (ESP8266)

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

#if definirano (ESP8266)

#include // Lokalni spletni strežnik, ki se uporablja za strežnik konfiguracijskega portala

#sicer

#include // Lokalni strežnik DNS, ki se uporablja za preusmeritev vseh zahtev na konfiguracijski portal (https://github.com/zhouhan0126/DNSServer---esp32)

#endif

#include // Lokalni spletni strežnik, ki je služil za konfiguracijo portala (https://github.com/zhouhan0126/DNSServer---esp32) #include // Čarovnija za konfiguracijo WiFi (https://github.com/zhouhan0126/DNSServer-- -esp32) >> https://github.com/zhouhan0126/DNSServer---esp32 (ORIGINAL)

8. korak: Nastavitev

V nastavitvah konfiguriramo naš WiFiManager na najpreprostejši način. Določimo samo povratne klice in ustvarimo omrežje.

const int PIN_AP = 2;

void setup () {Serial.begin (9600); pinMode (PIN_AP, INPUT); // razglasi, da objekti wifiManager WiFiManager wifiManager;

// izkoristite esse comando, kot konfiguracijo são apagadas da memória // caso tiver salvo alguma rede para conectar automaticamente, ela é apagada. // wifiManager.resetSettings (); // povratni klic za vstop v način za konfiguracijo AP wifiManager.setAPCallback (configModeCallback); // callback para quando se conecta em uma rede, ou seja, quando passa a trabalhar em modo estação wifiManager.setSaveConfigCallback (saveConfigCallback); // kria uma rede de nome ESP_AP com senha 12345678 wifiManager.autoConnect ("ESP_AP", "12345678"); }

9. korak: Zanka

V zanki bomo prebrali zatič gumba, da vidimo, ali je bil pritisnjen, nato pa poklicali metodo za ponovni vklop načina AP.

void loop () {

WiFiManager wifiManager; // se o botão foi pressionado if (digitalRead (PIN_AP) == HIGH) {Serial.println ("resetar"); // na kratko o portalu if (! wifiManager.startConfigPortal ("ESP_AP", "12345678")) {Serial.println ("Falha ao conectar"); zamuda (2000); ESP.restart (); zamuda (1000); } Serial.println ("Conectou ESP_AP !!!"); }

Ko pritisnete gumb, bo ESP zapustil način postaje in odprl vašo dostopno točko in portal.

Ne pozabite, da ne uporabljamo ukaza resetSettings (). Nastavitve se še vedno shranijo za naslednjič, ko se ESP zažene.

10. korak: Povratni klici

Funkcije povratnega klica, povezane z dogodki, vam služijo za natančen trenutek operacije, v našem primeru za vstop v način AP in način postaje. Nato lahko izvedemo želeno rutino, na primer na primer pridobimo SSID iz povezanega omrežja.

// povratni klic indikator que o ESP entrou brez modo AP

void configModeCallback (WiFiManager *myWiFiManager) {// Serial.println ("Vnesen način konfiguracije"); 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

}

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

void saveConfigCallback () {// Serial.println ("Naj shrani konfiguracijo"); Serial.println ("Configuração salva"); Serial.println (WiFi.softAPIP ()); // imprime o IP do AP}

Priporočena: