Obsah:
- Krok 1: PINOUT
- Krok 2: WiFiManager
- Krok 3: Ako to funguje
- Krok 4: Knižnice
- Krok 5: Funkcie
- Krok 6: Zostavenie
- Krok 7: Kód
- Krok 8: Nastavenie
- Krok 9: Slučka
- Krok 10: Spätné volania
Video: ESP8266 a ESP32 s WiFiManagerom: 10 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:00
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
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
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
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
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
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:
Profesionálna meteorologická stanica s použitím ESP8266 a ESP32 DIY: 9 krokov (s obrázkami)
Profesionálna meteorologická stanica využívajúca ESP8266 a ESP32 DIY: LineaMeteoStazione je kompletná meteorologická stanica, ktorú je možné prepojiť s profesionálnymi senzormi od spoločnosti Sensirion, ako aj s niektorými komponentmi Davis Instrument (Rain Gauge, Anemometer) Projekt je zameraný ako meteorologická stanica pre domácich majstrov, ale vyžaduje
Bezdrôtová komunikácia LoRa 3 km až 8 km s nízkymi nákladmi na zariadenie E32 (sx1278/sx1276) pre Arduino, Esp8266 alebo Esp32: 15 krokov
Bezdrôtová komunikácia LoRa 3 km až 8 km s nízkymi nákladmi na zariadenie E32 (sx1278/sx1276) pre Arduino, Esp8266 alebo Esp32: Vytváram knižnicu na správu EBYTE E32 na základe série zariadení LoRa Semtech, veľmi výkonného, jednoduchého a lacného zariadenia. Verzia 3 km tu, verzia 8 km tu Môžu pracovať na vzdialenosť 3 000 až 8 000 m a majú mnoho funkcií
ESP32 Bluetooth návod - Ako používať vstavané Bluetooth v ESP32: 5 krokov
ESP32 Bluetooth návod | Ako používať vstavaný Bluetooth v ESP32: Ahoj, pretože doska ESP32 je vybavená WiFi a Bluetooth, ale pre naše väčšinou Projekty zvyčajne používame iba Wifi, nepoužívame Bluetooth. Takže v tomto návode ukážem, aké ľahké je používať Bluetooth ESP32 & Pre vaše základné projekty
Začíname s ESP32 CAM - Streamovanie videa pomocou ESP CAM cez Wifi - Projekt bezpečnostnej kamery ESP32: 8 krokov
Začíname s ESP32 CAM | Streamovanie videa pomocou ESP CAM cez Wifi | Projekt bezpečnostnej kamery ESP32: Dnes sa naučíme používať túto novú dosku ESP32 CAM a ako ju môžeme kódovať a používať ako bezpečnostnú kameru a získať streamované video cez wifi
Začíname s ESP32 - Inštalácia dosiek ESP32 do Arduino IDE - Kód blinkru ESP32: 3 kroky
Začíname s ESP32 | Inštalácia dosiek ESP32 do Arduino IDE | Kód blinkru ESP32: V tomto návode uvidíme, ako začať pracovať s esp32 a ako nainštalovať dosky esp32 do Arduino IDE a naprogramujeme esp 32 tak, aby spustil kód blinkingu pomocou arduino ide