Cuprins:

ESP8266 și ESP32 Cu WiFiManager: 10 pași
ESP8266 și ESP32 Cu WiFiManager: 10 pași
Anonim
Image
Image
PINOUT
PINOUT

Sunteți familiarizat cu WiFiManager? Este o bibliotecă care servește ca manager de conexiune wireless și, odată cu aceasta, avem o modalitate mai ușoară de a configura atât un punct de acces, cât și o stație. Am primit mai multe sugestii pentru a discuta acest subiect; așa că astăzi vă voi prezenta această bibliotecă și funcțiile sale. De asemenea, voi face o demonstrație a utilizării sale atât cu ESP32, cât și cu ESP8266.

Pasul 1: PINOUT

PINOUT
PINOUT

Aici arăt PINOUTUL celor două dispozitive pe care le vom folosi:

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

Pasul 2: WiFiManager

WiFiManager nu este nimic mai mult decât o bibliotecă scrisă pe WiFi.h pentru o gestionare ușoară a conexiunilor wireless. Amintiți-vă că, cu acesta, avem o facilitate mai mare pentru a configura atât un punct de acces, cât și o stație. Pentru modul Station, configurăm printr-un portal în browser.

Unele caracteristici:

• Depinde de conectivitatea automată

• Initializarea portalului de configurare neautomatic

• Funcționează selectiv în modul dual

Pasul 3: Cum funcționează

Cum functioneaza
Cum functioneaza
Cum functioneaza
Cum functioneaza

ESP va iniția un portal de configurare WiFi atunci când este conectat și va salva datele de configurare în memoria non-volatilă. Ulterior, portalul de configurare va porni din nou numai dacă este apăsat un buton în modulul ESP.

Aici puteți verifica fluxul de configurare și urmați acest pas cu pas:

1. Folosind orice dispozitiv compatibil WiFi cu browser, conectați-vă la punctul de acces nou creat și introduceți adresa 192.168.4.1.

2. Pe ecran veți avea două opțiuni pentru a vă conecta la o rețea existentă:

• Configurați WiFi

• Configurați WiFi (fără scanare)

3. Alegeți una dintre rețele și introduceți parola (dacă este necesar). Apoi salvați și așteptați ca ESP să repornească.

4. La sfârșitul boot-ului, ESP încearcă să se conecteze la rețeaua salvată. Dacă nu puteți face acest lucru, veți activa un punct de acces.

Pasul 4: Biblioteci

Biblioteci
Biblioteci

Adăugați biblioteca „WifiManager-ESP32”.

Accesați https://github.com/zhouhan0126/WIFIMANAGER-ESP32 și descărcați biblioteca.

Dezarhivați fișierul și lipiți-l în folderul de biblioteci al IDE Arduino.

C: / Program Files (x86) / Arduino / biblioteci

Adăugați biblioteca „DNSServer-ESP32”.

Accesați linkul https://github.com/zhouhan0126/DNSServer---esp32 și descărcați biblioteca.

Dezarhivați fișierul și lipiți-l în folderul de biblioteci al IDE Arduino.

C: / Program Files (x86) / Arduino / biblioteci

Adăugați biblioteca "WebServer-ESP32".

Accesați linkul https://github.com/zhouhan0126/WebServer-esp32 și descărcați biblioteca.

Dezarhivați fișierul și lipiți-l în folderul de biblioteci al IDE Arduino.

C: / Program Files (x86) / Arduino / biblioteci

Notă:

Biblioteca WiFiManager-ESP32 are deja setările care funcționează cu ESP8266, așa că vom folosi acest lucru numai, în loc de două lib-uri WiFiManager (una pentru fiecare tip de cip).

După cum vom vedea mai târziu, ESP8266WiFi și ESP8266WebServer sunt biblioteci pe care nu trebuie să le descărcăm, deoarece acestea vin deja când instalăm ESP8266 în Arduino IDE.

Pasul 5: Funcții

Funcții
Funcții
Funcții
Funcții
Funcții
Funcții

Iată câteva funcții pe care ni le oferă WiFiManager.

1. autoConnect

Funcția autoConnect este responsabilă pentru crearea unui punct de acces. Îl putem folosi în trei moduri.

• autoConnect („numele rețelei”, „parola”); - creează o rețea cu numele și parola definite.

• autoConnect („numele rețelei”); - creează o rețea deschisă cu numele definit.

• conectare automata (); - creează o rețea deschisă și denumită automat cu numele fiind „ESP” + chipID.

2. startConfigPortal

Funcția startConfigPortal este responsabilă pentru crearea unui punct de acces fără a încerca să se conecteze la o rețea salvată anterior.

• startConfigPortal („numele rețelei”, „parola”); - creează o rețea cu numele și parola definite.

• startConfigPortal (); - creează o rețea deschisă și denumită automat cu numele fiind „ESP” + chipID.

3. getConfigPortalSSID

Returnează SSID-ul portalului (punct de acces)

4. getSSID

Aceasta returnează SSID-ul rețelei la care este conectat.

5. getPassword

Aceasta returnează parola rețelei la care este conectată.

6. setDebugOutput

Funcția setDebugOutput este responsabilă pentru tipărirea mesajelor de depanare pe monitorul serial. Aceste mesaje sunt deja definite în bibliotecă. Pe măsură ce parcurgeți funcțiile, datele vor fi tipărite.

În mod implicit, această funcție este setată la TRUE. Dacă doriți să dezactivați mesajele, pur și simplu setați funcția la FALS.

7. setMinimumSignalQuality

Funcția setMinimumSignalQuality este responsabilă pentru filtrarea rețelelor pe baza calității semnalului. În mod implicit, WiFiManager nu va afișa rețelele de conectare sub 8%.

8. setRemoveDuplicateAPs

Funcția setRemoveDuplicateAPs este responsabilă pentru eliminarea duplicatelor de rețea.

În mod implicit, este setat la TRUE.

9. setAPStaticIPConfig

Funcția setAPStaticIPConfig este responsabilă pentru setarea setărilor adresei statice în modul punct de acces.

(IP, GATEWAY, SUBNET)

10. setSTAStaticIPConfig

Funcția setSTAStaticIPConfig este responsabilă pentru setarea setărilor adresei statice în modul stație.

(IP, GATEWAY, SUBNET)

Trebuie să adăugați comanda înainte de autoConnect !!!

11. setAPCallback

Funcția setAPCallback este responsabilă pentru a vă informa că a început modul AP.

Parametrul este o funcție care trebuie creată pentru a-l indica ca apel invers;

12. setSaveConfigCallback

Funcția setSaveConfigCallback este responsabilă pentru a vă informa că a fost salvată o nouă configurație și că conexiunea a fost finalizată cu succes.

Parametrul este o funcție de creat și indică acest lucru ca o revenire.

Trebuie să adăugați comanda înainte de autoConnect !!!

Pasul 6: Asamblare

Asamblare
Asamblare

Exemplu

În exemplul nostru, vom crea un punct de acces cu ESP (codul va servi atât ESP8266, cât și ESP32). După crearea AP-ului, vom accesa portalul prin IP 192.168.4.1 (care este implicit pentru a-l accesa). Deci, să luăm rețelele disponibile, să selectăm una și să salvăm. De acolo, ESP va reporni și va încerca să se conecteze la acesta, apoi va funcționa ca stație și nu mai mult ca punct de acces.

După ce ați intrat în modul stație, puteți face ESP să revină la modul Punct de acces numai prin intermediul butonului.

Pasul 7: Cod

Biblioteci

Mai întâi să definim bibliotecile pe care le vom folosi.

Rețineți că avem comenzi #if definite, #else și #endif. Acestea sunt condiționate să includă bibliotecile necesare referitoare la cip. Această parte este extrem de importantă pentru a rula același cod atât pe ESP8266, cât și pe ESP32.

#if definit (ESP8266)

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

#if definit (ESP8266)

#include // Local WebServer folosit pentru a servi portalul de configurare

#else

#include // Server DNS local utilizat pentru redirecționarea tuturor cererilor către portalul de configurare (https://github.com/zhouhan0126/DNSServer---esp32)

#endif

#include // Local WebServer folosit pentru a servi portalul de configurare (https://github.com/zhouhan0126/DNSServer---esp32) #include // WiFi Configuration Magic (https://github.com/zhouhan0126/DNSServer-- -esp32) >> https://github.com/zhouhan0126/DNSServer---esp32 (ORIGINAL)

Pasul 8: Configurare

În configurare, ne configurăm WiFiManager în cel mai simplu mod. Să definim apelurile și să creăm rețeaua.

const int PIN_AP = 2;

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

// folosind esse comando, as configurações são apagadas da memória // caso tiver salvo alguma rede pentru conectar automaticamente, ela é apagada. // wifiManager.resetSettings (); // callback pentru când intră în modul de configurare AP wifiManager.setAPCallback (configModeCallback); // callback pentru când se conectează em uma rede, sau seja, când trece la lucru în modul acesta wifiManager.setSaveConfigCallback (saveConfigCallback); // cria uma rede de nume ESP_AP com senha 12345678 wifiManager.autoConnect ("ESP_AP", "12345678"); }

Pasul 9: Buclă

În buclă, vom citi pinul butonului pentru a vedea dacă a fost apăsat și apoi vom apela metoda pentru a reactiva modul AP.

bucla nulă () {

WiFiManager wifiManager; // se o botão a fost presat if (digitalRead (PIN_AP) == HIGH) {Serial.println ("resetar"); // tenta deschide portalul if (! wifiManager.startConfigPortal ("ESP_AP", "12345678")) {Serial.println ("Falha ao conectar"); întârziere (2000); ESP.restart (); întârziere (1000); } Serial.println ("Conectou ESP_AP !!!"); }

Când apăsați butonul, ESP va ieși din modul stație și vă va deschide punctul de acces și portalul.

Amintiți-vă că nu folosim comanda resetSettings (). Setările sunt încă salvate pentru următoarea pornire a ESP.

Pasul 10: Rambursări

Funcțiile de apel invers, care sunt asociate cu evenimentele, vă servesc pentru a avea momentul exact al unei operații, în cazul nostru, intrând în modul AP și în modul Stație. Putem apoi implementa rutina dorită, cum ar fi recuperarea SSID din rețeaua conectată, de exemplu.

// callback que indica que o ESP entrou no modo AP

void configModeCallback (WiFiManager * myWiFiManager) {// Serial.println ("Mod de configurare introdus"); Serial.println ("Entrou no modo de configuração"); Serial.println (WiFi.softAPIP ()); // imprime o IP face 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 ("Ar trebui să salveze config"); Serial.println ("Configuração salva"); Serial.println (WiFi.softAPIP ()); // imprime o IP do AP}

Recomandat: