Sadržaj:

ESP8266 i ESP32 s WiFiManagerom: 10 koraka
ESP8266 i ESP32 s WiFiManagerom: 10 koraka

Video: ESP8266 i ESP32 s WiFiManagerom: 10 koraka

Video: ESP8266 i ESP32 s WiFiManagerom: 10 koraka
Video: Как защитить свою сеть от взлома wi-fi на ESP32 2024, Srpanj
Anonim
Image
Image
PRIKAZ IZVODA
PRIKAZ IZVODA

Jeste li upoznati s WiFiManagerom? To je knjižnica koja služi kao upravitelj bežične veze, a s njom imamo lakši način konfiguriranja i pristupne točke i postaje. Primio sam nekoliko prijedloga za raspravu o ovoj temi; pa ću vam danas predstaviti ovu knjižnicu i njezine funkcije. Također ću demonstrirati njegovu upotrebu s ESP32 i ESP8266.

Korak 1: PINOUT

PRIKAZ IZVODA
PRIKAZ IZVODA

Ovdje pokazujem PINOUT dva uređaja koja ćemo koristiti:

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

Korak 2: WiFiManager

WiFiManager zapravo nije ništa drugo do knjižnica napisana na vrhu WiFi.h za jednostavno upravljanje bežičnim vezama. Upamtite da s njim imamo veće mogućnosti za konfiguriranje i pristupne točke i postaje. Za način rada stanice konfiguriramo putem portala u pregledniku.

Neke značajke:

• Ovisi o automatskom povezivanju

• Inicijalizacija portala za automatsku konfiguraciju

• Djeluje selektivno u dvostrukom načinu rada

Korak 3: Kako to radi

Kako radi
Kako radi
Kako radi
Kako radi

ESP će pokrenuti WiFi konfiguracijski portal kada je spojen i spremit će konfiguracijske podatke u trajnu memoriju. Nakon toga će se konfiguracijski portal ponovno pokrenuti samo ako se pritisne gumb u ESP modulu.

Ovdje možete provjeriti tijek konfiguracije i slijediti ovaj korak po korak:

1. Pomoću bilo kojeg uređaja s preglednikom koji podržava WiFi povežite se s novonastalom pristupnom točkom i unesite adresu 192.168.4.1.

2. Na zaslonu ćete imati dvije mogućnosti povezivanja na postojeću mrežu:

• Konfigurirajte WiFi

• Konfigurirajte WiFi (bez skeniranja)

3. Odaberite jednu od mreža i unesite lozinku (ako je potrebno). Zatim spremite i pričekajte da se ESP ponovno pokrene.

4. Na kraju pokretanja, ESP se pokušava povezati sa spremljenom mrežom. Ako to ne možete učiniti, omogućit ćete pristupnu točku.

Korak 4: Knjižnice

Knjižnice
Knjižnice

Dodajte biblioteku "WifiManager-ESP32".

Idite na https://github.com/zhouhan0126/WIFIMANAGER-ESP32 i preuzmite biblioteku.

Raspakirajte datoteku i zalijepite je u mapu knjižnica Arduino IDE -a.

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

Dodajte biblioteku "DNSServer-ESP32".

Idite na https://github.com/zhouhan0126/DNSServer---esp32 vezu i preuzmite biblioteku.

Raspakirajte datoteku i zalijepite je u mapu knjižnica Arduino IDE -a.

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

Dodajte biblioteku "WebServer-ESP32".

Idite na vezu https://github.com/zhouhan0126/WebServer-esp32 i preuzmite biblioteku.

Raspakirajte datoteku i zalijepite je u mapu knjižnica Arduino IDE -a.

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

Bilješka:

Knjižnica WiFiManager-ESP32 već ima postavke koje rade s ESP8266, pa ćemo koristiti samo ovo, umjesto dva WiFiManager liba (po jedan za svaku vrstu čipa).

Kao što ćemo vidjeti kasnije, ESP8266WiFi i ESP8266WebServer knjižnice su koje ne moramo preuzimati, jer već dolaze kada instaliramo ESP8266 u Arduino IDE.

Korak 5: Funkcije

Funkcije
Funkcije
Funkcije
Funkcije
Funkcije
Funkcije

Evo nekoliko funkcija koje nam nudi WiFiManager.

1. autoConnect

Funkcija autoConnect odgovorna je za stvaranje pristupne točke. Možemo ga koristiti na tri načina.

• autoConnect ("naziv mreže", "lozinka"); - stvara mrežu s definiranim imenom i lozinkom.

• autoConnect ("naziv mreže"); - stvara otvorenu mrežu s definiranim imenom.

• autoConnect (); - stvara otvorenu i automatski imenovanu mrežu s imenom 'ESP' + chipID.

2. startConfigPortal

Funkcija startConfigPortal odgovorna je za stvaranje pristupne točke bez pokušaja povezivanja s prethodno spremljenom mrežom.

• startConfigPortal ("naziv mreže", "lozinka"); - stvara mrežu s definiranim imenom i lozinkom.

• startConfigPortal (); - stvara otvorenu i automatski imenovanu mrežu s imenom 'ESP' + chipID.

3. getConfigPortalSSID

Vraća SSID portala (pristupna točka)

4. getSSID

Time se vraća SSID mreže na koju je spojen.

5. getPassword

Time se vraća lozinka mreže na koju je spojena.

6. setDebugOutput

Funkcija setDebugOutput odgovorna je za ispis poruka za otklanjanje pogrešaka na serijskom monitoru. Ove su poruke već definirane u knjižnici. Dok prolazite kroz funkcije, podaci će se ispisati.

Prema zadanim postavkama ova je funkcija postavljena na TRUE. Ako želite onemogućiti poruke, jednostavno postavite funkciju na FALSE.

7. setMinimumSignalQuality

Funkcija setMinimumSignalQuality odgovorna je za filtriranje mreža na temelju kvalitete signala. Prema zadanim postavkama, WiFiManager neće prikazivati mreže za prijavu ispod 8%.

8. setRemoveDuplicateAPs

Funkcija setRemoveDuplicateAPs odgovorna je za uklanjanje mrežnih duplikata.

Prema zadanim postavkama postavljeno je na TRUE.

9. setAPStaticIPConfig

Funkcija setAPStaticIPConfig odgovorna je za postavljanje postavki statičke adrese u načinu pristupne točke.

(IP, GATEWAY, SUBNET)

10. setSTAStaticIPConfig

Funkcija setSTAStaticIPConfig odgovorna je za postavljanje postavki statičke adrese u načinu rada stanice.

(IP, GATEWAY, SUBNET)

Morate dodati naredbu prije automatskog povezivanja !!!

11. setAPCallback

Funkcija setAPCallback odgovorna je za obavještavanje vas da je započeo način rada AP.

Parametar je funkcija koja se mora stvoriti kako bi se označila kao povratni poziv;

12. setSaveConfigCallback

Funkcija setSaveConfigCallback odgovorna je za obavještavanje vas da je nova konfiguracija spremljena i da je veza uspješno dovršena.

Parametar je funkcija za stvaranje i označava to kao allback.

Morate dodati naredbu prije automatskog povezivanja !!!

Korak 6: Montaža

Skupština
Skupština

Primjer

U našem primjeru stvorit ćemo pristupnu točku s ESP -om (kôd će služiti i ESP8266 i ESP32). Nakon izrade pristupne točke pristupit ćemo portalu putem IP 192.168.4.1 (što je zadana postavka za pristup). Pa uzmimo dostupne mreže, odaberite jednu i spremite. Od tada će se ESP ponovno pokrenuti i pokušati povezati s njim, a zatim će raditi kao stanica, a ne više kao pristupna točka.

Nakon ulaska u način rada postaje, ESP se može vratiti u način pristupne točke samo pomoću gumba.

Korak 7: Kodirajte

Knjižnice

Prvo definirajmo knjižnice koje ćemo koristiti.

Imajte na umu da imamo #if definirane, #else i #endif naredbe. Oni uvjetno uključuju potrebne biblioteke koje se odnose na čip. Ovaj je dio iznimno važan za pokretanje istog koda i na ESP8266 i na ESP32.

#ako je definirano (ESP8266)

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

#ako je definirano (ESP8266)

#include // Lokalni WebServer koji služi za posluživanje konfiguracijskog portala

#drugo

#include // Lokalni DNS poslužitelj koji se koristi za preusmjeravanje svih zahtjeva na konfiguracijski portal (https://github.com/zhouhan0126/DNSServer---esp32)

#završi ako

#include // Lokalni WebServer koji je služio za posluživanje konfiguracijskog portala (https://github.com/zhouhan0126/DNSServer---esp32) #include // Magija konfiguracije WiFi-a (https://github.com/zhouhan0126/DNSServer-- -esp32) >> https://github.com/zhouhan0126/DNSServer---esp32 (ORIGINAL)

Korak 8: Postavljanje

Prilikom postavljanja konfiguriramo naš WiFiManager na najjednostavniji način. Definirajmo samo povratne pozive i stvorimo mrežu.

const int PIN_AP = 2;

void setup () {Serial.begin (9600); pinMode (PIN_AP, INPUT); // proglašava objekti 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 (); // povratni poziv za početak ulaska u način rada za konfiguriranje 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"); }

Korak 9: Petlja

U petlji ćemo čitati pribadaču gumba da vidimo je li pritisnuta, a zatim ćemo pozvati metodu za ponovno omogućavanje AP načina.

void loop () {{100} {101}

WiFiManager wifiManager; // se o botão foi pressionado if (digitalRead (PIN_AP) == HIGH) {Serial.println ("resetar"); // pokušajte sa portalom if (! wifiManager.startConfigPortal ("ESP_AP", "12345678")) {Serial.println ("Falha ao conectar"); odgoda (2000); ESP.restart (); kašnjenje (1000); } Serial.println ("Conectou ESP_AP !!!"); }

Kada pritisnete gumb, ESP će napustiti način rada stanice i otvoriti vašu pristupnu točku i portal.

Upamtite da ne koristimo naredbu resetSettings (). Postavke se i dalje spremaju za sljedeći put kada se ESP podigne.

Korak 10: Povratni poziv

Funkcije povratnog poziva, povezane s događajima, služe vam za točan trenutak operacije, u našem slučaju ulaska u način rada AP i način rada postaje. Tada možemo implementirati neku željenu rutinu, poput preuzimanja SSID -a iz povezane mreže, na primjer.

// povratni poziv que indica que o ESP entrou no modo AP

void configModeCallback (WiFiManager *myWiFiManager) {// Serial.println ("Unesen 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 poziv que indica que salvamos uma nova rede para se conectar (modo estação)

void saveConfigCallback () {// Serial.println ("Treba spremiti konfiguraciju"); Serial.println ("Configuração salva"); Serial.println (WiFi.softAPIP ()); // imprime o IP do AP}

Preporučeni: