Obsah:

ESP8266 a ESP32 s WiFiManagerom: 10 krokov
ESP8266 a ESP32 s WiFiManagerom: 10 krokov

Video: ESP8266 a ESP32 s WiFiManagerom: 10 krokov

Video: ESP8266 a ESP32 s WiFiManagerom: 10 krokov
Video: Home Assistant - подключаем адресную ленту WS2812B через ESP8266 с прошивкой WLED 2024, Júl
Anonim
Image
Image
PINOUT
PINOUT

Poznáte WiFiManager? Je to knižnica, ktorá slúži ako správca bezdrôtového pripojenia, a vďaka nej máme jednoduchší spôsob konfigurácie prístupového bodu aj stanice. Dostal som niekoľko návrhov na diskusiu o tejto téme; dnes vám teda predstavím túto knižnicu a jej funkcie. Tiež urobím ukážku jeho použitia s ESP32 aj ESP8266.

Krok 1: PINOUT

PINOUT
PINOUT

Tu uvádzam PINOUT dvoch zariadení, ktoré budeme používať:

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

Krok 2: WiFiManager

WiFiManager nie je nič iné ako knižnica napísaná na WiFi.h pre jednoduchú správu bezdrôtových pripojení. Nezabudnite, že s ním máme väčšie možnosti konfigurácie prístupového bodu aj stanice. V prípade režimu Station sa konfigurujeme prostredníctvom portálu v prehliadači.

Niektoré funkcie:

• Závisí to od automatického pripojenia

• Inicializácia neautomatického konfiguračného portálu

• Funguje selektívne v duálnom režime

Krok 3: Ako to funguje

Ako to funguje
Ako to funguje
Ako to funguje
Ako to funguje

ESP po pripojení spustí konfiguračný portál WiFi a uloží konfiguračné údaje do energeticky nezávislej pamäte. Následne sa konfiguračný portál znova spustí iba vtedy, ak je v module ESP stlačené tlačidlo.

Tu môžete skontrolovať priebeh konfigurácie a postupovať podľa týchto krokov:

1. Pripojte sa k novovytvorenému prístupovému bodu pomocou akéhokoľvek zariadenia s podporou WiFi s prehliadačom a zadajte adresu 192.168.4.1.

2. Na obrazovke budete mať dve možnosti pripojenia k existujúcej sieti:

• Konfigurovať WiFi

• Konfigurovať WiFi (bez skenovania)

3. Vyberte jednu zo sietí a zadajte heslo (ak je to potrebné). Potom uložte a počkajte, kým sa ESP reštartuje.

4. Na konci bootovania sa ESP pokúša pripojiť k uloženej sieti. Ak to nemôžete urobiť, povolíte prístupový bod.

Krok 4: Knižnice

Knižnice
Knižnice

Pridajte knižnicu „WifiManager-ESP32“.

Prejdite na https://github.com/zhouhan0126/WIFIMANAGER-ESP32 a stiahnite si knižnicu.

Rozbaľte súbor a vložte ho do priečinka s knižnicami v Arduino IDE.

C: / Programové súbory (x86) / Arduino / knižnice

Pridajte knižnicu „DNSServer-ESP32“.

Prejdite na odkaz https://github.com/zhouhan0126/DNSServer---esp32 a stiahnite si knižnicu.

Rozbaľte súbor a vložte ho do priečinka s knižnicami v Arduino IDE.

C: / Programové súbory (x86) / Arduino / knižnice

Pridajte knižnicu „WebServer-ESP32“.

Prejdite na odkaz https://github.com/zhouhan0126/WebServer-esp32 a stiahnite si knižnicu.

Rozbaľte súbor a vložte ho do priečinka s knižnicami v Arduino IDE.

C: / Programové súbory (x86) / Arduino / knižnice

Poznámka:

Knižnica WiFiManager-ESP32 už má nastavenia, ktoré fungujú s ESP8266, takže použijeme iba toto, namiesto dvoch lišt WiFiManager (jeden pre každý typ čipu).

Ako uvidíme neskôr, ESP8266WiFi a ESP8266WebServer sú knižnice, ktoré nepotrebujeme sťahovať, pretože už existujú, keď nainštalujeme ESP8266 do Arduino IDE.

Krok 5: Funkcie

Funkcie
Funkcie
Funkcie
Funkcie
Funkcie
Funkcie

Tu je niekoľko funkcií, ktoré nám WiFiManager ponúka.

1. autoConnect

Za vytvorenie prístupového bodu je zodpovedná funkcia autoConnect. Môžeme ho použiť tromi spôsobmi.

• autoConnect („názov siete“, „heslo“); - vytvorí sieť s definovaným menom a heslom.

• autoConnect („názov siete“); - vytvára otvorenú sieť s definovaným názvom.

• autoConnect (); - vytvára otvorenú a automaticky pomenovanú sieť s názvom „ESP“+ chipID.

2. startConfigPortal

Funkcia startConfigPortal je zodpovedná za vytvorenie prístupového bodu bez toho, aby ste sa pokúšali pripojiť k predtým uloženej sieti.

• startConfigPortal („názov siete“, „heslo“); - vytvorí sieť s definovaným názvom a heslom.

• startConfigPortal (); - vytvára otvorenú a automaticky pomenovanú sieť s názvom „ESP“+ chipID.

3. getConfigPortalSSID

Vráti SSID portálu (prístupový bod)

4. getSSID

Tým sa vráti SSID siete, ku ktorej je pripojené.

5. getPassword

Tým sa vráti heslo siete, ku ktorej je pripojené.

6. setDebugOutput

Funkcia setDebugOutput je zodpovedná za tlač správ o ladení na sériovom monitore. Tieto správy sú už definované v knižnici. Pri prechode funkciami sa údaje vytlačia.

Štandardne je táto funkcia nastavená na hodnotu TRUE. Ak chcete správy vypnúť, jednoducho nastavte funkciu na FALSE.

7. setMinimumSignalQuality

Funkcia setMinimumSignalQuality je zodpovedná za filtrovanie sietí na základe kvality signálu. V predvolenom nastavení WiFiManager nezobrazí prihlasovacie siete pod 8%.

8. setRemoveDuplicateAPs

Za odstránenie duplikátov siete je zodpovedná funkcia setRemoveDuplicateAPs.

Štandardne je nastavený na hodnotu TRUE.

9. setAPStaticIPConfig

Funkcia setAPStaticIPConfig je zodpovedná za nastavenie nastavení statickej adresy v režime prístupového bodu.

(IP, GATEWAY, SUBNET)

10. setSTAStaticIPConfig

Funkcia setSTAStaticIPConfig je zodpovedná za nastavenie nastavení statickej adresy v režime stanice.

(IP, GATEWAY, SUBNET)

Pred automatickým pripojením musíte pridať príkaz !!!

11. setAPCallback

Za upozornenie, že sa spustil režim AP, je zodpovedná funkcia setAPCallback.

Parameter je funkcia, ktorú je potrebné vytvoriť, aby ho označila ako spätné volanie;

12. setSaveConfigCallback

Funkcia setSaveConfigCallback je zodpovedná za to, že vás informuje o tom, že bola uložená nová konfigurácia a pripojenie bolo úspešne dokončené.

Parameter je funkcia, ktorú je potrebné vytvoriť, a označuje to ako spätnú väzbu.

Pred automatickým pripojením musíte pridať príkaz !!!

Krok 6: Zostavenie

zhromaždenie
zhromaždenie

Príklad

V našom prípade vytvoríme prístupový bod s ESP (kód bude slúžiť ESP8266 aj ESP32). Po vytvorení AP sa k portálu dostaneme cez IP 192.168.4.1 (čo je predvolený prístup). Poďme teda získať dostupné siete, jednu vybrať a uložiť. Odtiaľ sa ESP reštartuje a pokúsi sa k nemu pripojiť a potom bude fungovať ako stanica a už nie ako prístupový bod.

Po vstupe do režimu stanice môžete ESP vrátiť do režimu prístupového bodu iba prostredníctvom tlačidla.

Krok 7: Kód

Knižnice

Najprv definujme knižnice, ktoré budeme používať.

Všimnite si toho, že máme definované príkazy #if, #else a #endif. Podmienečne obsahujú potrebné knižnice týkajúce sa čipu. Táto časť je mimoriadne dôležitá pre spustenie rovnakého kódu na ESP8266 aj ESP32.

definovaný #if (ESP8266)

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

definovaný #if (ESP8266)

#include // Miestny webový server slúžiaci na konfiguračný portál

#inak

#include // Lokálny server DNS používaný na presmerovanie všetkých požiadaviek na konfiguračný portál (https://github.com/zhouhan0126/DNSServer---esp32)

#koniec Ak

#include // Local WebServer slúžiaci na konfiguračný portál (https://github.com/zhouhan0126/DNSServer---esp32) #include // WiFi Configuration Magic (https://github.com/zhouhan0126/DNSServer-- -esp32) >> https://github.com/zhouhan0126/DNSServer---esp32 (ORIGINÁL)

Krok 8: Nastavenie

V nastavení konfigurujeme náš WiFiManager najjednoduchším spôsobom. Definujeme iba spätné volania a vytvoríme sieť.

const int PIN_AP = 2;

void setup () {Serial.begin (9600); pinMode (PIN_AP, INPUT); // deklarujte svoje ciele wifiManager WiFiManager wifiManager;

// používanie základných úloh, ako napríklad konfigurácia pamäte // prípadná záchranná služba, ktorá sa spája s automatickým pripojovaním konektorov, ela é apagada. // wifiManager.resetSettings (); // spätné volanie pre všetky mody konfigurácie AP AP wifiManager.setAPCallback (configModeCallback); // callback para quando se conecta em uma rede, ou seja, quando passa a trabalhar em modoestaesta wifiManager.setSaveConfigCallback (saveConfigCallback); // cria uma rede de nome ESP_AP com senha 12345678 wifiManager.autoConnect ("ESP_AP", "12345678"); }

Krok 9: Slučka

V slučke prečítame kolík tlačidla, aby sme zistili, či bol stlačený, a potom zavoláme metódu na opätovné povolenie režimu AP.

prázdna slučka () {

WiFiManager wifiManager; // sa o to viac tlačí, ak (digitalRead (PIN_AP) == HIGH) {Serial.println ("resetar"); // tenta abrir o portal if (! wifiManager.startConfigPortal ("ESP_AP", "12345678")) {Serial.println ("Falha ao conectar"); oneskorenie (2000); ESP. Restart (); oneskorenie (1000); } Serial.println ("Conectou ESP_AP !!!"); }

Keď stlačíte tlačidlo, ESP opustí režim stanice a otvorí váš prístupový bod a portál.

Nezabudnite, že nepoužívame príkaz resetSettings (). Nastavenia sa uložia aj pri nasledujúcom spustení systému ESP.

Krok 10: Spätné volania

Funkcie spätného volania, ktoré sú spojené s udalosťami, vám slúžia na to, aby ste mali presný okamih operácie, v našom prípade vstup do režimu AP a režimu stanice. Potom môžeme implementovať požadovanú rutinu, ako je napríklad načítanie SSID z pripojenej siete.

// callback que indica que o ESP neobsahuje žiadny modo AP

void configModeCallback (WiFiManager *myWiFiManager) {// Serial.println ("vstúpil do režimu konfigurácie"); Serial.println ("Entrou no modo de configuração"); Serial.println (WiFi.softAPIP ()); // imprime alebo IP do AP Serial.println (myWiFiManager-> getConfigPortalSSID ()); // zobrazovanie alebo obnovovanie SSID

}

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

void saveConfigCallback () {// Serial.println ("Mali by ste uložiť konfiguráciu"); Serial.println ("Configuração salva"); Serial.println (WiFi.softAPIP ()); // zobratie IP do AP}

Odporúča: