Përmbajtje:

ESP8266 dhe ESP32 Me WiFiManager: 10 hapa
ESP8266 dhe ESP32 Me WiFiManager: 10 hapa

Video: ESP8266 dhe ESP32 Me WiFiManager: 10 hapa

Video: ESP8266 dhe ESP32 Me WiFiManager: 10 hapa
Video: Использование комплекта Wi-Fi Heltec ESP32 OLED 2024, Nëntor
Anonim
Image
Image
PINOUT
PINOUT

A jeni njohur me WiFiManager? Ashtë një bibliotekë që shërben si një menaxher i lidhjes pa tel, dhe me të, ne kemi një mënyrë më të lehtë për të konfiguruar si një Access Point ashtu edhe një Stacion. Kam marrë disa sugjerime për të diskutuar këtë temë; kështu që sot do t'ju prezantoj me këtë bibliotekë dhe funksionet e saj. Unë gjithashtu do të bëj një demonstrim të përdorimit të tij si me ESP32 ashtu edhe me ESP8266.

Hapi 1: PINOUT

PINOUT
PINOUT

Këtu unë tregoj PINOUT -in e dy pajisjeve që do të përdorim:

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

Hapi 2: Menaxhuesi WiFi

WiFiManager nuk është asgjë më shumë se një bibliotekë e shkruar në krye të WiFi.h për menaxhimin e lehtë të lidhjeve pa tel. Mos harroni se me të, ne kemi një strukturë më të madhe për të konfiguruar si një pikë aksesi ashtu edhe një stacion. Për modalitetin e stacionit, ne konfigurojmë përmes një portali në shfletuesin.

Disa veçori:

• Varet nga lidhshmëria automatike

• Fillimi i portalit të konfigurimit jo-automatik

• Punon në mënyrë selektive në modalitetin e dyfishtë

Hapi 3: Si funksionon

Si punon
Si punon
Si punon
Si punon

ESP do të inicojë një portal konfigurimi WiFi kur të lidhet dhe do të ruajë të dhënat e konfigurimit në kujtesën jo të paqëndrueshme. Më pas, portali i konfigurimit do të fillojë përsëri vetëm nëse një buton shtypet në modulin ESP.

Këtu mund të kontrolloni rrjedhën e konfigurimit dhe ta ndiqni këtë hap pas hapi:

1. Duke përdorur çdo pajisje të aktivizuar me WiFi me një shfletues, lidheni me pikën e hyrjes të krijuar rishtazi dhe futni adresën 192.168.4.1.

2. Në ekran do të keni dy mundësi për t'u lidhur me një rrjet ekzistues:

• Konfiguroni WiFi

• Konfiguro WiFi (pa skanim)

3. Zgjidhni një nga rrjetet dhe futni fjalëkalimin (nëse është e nevojshme). Pastaj ruani dhe prisni që ESP të rindizet.

4. Në fund të nisjes, ESP përpiqet të lidhet me rrjetin e ruajtur. Nëse nuk mund ta bëni këtë, do të aktivizoni një Access Point.

Hapi 4: Bibliotekat

Bibliotekat
Bibliotekat

Shtoni bibliotekën "WifiManager-ESP32".

Shkoni te https://github.com/zhouhan0126/WIFIMANAGER-ESP32 dhe shkarkoni bibliotekën.

Zbërtheni skedarin dhe ngjiteni në dosjen e bibliotekave të Arduino IDE.

C: / Skedarët e programit (x86) / Arduino / bibliotekat

Shtoni bibliotekën "DNSServer-ESP32".

Shkoni te lidhja https://github.com/zhouhan0126/DNSServer---esp32 dhe shkarkoni bibliotekën.

Zbërtheni skedarin dhe ngjiteni në dosjen e bibliotekave të Arduino IDE.

C: / Skedarët e programit (x86) / Arduino / bibliotekat

Shtoni bibliotekën "WebServer-ESP32".

Shkoni te lidhja https://github.com/zhouhan0126/WebServer-esp32 dhe shkarkoni bibliotekën.

Zbërtheni skedarin dhe ngjiteni në dosjen e bibliotekave të Arduino IDE.

C: / Skedarët e programit (x86) / Arduino / bibliotekat

Shënim:

Biblioteka WiFiManager-ESP32 tashmë ka cilësimet që punojnë me ESP8266, kështu që ne do ta përdorim vetëm këtë, në vend të dy libeve WiFiManager (një për secilin lloj çipi).

Siç do ta shohim më vonë, ESP8266WiFi dhe ESP8266WebServer janë biblioteka që nuk kemi nevojë t'i shkarkojmë, sepse ato tashmë vijnë kur instalojmë ESP8266 në Arduino IDE.

Hapi 5: Funksionet

Funksione
Funksione
Funksione
Funksione
Funksione
Funksione

Këtu janë disa funksione që na ofron WiFiManager.

1. autoConnect

Funksioni autoConnect është përgjegjës për krijimin e një Pike Qasjeje. Ne mund ta përdorim atë në tre mënyra.

• autoConnect ("emri i rrjetit", "fjalëkalimi"); - krijon një rrjet me emrin dhe fjalëkalimin e përcaktuar.

• autoConnect ("emri i rrjetit"); - krijon një rrjet të hapur me emrin e përcaktuar.

• autoConnect (); - krijon një rrjet të hapur dhe të quajtur automatikisht me emrin "ESP" + chipID.

2. startConfigPortal

Funksioni startConfigPortal është përgjegjës për krijimin e një Pike Access pa u përpjekur të lidheni me një rrjet të ruajtur më parë.

• startConfigPortal ("emri i rrjetit", "fjalëkalimi"); - krijon një rrjet me emrin dhe fjalëkalimin e përcaktuar.

• startConfigPortal (); - krijon një rrjet të hapur dhe të quajtur automatikisht me emrin "ESP" + chipID.

3. getConfigPortalSSID

Kthen SSID -in e portalit (Pika e hyrjes)

4. getSSID

Kjo kthen SSID -in e rrjetit me të cilin është lidhur.

5. getPassword

Kjo kthen fjalëkalimin e rrjetit me të cilin është lidhur.

6. setDebugOutput

Funksioni setDebugOutput është përgjegjës për printimin e mesazheve të korrigjimit në monitorin serik. Këto mesazhe janë përcaktuar tashmë në bibliotekë. Ndërsa kaloni nëpër funksionet, të dhënat do të shtypen.

Si parazgjedhje, ky funksion është vendosur në TRUE. Nëse doni të çaktivizoni mesazhet, thjesht vendosni funksionin në FALSE.

7. setMinimumSignalQuality

Funksioni setMinimumSignalQuality është përgjegjës për filtrimin e rrjeteve bazuar në cilësinë e sinjalit. Si parazgjedhje, WiFiManager nuk do të shfaqë rrjetet e regjistrimit nën 8%.

8. setRemoveDuplicateAPs

Funksioni setRemoveDuplicateAPs është përgjegjës për heqjen e kopjimeve të rrjetit.

Si parazgjedhje është vendosur në TRUE.

9. setAPStaticIPConfig

Funksioni setAPStaticIPConfig është përgjegjës për vendosjen e cilësimeve të adresës statike kur jeni në modalitetin e pikës së hyrjes.

(IP, GATEWAY, SUBNET)

10. setSTAStaticIPConfig

Funksioni setSTAStaticIPConfig është përgjegjës për vendosjen e cilësimeve të adresës statike kur jeni në modalitetin e stacionit.

(IP, GATEWAY, SUBNET)

Duhet të shtoni komandën para se të lidheni automatikisht !!!

11. setAPCallback

Funksioni setAPCallback është përgjegjës për t'ju informuar se modaliteti AP ka filluar.

Parametri është një funksion që duhet të krijohet për ta treguar atë si një thirrje kthyese;

12. setSaveConfigCallback

Funksioni setSaveConfigCallback është përgjegjës për t'ju informuar se një konfigurim i ri është ruajtur dhe lidhja është përfunduar me sukses.

Parametri është një funksion për të krijuar dhe e tregon këtë si një allback.

Duhet të shtoni komandën para se të lidheni automatikisht !!!

Hapi 6: Asambleja

Kuvendi
Kuvendi

Shembull

Në shembullin tonë, ne do të krijojmë një Access Point me ESP (kodi do të shërbejë si për ESP8266 ashtu edhe për ESP32). Pas krijimit të AP, ne do të hyjmë në portal përmes IP 192.168.4.1 (që është parazgjedhja për të hyrë në të). Pra, le të marrim rrjetet në dispozicion, zgjidhni një dhe ruani. Nga atje, ESP do të riniset dhe do të përpiqet të lidhet me të, dhe më pas do të funksionojë si stacion dhe jo më si Pikë hyrëse.

Pas hyrjes në modalitetin e stacionit, mund ta bëni ESP të kthehet në modalitetin e Pikës së Qasjes vetëm përmes butonit.

Hapi 7: Kodi

Bibliotekat

Së pari le të përcaktojmë bibliotekat që do të përdorim.

Vini re se ne kemi komanda #ifi të përcaktuara, #të tjera dhe #endif. Ato janë të kushtëzuara për të përfshirë bibliotekat e nevojshme që kanë të bëjnë me çipin. Kjo pjesë është jashtëzakonisht e rëndësishme për të ekzekutuar të njëjtin kod si në ESP8266 ashtu edhe në ESP32.

#nëse është përcaktuar (ESP8266)

#include // ESP8266 Biblioteka Core WiFi #alse #include // ESP32 Biblioteka Core WiFi #endif

#nëse është përcaktuar (ESP8266)

#include // WebServeri lokal i përdorur për t'i shërbyer portalit të konfigurimit

#te tjera

#include // Serveri DNS lokal i përdorur për përcjelljen e të gjitha kërkesave në portalin e konfigurimit (https://github.com/zhouhan0126/DNSServer---esp32)

#endif

#include // WebServeri lokal përdoret për t'i shërbyer portalit të konfigurimit (https://github.com/zhouhan0126/DNSServer---esp32) #include // WiFi Configuration Magic (https://github.com/zhouhan0126/DNSServer-- -esp32) >> https://github.com/zhouhan0126/DNSServer---esp32 (ORIGJINALE)

Hapi 8: Konfigurimi

Në konfigurim, ne po konfigurojmë WiFiManager -in tonë në mënyrën më të thjeshtë. Le të përcaktojmë vetëm thirrjet dhe të krijojmë rrjetin.

const int PIN_AP = 2;

void setup () {Serial.begin (9600); pinMode (PIN_AP, INPUT); // deklaroni për objektet wifiManager WiFiManager wifiManager;

// përdorni për të bërë komando, si konfigurime në apagadas të kujtesës // për të gjitha rastet e tjera që ju pëlqejnë, për shembull, në mënyrë automatike, ela é apagada. // wifiManager.resetSettings (); // thirrje paraprake për të hyrë në modalitetin e konfigurimit të 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); // cria uma rede de nome ESP_AP com senha 12345678 wifiManager.autoConnect ("ESP_AP", "12345678"); }

Hapi 9: Lak

Në lak, ne do të lexojmë pinin e butonit për të parë nëse është shtypur, dhe më pas do të thërrasim metodën për të riaktivizuar modalitetin AP.

lak void () {

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

Kur shtypni butonin, ESP do të dalë nga modaliteti i stacionit dhe do të hapë pikën tuaj të hyrjes dhe portalin.

Mos harroni se ne nuk përdorim komandën resetSettings (). Cilësimet ruhen akoma për herën tjetër kur çizmet ESP.

Hapi 10: Telefonatat

Funksionet e thirrjes, të cilat shoqërohen me ngjarje, shërbejnë që ju të keni momentin e saktë të një operacioni, në rastin tonë, duke hyrë në modalitetin AP dhe modalitetin e stacionit. Ne pastaj mund të zbatojmë një rutinë të dëshiruar, siç është marrja e SSID nga rrjeti i lidhur, për shembull.

// kthimi i thirrjes që tregon ose ESP nuk ka modifikuar AP

void configModeCallback (WiFiManager *myWiFiManager) {// Serial.println ("U fut në modalitetin e konfigurimit"); Serial.println ("Entrou no modo de configuração"); Serial.println (WiFi.softAPIP ()); // imprime o IP për AP Serial.println (myWiFiManager-> getConfigPortalSSID ()); // imprime o SSID criado da rede

}

// thirrje kthyese që tregon për salvamos uma nova rede para se conectar (modo estação)

void saveConfigCallback () {// Serial.println ("Duhet të ruajë konfigurimin"); Serial.println ("Configuração salva"); Serial.println (WiFi.softAPIP ()); // imprim o IP për AP}

Recommended: