Satura rādītājs:

ESP8266 un ESP32 Ar WiFiManager: 10 soļi
ESP8266 un ESP32 Ar WiFiManager: 10 soļi

Video: ESP8266 un ESP32 Ar WiFiManager: 10 soļi

Video: ESP8266 un ESP32 Ar WiFiManager: 10 soļi
Video: Programming The ESP32 Cam Using Arduino UNO 2024, Jūlijs
Anonim
Image
Image
PINOUT
PINOUT

Vai esat pazīstams ar WiFiManager? Tā ir bibliotēka, kas kalpo kā bezvadu savienojumu pārvaldnieks, un līdz ar to mums ir vienkāršāks veids, kā konfigurēt gan piekļuves punktu, gan staciju. Esmu saņēmis vairākus ieteikumus apspriest šo tēmu; tāpēc šodien es jūs iepazīstināšu ar šo bibliotēku un tās funkcijām. Es arī demonstrēšu tā izmantošanu gan ar ESP32, gan ESP8266.

1. darbība: PINOUT

PINOUT
PINOUT

Šeit es parādīšu PINOUT no divām ierīcēm, kuras mēs izmantosim:

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

2. darbība: WiFiManager

WiFiManager patiešām ir nekas vairāk kā bibliotēka, kas uzrakstīta virs WiFi.h, lai ērti pārvaldītu bezvadu savienojumus. Atcerieties, ka līdz ar to mums ir lielāka iespēja konfigurēt gan piekļuves punktu, gan staciju. Stacijas režīmam mēs konfigurējam, izmantojot pārlūkprogrammas portālu.

Dažas funkcijas:

• Tas ir atkarīgs no automātiskās savienojamības

• Neautomātiskās konfigurācijas portāla inicializēšana

• Darbojas selektīvi dubultā režīmā

3. darbība. Kā tas darbojas

Kā tas strādā
Kā tas strādā
Kā tas strādā
Kā tas strādā

ESP izveidos WiFi konfigurācijas portālu, kad būs izveidots savienojums, un saglabās konfigurācijas datus nemainīgā atmiņā. Pēc tam konfigurācijas portāls sāksies no jauna tikai tad, ja ESP modulī tiks nospiesta poga.

Šeit jūs varat pārbaudīt konfigurācijas plūsmu un soli pa solim rīkoties šādi:

1. Izmantojot jebkuru ierīci ar WiFi savienojumu ar pārlūkprogrammu, izveidojiet savienojumu ar jaunizveidoto piekļuves punktu un ievadiet adresi 192.168.4.1.

2. Ekrānā būs divas iespējas, kā izveidot savienojumu ar esošu tīklu:

• Konfigurējiet WiFi

• Konfigurēt WiFi (bez skenēšanas)

3. Izvēlieties vienu no tīkliem un ievadiet paroli (ja nepieciešams). Pēc tam saglabājiet un pagaidiet, līdz ESP tiks restartēts.

4. Sāknēšanas beigās ESP mēģina izveidot savienojumu ar saglabāto tīklu. Ja nevarat to izdarīt, iespējojiet piekļuves punktu.

4. solis: bibliotēkas

Bibliotēkas
Bibliotēkas

Pievienojiet bibliotēku "WifiManager-ESP32".

Dodieties uz vietni https://github.com/zhouhan0126/WIFIMANAGER-ESP32 un lejupielādējiet bibliotēku.

Izsaiņojiet failu un ielīmējiet to Arduino IDE bibliotēku mapē.

C: / Program Files (x86) / Arduino / bibliotēkas

Pievienojiet bibliotēku "DNSServer-ESP32".

Dodieties uz saiti https://github.com/zhouhan0126/DNSServer---esp32 un lejupielādējiet bibliotēku.

Izsaiņojiet failu un ielīmējiet to Arduino IDE bibliotēku mapē.

C: / Program Files (x86) / Arduino / bibliotēkas

Pievienojiet bibliotēku "WebServer-ESP32".

Dodieties uz saiti https://github.com/zhouhan0126/WebServer-esp32 un lejupielādējiet bibliotēku.

Izsaiņojiet failu un ielīmējiet to Arduino IDE bibliotēku mapē.

C: / Program Files (x86) / Arduino / bibliotēkas

Piezīme:

WiFiManager-ESP32 bibliotēkā jau ir iestatījumi, kas darbojas ar ESP8266, tāpēc mēs izmantosim tikai šo, nevis divus WiFiManager libs (pa vienam katram mikroshēmas veidam).

Kā redzēsim vēlāk, ESP8266WiFi un ESP8266WebServer ir bibliotēkas, kuras mums nav nepieciešams lejupielādēt, jo tās jau nāk, kad mēs instalējam ESP8266 Arduino IDE.

5. solis: funkcijas

Funkcijas
Funkcijas
Funkcijas
Funkcijas
Funkcijas
Funkcijas

Šeit ir dažas funkcijas, ko mums piedāvā WiFiManager.

1. autoConnect

AutoConnect funkcija ir atbildīga par piekļuves punkta izveidi. Mēs varam to izmantot trīs veidos.

• autoConnect ("tīkla nosaukums", "parole"); - izveido tīklu ar noteiktu vārdu un paroli.

• autoConnect ("tīkla nosaukums"); - izveido atvērtu tīklu ar noteiktu nosaukumu.

• autoConnect (); - izveido atvērtu un automātiski nosauktu tīklu ar nosaukumu “ESP” + chipID.

2. startConfigPortal

Funkcija startConfigPortal ir atbildīga par piekļuves punkta izveidi, nemēģinot izveidot savienojumu ar iepriekš saglabātu tīklu.

• startConfigPortal ("tīkla nosaukums", "parole"); - izveido tīklu ar noteiktu vārdu un paroli.

• startConfigPortal (); - izveido atvērtu un automātiski nosauktu tīklu ar nosaukumu “ESP” + chipID.

3. getConfigPortalSSID

Atgriež portāla (piekļuves punkta) SSID

4. getSSID

Tādējādi tiek atgriezts tā tīkla SSID, kuram tas ir pievienots.

5. getPassword

Tādējādi tiek atgriezta tā tīkla parole, kurai tas ir pievienots.

6. setDebugOutput

Funkcija setDebugOutput ir atbildīga par atkļūdošanas ziņojumu drukāšanu seriālajā monitorā. Šie ziņojumi jau ir definēti bibliotēkā. Izpētot funkcijas, dati tiks izdrukāti.

Pēc noklusējuma šī funkcija ir iestatīta uz TRUE. Ja vēlaties atspējot ziņojumus, vienkārši iestatiet funkciju uz FALSE.

7. setMinimumSignalQuality

Funkcija setMinimumSignalQuality ir atbildīga par tīklu filtrēšanu, pamatojoties uz signāla kvalitāti. Pēc noklusējuma WiFiManager nerādīs pierakstīšanās tīklus zem 8%.

8. setRemoveDuplicateAPs

Funkcija setRemoveDuplicateAPs ir atbildīga par tīkla dublikātu noņemšanu.

Pēc noklusējuma tas ir iestatīts uz TRUE.

9. setAPStaticIPConfig

Funkcija setAPStaticIPConfig ir atbildīga par statiskās adreses iestatījumu iestatīšanu piekļuves punkta režīmā.

(IP, GATEWAY, SUBNET)

10. setSTAStaticIPConfig

Funkcija setSTAStaticIPConfig ir atbildīga par statiskās adreses iestatījumu iestatīšanu stacijas režīmā.

(IP, GATEWAY, SUBNET)

Pirms autoConnect jums jāpievieno komanda !!!

11. setAPCallback

Funkcija setAPCallback ir atbildīga par to, lai jūs informētu par AP režīma sākšanos.

Parametrs ir funkcija, kas jāizveido, lai to norādītu kā atzvanīšanu;

12. setSaveConfigCallback

Funkcija setSaveConfigCallback ir atbildīga par informēšanu, ka jauna konfigurācija ir saglabāta un savienojums ir veiksmīgi pabeigts.

Parametrs ir funkcija, kas jāizveido, un norāda to kā atsauci.

Pirms autoConnect jums jāpievieno komanda !!!

6. darbība: montāža

Montāža
Montāža

Piemērs

Mūsu piemērā mēs izveidosim piekļuves punktu ar ESP (kods kalpos gan ESP8266, gan ESP32). Pēc AP izveides mēs piekļūsim portālam, izmantojot IP 192.168.4.1 (kas ir noklusējums, lai tam piekļūtu). Tātad, pieņemsim pieejamos tīklus, atlasiet vienu un saglabājiet. No turienes ESP tiks restartēts un mēģinās izveidot savienojumu ar to, un tad tas darbosies kā stacija, nevis vairs kā piekļuves punkts.

Pēc stacijas režīma ieslēgšanas ESP var atgriezties piekļuves punkta režīmā tikai ar pogu.

7. darbība: kods

Bibliotēkas

Vispirms definēsim bibliotēkas, kuras mēs izmantosim.

Ņemiet vērā, ka mums ir komandas #if definēts, #else un #endif. Tie ir nosacīti, lai iekļautu nepieciešamās bibliotēkas, kas attiecas uz mikroshēmu. Šī daļa ir ārkārtīgi svarīga, lai palaistu vienu un to pašu kodu gan ESP8266, gan ESP32.

#ja definēts (ESP8266)

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

#ja definēts (ESP8266)

#include // Vietējais tīmekļa serveris, ko izmanto, lai apkalpotu konfigurācijas portālu

#citādi

#include // Vietējais DNS serveris, ko izmanto, lai novirzītu visus pieprasījumus uz konfigurācijas portālu (https://github.com/zhouhan0126/DNSServer---esp32)

#endif

#include // Vietējais tīmekļa serveris, ko izmanto, lai kalpotu konfigurācijas portālam (https://github.com/zhouhan0126/DNSServer---esp32) #include // WiFi konfigurācijas maģija (https://github.com/zhouhan0126/DNSServer-- -esp32) >> https://github.com/zhouhan0126/DNSServer---esp32 (ORIĢINĀLS)

8. darbība: iestatīšana

Iestatīšanas laikā mēs konfigurējam savu WiFiManager visvienkāršākajā veidā. Vienkārši definēsim atzvanus un izveidosim tīklu.

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 (); // atzvanīšana pēc quando entra em modo de configuração AP wifiManager.setAPCallback (configModeCallback); // atzvanīšana 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. solis: cilpa

Ciklā mēs nolasīsim pogas tapu, lai redzētu, vai tā ir nospiesta, un pēc tam izsauksim metodi, lai atkārtoti iespējotu AP režīmu.

void loop () {

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"); kavēšanās (2000); ESP.restart (); kavēšanās (1000); } Serial.println ("Conectou ESP_AP !!!"); }

Nospiežot pogu, ESP iziet no stacijas režīma un atver piekļuves punktu un portālu.

Atcerieties, ka mēs neizmantojam komandu resetSettings (). Iestatījumi joprojām tiek saglabāti nākamajai ESP sāknēšanas reizei.

10. darbība. Atzvanīšana

Atzvanīšanas funkcijas, kas ir saistītas ar notikumiem, kalpo tam, lai jūs varētu precīzi noteikt darbības brīdi, mūsu gadījumā, ievadot AP režīmu un stacijas režīmu. Pēc tam mēs varam ieviest vēlamo rutīnu, piemēram, SSID izgūšanu no pievienotā tīkla.

// atzvanīšana que indica que o ESP ievadiet modo AP

void configModeCallback (WiFiManager *myWiFiManager) {// Serial.println ("Ievadīts konfigurācijas režīms"); 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

}

// atzvanīšana que indica que salvamos uma nova rede para se conectar (modo estação)

void saveConfigCallback () {// Serial.println ("Vajadzētu saglabāt konfigurāciju"); Serial.println ("Configuração salva"); Serial.println (WiFi.softAPIP ()); // impime vai IP do AP}

Ieteicams: