Talaan ng mga Nilalaman:

ESP8266 at ESP32 Sa WiFiManager: 10 Hakbang
ESP8266 at ESP32 Sa WiFiManager: 10 Hakbang

Video: ESP8266 at ESP32 Sa WiFiManager: 10 Hakbang

Video: ESP8266 at ESP32 Sa WiFiManager: 10 Hakbang
Video: WiFiManager with ESP32 - Stop Hard-coding WiFi Credentials! 2024, Hulyo
Anonim
Image
Image
PINOUT
PINOUT

Pamilyar ka ba sa WiFiManager? Ito ay isang silid-aklatan na nagsisilbing isang wireless connection manager, at kasama nito, mayroon kaming isang mas madaling paraan upang mai-configure ang parehong isang Access Point at isang Station. Nakatanggap ako ng maraming mungkahi upang talakayin ang paksang ito; kaya't ngayon ay ipakikilala kita sa aklatan na ito at ang mga pag-andar nito. Gagawa rin ako ng isang pagpapakita ng paggamit nito sa parehong ESP32 at ESP8266.

Hakbang 1: PINOUT

PINOUT
PINOUT

Ipinapakita ko rito ang PINOUT ng dalawang aparato na gagamitin namin:

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

Hakbang 2: WiFiManager

Ang WiFiManager ay talagang hindi hihigit sa isang silid-aklatan na nakasulat sa tuktok ng WiFi.h para sa madaling pamamahala ng mga wireless na koneksyon. Tandaan na kasama nito, mayroon kaming mas malaking pasilidad upang mai-configure ang parehong isang Access Point at isang Station. Para sa Station mode, nag-configure kami sa pamamagitan ng isang portal sa browser.

Ang ilang mga tampok:

• Ito ay depende sa awtomatikong pagkakakonekta

• Initisalisasyon ng hindi awtomatikong pagsasaayos ng portal

• Pinipiling nagpapatakbo sa dalawahang mode

Hakbang 3: Paano Ito Gumagana

Paano Ito Gumagana
Paano Ito Gumagana
Paano Ito Gumagana
Paano Ito Gumagana

Sisimulan ng ESP ang isang portal ng pagsasaayos ng WiFi kapag nakakonekta at mai-save ang data ng pagsasaayos sa di-pabagu-bago na memorya. Kasunod, magsisimula lamang muli ang configure portal kung ang isang pindutan ay pinindot sa module ng ESP.

Dito maaari mong suriin ang daloy ng pagsasaayos at sundin ang hakbang na ito sa bawat hakbang:

1. Paggamit ng anumang aparato na pinagana ng WiFi gamit ang isang browser, kumonekta sa bagong nilikha na access point at ipasok ang address na 192.168.4.1.

2. Sa screen magkakaroon ka ng dalawang mga pagpipilian upang kumonekta sa isang mayroon nang network:

• I-configure ang WiFi

• I-configure ang WiFi (Walang Scan)

3. Pumili ng isa sa mga network at ipasok ang password (kung kinakailangan). Pagkatapos ay i-save at hintaying mag-restart ang ESP.

4. Sa pagtatapos ng boot, susubukan ng ESP na kumonekta sa nai-save na network. Kung hindi mo ito magagawa, pagaganahin mo ang isang Access Point.

Hakbang 4: Mga Aklatan

Mga aklatan
Mga aklatan

Magdagdag ng library na "WifiManager-ESP32".

Pumunta sa https://github.com/zhouhan0126/WIFIMANAGER-ESP32 at i-download ang library.

I-zip ang file at i-paste ito sa folder ng mga aklatan ng Arduino IDE.

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

Idagdag ang aklatan na "DNSServer-ESP32".

Pumunta sa link na https://github.com/zhouhan0126/DNSServer---esp32 at i-download ang library.

I-zip ang file at i-paste ito sa folder ng mga aklatan ng Arduino IDE.

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

Idagdag ang aklatan na "WebServer-ESP32".

Pumunta sa link na https://github.com/zhouhan0126/WebServer-esp32 at i-download ang library.

I-zip ang file at i-paste ito sa folder ng mga aklatan ng Arduino IDE.

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

Tandaan:

Ang WiFiManager-ESP32 library ay mayroon nang mga setting na gumagana sa ESP8266, kaya gagamitin lang namin ito, sa halip na dalawang WiFiManager libs (isa para sa bawat uri ng maliit na tilad).

Tulad ng makikita natin sa paglaon, ang ESP8266WiFi at ESP8266WebServer ay mga silid aklatan na hindi namin kailangang i-download, sapagkat dumating na ang mga ito kapag na-install namin ang ESP8266 sa Arduino IDE.

Hakbang 5: Mga Pag-andar

Mga pagpapaandar
Mga pagpapaandar
Mga pagpapaandar
Mga pagpapaandar
Mga pagpapaandar
Mga pagpapaandar

Narito ang ilang mga pagpapaandar na inaalok sa amin ng WiFiManager.

1. autoConnect

Ang pagpapaandar ng autoConnect ay responsable para sa paglikha ng isang Access Point. Maaari natin itong magamit sa tatlong paraan.

• autoConnect ("pangalan ng network", "password"); - Lumilikha ng isang network na may tinukoy na pangalan at password.

• autoConnect ("pangalan ng network"); - Lumilikha ng isang bukas na network na may tinukoy na pangalan.

• autoConnect (); - Lumilikha ng isang bukas at awtomatikong pinangalanan na network na may pangalang 'ESP' + chipID.

2. startConfigPortal

Ang pagpapaandar ng startConfigPortal ay responsable para sa paglikha ng isang Access Point nang hindi sinusubukang kumonekta sa isang dating nai-save na network.

• startConfigPortal ("pangalan ng network", "password"); - Lumilikha ng isang network na may tinukoy na pangalan at password.

• startConfigPortal (); - Lumilikha ng isang bukas at awtomatikong pinangalanan na network na may pangalang 'ESP' + chipID.

3. getConfigPortalSSID

Ibinabalik ang SSID ng portal (Access Point)

4. getSSID

Ibinabalik nito ang SSID ng network kung saan ito nakakonekta.

5. getPassword

Ibinabalik nito ang password ng network kung saan ito nakakonekta.

6. setDebugOutput

Ang pagpapaandar ng setDebugOutput ay responsable para sa pag-print ng mga mensahe ng pag-debug sa serial monitor. Ang mga mensahe na ito ay tinukoy na sa silid-aklatan. Sa pagdaan mo sa mga pagpapaandar, mai-print ang data.

Bilang default, ang pagpapaandar na ito ay nakatakda sa TRUE. Kung nais mong huwag paganahin ang mga mensahe, itakda lamang ang pagpapaandar sa MALI.

7. setMinimumSignalQualidad

Ang setMinimumSignalQual function ay responsable para sa pag-filter ng mga network batay sa kalidad ng signal. Bilang default, ang WiFiManager ay hindi magpapakita ng mga sign-on na network sa ibaba 8%.

8. setRemoveDuplicateAPs

Ang pagpapaandar ng setRemoveDuplicateAPs ay responsable para sa pag-aalis ng mga duplicate ng network.

Bilang default ito ay nakatakda sa TUNAY.

9. setAPStaticIPConfig

Ang setAPStaticIPConfig function ay responsable para sa pagtatakda ng mga setting ng static address kapag nasa access point mode.

(IP, GATEWAY, SUBNET)

10. setSTAStaticIPConfig

Ang setSTAStaticIPConfig function ay responsable para sa pagtatakda ng mga setting ng static address kapag nasa mode ng istasyon.

(IP, GATEWAY, SUBNET)

Dapat mong idagdag ang utos bago mag-autoConnect !!!

11. setAPCallback

Ang pagpapaandar ng setAPCallback ay responsable para sa pagpapaalam sa iyo na nagsimula na ang AP mode.

Ang parameter ay isang pagpapaandar na dapat nilikha upang ipahiwatig ito bilang isang callback;

12. setSaveConfigCallback

Ang setSaveConfigCallback function ay responsable para sa pagpapaalam sa iyo na ang isang bagong pagsasaayos ay nai-save at ang koneksyon ay matagumpay na nakumpleto.

Ang parameter ay isang pagpapaandar upang likhain at ipahiwatig ito bilang isang allback.

Dapat mong idagdag ang utos bago mag-autoConnect !!!

Hakbang 6: Assembly

Assembly
Assembly

Halimbawa

Sa aming halimbawa, lilikha kami ng isang Access Point na may ESP (ang code ay magsisilbi sa parehong ESP8266 at ESP32). Matapos ang paglikha ng AP, mai-access namin ang portal sa pamamagitan ng IP 192.168.4.1 (na kung saan ay ang default upang ma-access ito). Kaya kunin natin ang mga magagamit na network, pumili ng isa at i-save. Mula doon, muling magsisimulang muli ang ESP at tatangkaing kumonekta dito, at pagkatapos ay gagana ito bilang isang istasyon at hindi na bilang isang Access Point.

Matapos ipasok ang mode ng istasyon, maaari mong ibalik ang ESP sa mode ng Access Point sa pamamagitan lamang ng pindutan.

Hakbang 7: Code

Mga aklatan

Tukuyin muna natin ang mga library na gagamitin natin.

Tandaan na mayroon kaming # kung tinukoy, #else, at #endif na utos. May kondisyon ang mga ito upang isama ang mga kinakailangang aklatan na nauugnay sa maliit na tilad. Ang bahaging ito ay lubhang mahalaga upang patakbuhin ang parehong code sa parehong ESP8266 at ESP32.

# kung tinukoy (ESP8266)

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

# kung tinukoy (ESP8266)

#include // Local WebServer na ginamit upang maghatid ng portal ng pagsasaayos

#else

#include // Lokal na DNS Server na ginamit para sa pag-redirect ng lahat ng mga kahilingan sa portal ng pagsasaayos (https://github.com/zhouhan0126/DNSServer---esp32)

#tapusin kung

#include // Local WebServer na ginamit upang maghatid ng portal ng pagsasaayos (https://github.com/zhouhan0126/DNSServer---esp32) #include // WiFi Configuration Magic (https://github.com/zhouhan0126/DNSServer-- -esp32) >> https://github.com/zhouhan0126/DNSServer---esp32 (ORIGINAL)

Hakbang 8: Pag-setup

Sa pag-set up, ina-configure namin ang aming WiFiManager sa pinakasimpleng paraan. Tukuyin lamang ang mga callback at likhain ang network.

const int PIN_AP = 2;

void setup () {Serial.begin (9600); pinMode (PIN_AP, INPUT); // declaraçã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 (); // callback para quando entra em modo de configuração 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"); }

Hakbang 9: Mag-loop

Sa loop, babasahin namin ang pindutan ng pindutan upang makita kung ito ay pinindot, at pagkatapos ay tatawagan namin ang pamamaraan upang muling paganahin ang AP mode.

void loop () {

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

Kapag pinindot mo ang pindutan, lalabas ang ESP sa Station mode at bubuksan ang iyong Access Point at portal.

Tandaan na hindi namin ginagamit ang utos ng pag-resetSettings (). Ang mga setting ay nai-save pa rin para sa susunod na mga bota ng ESP.

Hakbang 10: Mga Callback

Ang mga function ng callback, na nauugnay sa mga kaganapan, ay nagsisilbi para sa iyo upang magkaroon ng eksaktong sandali ng isang operasyon, sa aming kaso, pagpasok sa AP mode at Station mode. Pagkatapos ay maaari naming ipatupad ang ilang nais na gawain, tulad ng pagkuha ng SSID mula sa konektadong network, halimbawa.

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

void configModeCallback (WiFiManager * myWiFiManager) {// Serial.println ("Pinasok na config mode"); 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

}

// callback que indica que salvamos uma nova rede para sa conectar (modo estação)

void saveConfigCallback () {// Serial.println ("Dapat i-save ang config"); Serial.println ("Configuração salva"); Serial.println (WiFi.softAPIP ()); // imprime o IP do AP}

Inirerekumendang: