Բովանդակություն:

ESP8266 և ESP32 WiFiManager- ով ՝ 10 քայլ
ESP8266 և ESP32 WiFiManager- ով ՝ 10 քայլ

Video: ESP8266 և ESP32 WiFiManager- ով ՝ 10 քայլ

Video: ESP8266 և ESP32 WiFiManager- ով ՝ 10 քայլ
Video: Control 32 Servo over Wi-Fi using ESP32 and PCA9685 via desktop or mobile phone V5 2024, Հուլիսի
Anonim
Image
Image
ՓԻՆՈTՏ
ՓԻՆՈTՏ

Youանո՞թ եք WiFiManager- ին: Դա գրադարան է, որը ծառայում է որպես անլար կապի կառավարիչ, և դրա հետ մեկտեղ մենք ունենք ավելի հեշտ միջոց ՝ ինչպես մուտքի կետը, այնպես էլ կայանը կարգավորելու համար: Ես ստացել եմ մի քանի առաջարկ ՝ այս թեման քննարկելու համար. ուստի այսօր ես ձեզ կներկայացնեմ այս գրադարանը և դրա գործառույթները: Ես նաև ցույց կտամ դրա օգտագործման մասին ինչպես ESP32- ով, այնպես էլ ESP8266- ով:

Քայլ 1: ՓԻՆՈTԹ

ՓԻՆՈTՏ
ՓԻՆՈTՏ

Այստեղ ես ցույց եմ տալիս երկու սարքերի PINOUT- ը, որոնք մենք կօգտագործենք.

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

Քայլ 2: WiFiManager

WiFiManager- ը իրականում ոչ այլ ինչ է, քան WiFi.h- ի վրա գրված գրադարան ՝ անլար կապերի հեշտ կառավարման համար: Հիշեք, որ դրա շնորհիվ մենք ունենք ավելի մեծ հնարավորություն ՝ ինչպես մուտքի կետը, այնպես էլ կայանը կազմաձևելու համար: Կայանի ռեժիմի համար մենք կարգավորում ենք բրաուզերում գտնվող պորտալի միջոցով:

Որոշ առանձնահատկություններ.

• Դա կախված է ավտոմատ միացումից

• Ոչ ավտոմատ կազմաձևման պորտալի սկզբնավորում

• Ընտրովի է գործում երկակի ռեժիմում

Քայլ 3: Ինչպես է այն աշխատում

Ինչպես է դա աշխատում
Ինչպես է դա աշխատում
Ինչպես է դա աշխատում
Ինչպես է դա աշխատում

ESP- ն միացման ժամանակ կսկսի WiFi կազմաձևման պորտալը և կպահի կազմաձևման տվյալները ոչ անկայուն հիշողության մեջ: Հետագայում, կազմաձևման պորտալը նորից կսկսվի, եթե ESP մոդուլում կոճակ սեղմվի:

Այստեղ դուք կարող եք ստուգել կազմաձևման հոսքը և հետևել այս քայլ առ քայլ.

1. Օգտագործելով դիտարկիչով WiFi- միացված ցանկացած սարք, միացեք նոր ստեղծված մուտքի կետին և մուտքագրեք հասցեն 192.168.4.1:

2. Էկրանի վրա գոյություն ունեցող ցանցին միանալու երկու տարբերակ կունենաք.

• Կարգավորել WiFi- ը

• Կարգավորել WiFi- ն (առանց սկանավորման)

3. Ընտրեք ցանցերից մեկը և մուտքագրեք գաղտնաբառը (անհրաժեշտության դեպքում): Այնուհետև պահեք և սպասեք ESP- ի վերագործարկմանը:

4. Բեռնման վերջում ESP- ն փորձում է միանալ պահպանված ցանցին: Եթե չեք կարող դա անել, ապա միացնելու եք Access Point- ը:

Քայլ 4: Գրադարաններ

Գրադարաններ
Գրադարաններ

Ավելացնել «WifiManager-ESP32» գրադարան:

Գնացեք https://github.com/zhouhan0126/WIFIMANAGER-ESP32 և ներբեռնեք գրադարանը:

Բացեք ֆայլը և տեղադրեք այն Arduino IDE- ի գրադարանների պանակում:

C: / Fiրագրի ֆայլեր (x86) / Arduino / գրադարաններ

Ավելացնել «DNSServer-ESP32» գրադարանը:

Գնացեք https://github.com/zhouhan0126/DNSServer---esp32 հղումը և ներբեռնեք գրադարանը:

Բացեք ֆայլը և տեղադրեք այն Arduino IDE- ի գրադարանների պանակում:

C: / Fiրագրի ֆայլեր (x86) / Arduino / գրադարաններ

Ավելացնել «WebServer-ESP32» գրադարանը:

Գնացեք https://github.com/zhouhan0126/WebServer-esp32 հղումը և ներբեռնեք գրադարանը:

Բացեք ֆայլը և տեղադրեք այն Arduino IDE- ի գրադարանների պանակում:

C: / Fiրագրի ֆայլեր (x86) / Arduino / գրադարաններ

Նշում:

WiFiManager-ESP32 գրադարանն արդեն ունի ESP8266- ի հետ աշխատող կարգավորումներ, ուստի մենք դա կօգտագործենք միայն WiFiManager- ի երկու լապտերի փոխարեն (մեկը յուրաքանչյուր տեսակի չիպի համար):

Ինչպես կտեսնենք ավելի ուշ, ESP8266WiFi և ESP8266WebServer գրադարաններ են, որոնք մենք ներբեռնելու կարիք չունենք, քանի որ դրանք արդեն գալիս են Arduino IDE- ում ESP8266 տեղադրելու ժամանակ:

Քայլ 5: Գործառույթներ

Գործառույթներ
Գործառույթներ
Գործառույթներ
Գործառույթներ
Գործառույթներ
Գործառույթներ

Ահա մի քանի գործառույթներ, որոնք մեզ առաջարկում է WiFiManager- ը:

1. ավտոմատ միացում

AutoConnect գործառույթը պատասխանատու է Մուտքի կետ ստեղծելու համար: Մենք կարող ենք այն օգտագործել երեք եղանակով.

• autoConnect («ցանցի անուն», «գաղտնաբառ»); - ստեղծում է սահմանված անունով և գաղտնաբառով ցանց:

• autoConnect («ցանցի անուն»); - ստեղծում է բաց անունով սահմանված ցանց:

• autoConnect (); - ստեղծում է բաց և ավտոմատ անունով ցանց ՝ «ESP» + chipID անունով:

2. startConfigPortal

StartConfigPortal գործառույթը պատասխանատու է մուտքի կետ ստեղծելու համար ՝ առանց նախկինում պահված ցանցին միանալու փորձի:

• startConfigPortal («ցանցի անուն», «գաղտնաբառ»); - ստեղծում է սահմանված անունով և գաղտնաբառով ցանց:

• startConfigPortal (); - ստեղծում է բաց և ավտոմատ անունով ցանց ՝ «ESP» + chipID անունով:

3. getConfigPortalSSID

Վերադարձնում է պորտալի SSID- ը (մուտքի կետ)

4. getSSID

Սա վերադարձնում է ցանցի SSID- ը, որին միացված է:

5. getPassword

Սա վերադարձնում է ցանցի գաղտնաբառը, որին միացված է:

6. setDebugOutput

SetDebugOutput գործառույթը պատասխանատու է սերիական մոնիտորի վրա վրիպազերծման հաղորդագրությունների տպագրման համար: Այս հաղորդագրություններն արդեն սահմանված են գրադարանում: Գործառույթներն անցնելիս տվյալները կտպագրվեն:

Լռելյայն, այս գործառույթը սահմանվում է TRUE: Եթե ցանկանում եք անջատել հաղորդագրությունները, պարզապես գործառույթը սահմանեք FALSE:

7. setMinimumSignalQuality

SetMinimumSignalQuality գործառույթը պատասխանատու է ազդանշանի որակի վրա հիմնված ցանցերի զտման համար: Լռելյայն, WiFiManager- ը չի ցուցադրի մուտքի ցանցեր 8%-ից ցածր:

8. setRemoveDuplicateAPs

SetRemoveDuplicateAPs գործառույթը պատասխանատու է ցանցի կրկնօրինակները հեռացնելու համար:

Լռելյայն այն սահմանվում է TRUE:

9. setAPStaticIPConfig

SetAPStaticIPConfig գործառույթը պատասխանատու է մուտքի կետի ռեժիմում գտնվելու ժամանակ ստատիկ հասցեի կարգավորումները կարգավորելու համար:

(IP, GATEWAY, SUBNET)

10. setSTAStaticIPConfig

SetSTAStaticIPConfig գործառույթը պատասխանատու է կայանի ռեժիմում գտնվելու ժամանակ ստատիկ հասցեի կարգավորումները կարգավորելու համար:

(IP, GATEWAY, SUBNET)

Դուք պետք է ավելացնեք հրամանը նախքան autoConnect !!!

11. setAPCallback

SetAPCallback գործառույթը պատասխանատու է ձեզ տեղեկացնելու համար, որ AP ռեժիմը մեկնարկել է:

Պարամետրը գործառույթ է, որը պետք է ստեղծվի `այն որպես հետադարձ կապ նշելու համար.

12. setSaveConfigCallback

SetSaveConfigCallback գործառույթը պատասխանատու է ձեզ տեղեկացնելու համար, որ նոր կոնֆիգուրացիա է պահվել, և կապը հաջողությամբ ավարտվել է:

Պարամետրը ստեղծելու գործառույթ է և դա նշում է որպես հետադարձ:

Դուք պետք է ավելացնեք հրամանը նախքան autoConnect !!!

Քայլ 6: Հավաքում

Ժողով
Ժողով

Օրինակ

Մեր օրինակում մենք կստեղծենք մուտքի կետ ESP- ով (ծածկագիրը կծառայի և ESP8266 և ESP32): AP- ի ստեղծումից հետո մենք պորտալին մուտք կունենանք IP 192.168.4.1 -ի միջոցով (որը դրան մուտք գործելու կանխադրվածն է): Այսպիսով, եկեք ձեռք բերենք առկա ցանցերը, ընտրենք մեկը և պահենք: Այնտեղից ESP- ը կվերագործարկվի և կփորձի միանալ դրան, այնուհետև այն կաշխատի որպես կայան և այլևս որպես Access Point:

Կայանի ռեժիմ մտնելուց հետո կարող եք ESP- ն վերադարձնել Access Point ռեժիմ միայն կոճակի միջոցով:

Քայլ 7: Կոդ

Գրադարաններ

Նախ սահմանենք այն գրադարանները, որոնք մենք կօգտագործենք:

Նկատի ունեցեք, որ մենք ունենք #if սահմանված, #else և #endif հրամաններ: Նրանք պայմանական են `ներառել չիպին վերաբերող անհրաժեշտ գրադարաններ: Այս հատվածը չափազանց կարևոր է միևնույն ծածկագիրը գործարկելու համար և՛ ESP8266, և՛ ESP32- ում:

#եթե սահմանված է (ESP8266)

#ներառել // ESP8266 հիմնական WiFi գրադարան #այլ #ներառել // ESP32 հիմնական WiFi գրադարան #endif

#եթե սահմանված է (ESP8266)

#include // Տեղական վեբ սերվեր, որն օգտագործվում էր կազմաձևման պորտալը սպասարկելու համար

#այլ

#include // Տեղական DNS սերվեր, որն օգտագործվում է բոլոր հարցումները կազմաձևման պորտալ վերահղելու համար (https://github.com/zhouhan0126/DNSServer---esp32)

#էնդիֆ

#ներառել // Տեղական վեբ սերվերը օգտագործվում էր կազմաձևման պորտալին ծառայելու համար (https://github.com/zhouhan0126/DNSServer---esp32) #include // WiFi Configuration Magic (https://github.com/zhouhan0126/DNSServer-- -esp32) >> https://github.com/zhouhan0126/DNSServer---esp32 (ORIGINAL)

Քայլ 8: Կարգավորում

Կարգավորման ընթացքում մենք կարգավորում ենք մեր WiFiManager- ը ամենապարզ ձևով: Եկեք պարզապես սահմանենք հետադարձ կապերը և ստեղծենք ցանցը:

const int PIN_AP = 2;

void setup () {Serial.begin (9600); pinMode (PIN_AP, INPUT); // հայտարարեք wifiManager WiFiManager wifiManager;

// utilizando esse comando, as configurações são apagadas da memória // caso tiver salvo alguma rede para conectar automatamente, ela é apagada. // wifiManager.resetSettings (); // հետադարձ կապի համար ՝ API wifiManager.setAPCallback (configModeCallback) կարգավորելու համար; // հետադարձ կապի միջոցով մենք կարող ենք կապ հաստատել մեզ հետ, եթե դա տեղի է ունենում, մենք կարող ենք օգտագործել wifiManager.setSaveConfigCallback (saveConfigCallback); // cria uma rede de nome ESP_AP com senha 12345678 wifiManager.autoConnect ("ESP_AP", "12345678"); }

Քայլ 9: Օղակ

Օղակում մենք կկարդանք կոճակի քորոցը ՝ տեսնելու համար, թե արդյոք այն սեղմված է, այնուհետև կանչելու ենք AP ռեժիմը նորից միացնելու մեթոդը:

դատարկ շրջան () {

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"); ուշացում (2000); ESP.restart (); ուշացում (1000); } Serial.println ("Conectou ESP_AP !!!"); }

Երբ սեղմում եք կոճակը, ESP- ն դուրս կգա Կայանի ռեժիմից և կբացի Ձեր Մուտքի կետը և պորտալը:

Հիշեք, որ մենք չենք օգտագործում resetSettings () հրամանը: Կարգավորումները դեռ պահպանվում են հաջորդ անգամ ESP բեռնախցիկների համար:

Քայլ 10: Հետադարձ կապ

Հետադարձ կապի գործառույթները, որոնք կապված են իրադարձությունների հետ, ծառայում են ձեզ, որպեսզի ունենաք գործողության ճշգրիտ պահը, մեր դեպքում `մուտքագրելով AP ռեժիմ և Կայանի ռեժիմ: Այնուհետև մենք կարող ենք իրականացնել որոշ ցանկալի ռեժիմ, օրինակ ՝ SSID- ը միացված ցանցից վերցնելը, օրինակ:

// հետադարձ կապ que indica que o ESP entrou no modo AP

void configModeCallback (WiFiManager *myWiFiManager) {// Serial.println («Մտել է կազմաձևման ռեժիմ»); 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

}

// հետադարձ կապ que indica que salvamos uma nova rede para se conectar (modo estação)

void saveConfigCallback () {// Serial.println («Պետք է պահպանել կազմաձևը»); Serial.println ("Configuração salva"); Serial.println (WiFi.softAPIP ()); // imprime o IP do AP}

Խորհուրդ ենք տալիս: