Tartalomjegyzék:

ESP8266 és ESP32 WiFiManagerrel: 10 lépés
ESP8266 és ESP32 WiFiManagerrel: 10 lépés

Videó: ESP8266 és ESP32 WiFiManagerrel: 10 lépés

Videó: ESP8266 és ESP32 WiFiManagerrel: 10 lépés
Videó: Control 32 Servo over Wi-Fi using ESP32 and PCA9685 via desktop or mobile phone V5 2024, November
Anonim
Image
Image
KITŰZ
KITŰZ

Ismeri a WiFiManagert? Ez egy könyvtár, amely vezeték nélküli kapcsolatkezelőként szolgál, és ezzel együtt könnyebben beállíthatjuk a hozzáférési pontot és az állomást is. Számos javaslatot kaptam e téma megvitatására; így ma bemutatom nektek ezt a könyvtárat és funkcióit. Ezenkívül bemutatom annak használatát mind az ESP32, mind az ESP8266 esetén.

1. lépés: PINOUT

KITŰZ
KITŰZ

Itt mutatom meg a használni kívánt két eszköz PINOUT -ját:

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

2. lépés: WiFiManager

A WiFiManager valójában nem más, mint a WiFi.h tetejére írt könyvtár a vezeték nélküli kapcsolatok egyszerű kezeléséhez. Ne feledje, hogy ezzel nagyobb lehetőségünk van egy hozzáférési pont és egy állomás konfigurálására. Állomás módban a böngészőben lévő portálon keresztül konfiguráljuk.

Néhány funkció:

• Az automatikus kapcsolódástól függ

• Nem automatikus konfigurációs portál inicializálása

• Kettős üzemmódban szelektíven működik

3. lépés: Hogyan működik?

Hogyan működik
Hogyan működik
Hogyan működik
Hogyan működik

Az ESP elindít egy WiFi konfigurációs portált, amikor csatlakozik, és elmenti a konfigurációs adatokat a nem felejtő memóriába. Ezt követően a konfigurációs portál csak akkor indul újra, ha megnyom egy gombot az ESP modulban.

Itt ellenőrizheti a konfigurációs folyamatot, és lépésről lépésre kövesse ezt:

1. Bármilyen böngészővel rendelkező WiFi-eszközzel csatlakozzon az újonnan létrehozott hozzáférési ponthoz, és írja be a 192.168.4.1 címet.

2. A képernyőn két lehetőség közül választhat egy meglévő hálózathoz való csatlakozáshoz:

• A WiFi beállítása

• A WiFi beállítása (szkennelés nélkül)

3. Válasszon egyet a hálózatok közül, és adja meg a jelszót (ha szükséges). Ezután mentse és várja meg, amíg az ESP újraindul.

4. A rendszerindítás végén az ESP megpróbál csatlakozni a mentett hálózathoz. Ha ezt nem tudja megtenni, akkor engedélyeznie kell egy hozzáférési pontot.

4. lépés: Könyvtárak

Könyvtárak
Könyvtárak

Adja hozzá a "WifiManager-ESP32" könyvtárat.

Keresse fel a https://github.com/zhouhan0126/WIFIMANAGER-ESP32 oldalt, és töltse le a könyvtárat.

Csomagolja ki a fájlt, és illessze be az Arduino IDE könyvtárak mappájába.

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

Adja hozzá a "DNSServer-ESP32" könyvtárat.

Lépjen a https://github.com/zhouhan0126/DNSServer---esp32 linkre, és töltse le a könyvtárat.

Csomagolja ki a fájlt, és illessze be az Arduino IDE könyvtárak mappájába.

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

Adja hozzá a "WebServer-ESP32" könyvtárat.

Lépjen a https://github.com/zhouhan0126/WebServer-esp32 linkre, és töltse le a könyvtárat.

Csomagolja ki a fájlt, és illessze be az Arduino IDE könyvtárak mappájába.

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

Jegyzet:

A WiFiManager-ESP32 könyvtár már rendelkezik az ESP8266-al működő beállításokkal, ezért csak ezt fogjuk használni két WiFiManager lib (helyett egy-egy chiptípus) helyett.

Amint később látni fogjuk, az ESP8266WiFi és az ESP8266WebServer olyan könyvtárak, amelyeket nem kell letöltenünk, mert ezek már akkor jelennek meg, amikor telepítjük az ESP8266 -at az Arduino IDE -be.

5. lépés: Funkciók

Funkciók
Funkciók
Funkciók
Funkciók
Funkciók
Funkciók

Íme néhány funkció, amelyet a WiFiManager kínál nekünk.

1. autoConnect

Az autoConnect funkció felelős a hozzáférési pont létrehozásáért. Háromféleképpen használhatjuk.

• autoConnect ("hálózat neve", "jelszó"); - létrehoz egy hálózatot a megadott névvel és jelszóval.

• autoConnect ("hálózat neve"); - létrehoz egy nyílt hálózatot a megadott névvel.

• autoConnect (); - létrehoz egy nyílt és automatikusan elnevezett hálózatot, amelynek neve „ESP” + chipID.

2. startConfigPortal

A startConfigPortal függvény létrehoz egy hozzáférési pontot anélkül, hogy megpróbálna csatlakozni egy korábban mentett hálózathoz.

• startConfigPortal ("hálózat neve", "jelszó"); - létrehoz egy hálózatot a megadott névvel és jelszóval.

• startConfigPortal (); - létrehoz egy nyílt és automatikusan elnevezett hálózatot, amelynek neve „ESP” + chipID.

3. getConfigPortalSSID

Visszaadja a portál (hozzáférési pont) SSID azonosítóját

4. getSSID

Ez annak a hálózatnak az SSID -jét adja vissza, amelyhez csatlakozik.

5. getPassword

Ez annak a hálózatnak a jelszavát adja vissza, amelyhez csatlakozik.

6. setDebugOutput

A setDebugOutput funkció felelős a hibakeresési üzenetek nyomtatásáért a soros monitoron. Ezek az üzenetek már definiálva vannak a könyvtárban. A funkciók böngészése közben az adatok kinyomtatásra kerülnek.

Alapértelmezés szerint ez a funkció IGAZ -ra van állítva. Ha letiltani szeretné az üzeneteket, egyszerűen állítsa a funkciót FALSE értékre.

7. setMinimumSignalQuality

A setMinimumSignalQuality funkció felelős a hálózatok szűréséért a jelminőség alapján. Alapértelmezés szerint a WiFiManager nem jeleníti meg a bejelentkezési hálózatokat 8%alatt.

8. setRemoveDuplicateAPs

A setRemoveDuplicateAPs funkció felelős a hálózati ismétlődések eltávolításáért.

Alapértelmezés szerint IGAZ -ra van állítva.

9. setAPStaticIPConfig

A setAPStaticIPConfig függvény felelős a statikus cím beállításokért, amikor hozzáférési pont módban van.

(IP, GATEWAY, SUBNET)

10. setSTAStaticIPConfig

A setSTAStaticIPConfig függvény felelős a statikus cím beállításokért állomás üzemmódban.

(IP, GATEWAY, SUBNET)

Az automatikus csatlakozás előtt hozzá kell adnia a parancsot !!!

11. setAPCallback

A setAPCallback funkció feladata, hogy tájékoztassa Önt arról, hogy az AP mód elindult.

A paraméter egy függvény, amelyet létre kell hozni, hogy visszahívásként jelezze;

12. setSaveConfigCallback

A setSaveConfigCallback funkció felelős arról, hogy tájékoztatja Önt arról, hogy egy új konfiguráció mentésre került, és a kapcsolat sikeresen befejeződött.

A paraméter létrehozandó függvény, és ezt allbackként jelzi.

Az automatikus csatlakozás előtt hozzá kell adnia a parancsot !!!

6. lépés: Összeszerelés

Összeszerelés
Összeszerelés

Példa

Példánkban hozzunk létre egy hozzáférési pontot ESP -vel (a kód az ESP8266 -ot és az ESP32 -t is kiszolgálja). Az AP létrehozása után elérjük a portált az IP 192.168.4.1 IP -címen keresztül (ez az alapértelmezett hozzáférés). Szerezzük be tehát az elérhető hálózatokat, válasszunk egyet és mentsük. Innentől kezdve az ESP újraindul, és megpróbál csatlakozni hozzá, majd állomásként fog működni, és nem hozzáférési pontként.

Miután belépett az állomás üzemmódba, az ESP -t csak a gombbal teheti vissza Access Point módba.

7. lépés: Kód

Könyvtárak

Először határozzuk meg a használni kívánt könyvtárakat.

Vegye figyelembe, hogy #if definiált, #else és #endif parancsaink vannak. Feltételesek, hogy tartalmazzák a chiphez szükséges könyvtárakat. Ez a rész rendkívül fontos ahhoz, hogy ugyanazt a kódot futtassa mind az ESP8266, mind az ESP32 rendszeren.

#if meghatározott (ESP8266)

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

#if meghatározott (ESP8266)

#include // A konfigurációs portál kiszolgálására használt helyi webszerver

#más

#include // Helyi DNS-kiszolgáló, amelyet az összes kérés átirányítására használnak a konfigurációs portálra (https://github.com/zhouhan0126/DNSServer---esp32)

#endif

#include // A konfigurációs portál kiszolgálására használt helyi webszerver (https://github.com/zhouhan0126/DNSServer---esp32) #include // WiFi Configuration Magic (https://github.com/zhouhan0126/DNSServer-- -esp32) >> https://github.com/zhouhan0126/DNSServer---esp32 (EREDETI)

8. lépés: Beállítás

A telepítés során a WiFiManager programot a legegyszerűbb módon konfiguráljuk. Határozzuk meg a visszahívásokat, és hozzuk létre a hálózatot.

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 (); // visszahívás a quando entra em modo de de configuração AP wifiManager.setAPCallback (configModeCallback); // visszahívás 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. lépés: Hurok

A ciklusban leolvassuk a gombcsapot, hogy lássuk, megnyomtuk-e, majd meghívjuk a módszert az AP mód újbóli engedélyezéséhez.

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"); késleltetés (2000); ESP.restart (); késleltetés (1000); } Serial.println ("Conectou ESP_AP !!!"); }

Amikor megnyomja a gombot, az ESP kilép az állomás módból, és megnyitja a hozzáférési pontot és a portált.

Ne feledje, hogy nem használjuk a resetSettings () parancsot. A beállítások továbbra is mentésre kerülnek az ESP következő indításakor.

10. lépés: Visszahívások

Az eseményekhez társított visszahívási funkciók arra szolgálnak, hogy pontosan meghatározza a művelet pillanatát, esetünkben AP módba és állomás üzemmódba lépjen. Ezután végrehajthatunk néhány kívánt rutint, például lekérhetjük az SSID -t a csatlakoztatott hálózatról.

// visszahívás, indiai sor, vagy az ESP, ha nincs mod AP

void configModeCallback (WiFiManager *myWiFiManager) {// Serial.println ("Beállított konfigurációs mód"); 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

}

// visszahívás que indica que salvamos uma nova rede para se conectar (modo estação)

void saveConfigCallback () {// Serial.println ("El kell menteni a konfigurációt"); Serial.println ("Configuração salva"); Serial.println (WiFi.softAPIP ()); // imprime o IP do AP}

Ajánlott: