Mundarija:

WiFiManager bilan ESP8266 va ESP32: 10 qadam
WiFiManager bilan ESP8266 va ESP32: 10 qadam

Video: WiFiManager bilan ESP8266 va ESP32: 10 qadam

Video: WiFiManager bilan ESP8266 va ESP32: 10 qadam
Video: Simple wifi capable microcontrollers - Arduino Nano IoT vs ESP32 vs ESP8266 vs Raspberry Pi Pico W 2024, Noyabr
Anonim
Image
Image
PIN -kod
PIN -kod

WiFiManager bilan tanishmisiz? Bu kutubxona simsiz ulanish menejeri bo'lib xizmat qiladi va shu bilan biz kirish nuqtasini ham, bekatni ham sozlashni osonlashtiramiz. Men bu mavzuni muhokama qilish uchun bir nechta taklif oldim; shuning uchun bugun men sizni ushbu kutubxona va uning vazifalari bilan tanishtiraman. Men uni ESP32 va ESP8266 bilan ishlatishni namoyish qilaman.

1 -qadam: PINOUT

PIN -kod
PIN -kod

Bu erda biz foydalanadigan ikkita qurilmaning PINOUTini ko'rsataman:

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

2 -qadam: WiFi menejeri

WiFiManager - bu simsiz ulanishni oson boshqarish uchun WiFi.h tepasida yozilgan kutubxonadan boshqa narsa emas. Shuni yodda tutingki, u bilan biz kirish nuqtasini ham, bekatni ham sozlash imkoniyatiga egamiz. Stantsiya rejimi uchun biz brauzerda portal orqali sozlaymiz.

Ba'zi xususiyatlar:

• Bu avtomatik ulanishga bog'liq

• Avtomatik bo'lmagan konfiguratsion portalni ishga tushirish

• Dual rejimda tanlab ishlaydi

3 -qadam: Bu qanday ishlaydi

U qanday ishlaydi
U qanday ishlaydi
U qanday ishlaydi
U qanday ishlaydi

ESP ulanganida WiFi konfiguratsiya portalini ishga tushiradi va konfiguratsiya ma'lumotlarini doimiy xotiraga saqlaydi. Keyinchalik, konfiguratsiya portali faqat ESP modulida tugma bosilganda qayta boshlanadi.

Bu erda siz konfiguratsiya oqimini tekshirishingiz va bosqichma -bosqich bajarishingiz mumkin:

1. Wi-Fi-ni yoqadigan har qanday qurilmani brauzer yordamida yangi yaratilgan kirish nuqtasiga ulang va 192.168.4.1 manzilini kiriting.

2. Ekranda mavjud tarmoqqa ulanish uchun ikkita variant bo'ladi:

• Wi -Fi -ni sozlash

• Wi -Fi -ni sozlash (skanerlashsiz)

3. Tarmoqlardan birini tanlang va parolni kiriting (agar kerak bo'lsa). Keyin saqlang va ESP qayta ishga tushishini kuting.

4. Yuklash oxirida ESP saqlangan tarmoqqa ulanishga urinadi. Agar buni qila olmasangiz, siz kirish nuqtasini yoqasiz.

4 -qadam: kutubxonalar

Kutubxonalar
Kutubxonalar

"WifiManager-ESP32" kutubxonasini qo'shing.

Https://github.com/zhouhan0126/WIFIMANAGER-ESP32 ga o'ting va kutubxonani yuklab oling.

Faylni oching va Arduino IDE kutubxonalari papkasiga joylashtiring.

C: / Dastur fayllari (x86) / Arduino / kutubxonalari

"DNSServer-ESP32" kutubxonasini qo'shing.

Https://github.com/zhouhan0126/DNSServer---esp32 havolasiga o'ting va kutubxonani yuklab oling.

Faylni oching va Arduino IDE kutubxonalari papkasiga joylashtiring.

C: / Dastur fayllari (x86) / Arduino / kutubxonalari

"WebServer-ESP32" kutubxonasini qo'shing.

Https://github.com/zhouhan0126/WebServer-esp32 havolasiga o'ting va kutubxonani yuklab oling.

Faylni oching va Arduino IDE kutubxonalari papkasiga joylashtiring.

C: / Dastur fayllari (x86) / Arduino / kutubxonalari

Eslatma:

WiFiManager-ESP32 kutubxonasi allaqachon ESP8266 bilan ishlaydigan sozlamalarga ega, shuning uchun biz faqat ikkita WiFiManager libasi o'rniga (har bir chip turi uchun) foydalanamiz.

Keyinchalik ko'rib turganimizdek, ESP8266WiFi va ESP8266WebServer - bu bizni yuklab olishimiz shart bo'lmagan kutubxonalar, chunki ular ESP8266 ni Arduino IDE -ga o'rnatganimizda keladi.

5 -qadam: funktsiyalar

Vazifalar
Vazifalar
Vazifalar
Vazifalar
Vazifalar
Vazifalar

WiFiManager bizga taklif qiladigan ba'zi funktsiyalar.

1. avtomatik ulanish

AutoConnect funktsiyasi kirish nuqtasini yaratish uchun javobgardir. Biz uni uchta usulda ishlatishimiz mumkin.

• autoConnect ("tarmoq nomi", "parol"); - belgilangan ism va parol bilan tarmoq yaratadi.

• autoConnect ("tarmoq nomi"); - aniqlangan nomdagi ochiq tarmoqni yaratadi.

• autoConnect (); - "ESP" + chipID nomi bilan ochiq va avtomatik nomlangan tarmoq yaratadi.

2. startConfigPortal

StartConfigPortal funktsiyasi oldindan saqlangan tarmoqqa ulanishga urinmasdan kirish nuqtasini yaratish uchun javobgardir.

• startConfigPortal ("tarmoq nomi", "parol"); - belgilangan ism va parol bilan tarmoq yaratadi.

• startConfigPortal (); - "ESP" + chipID nomi bilan ochiq va avtomatik ravishda nomlangan tarmoq yaratadi.

3. getConfigPortalSSID

Portal SSID -ni qaytaradi (kirish nuqtasi)

4. getSSID

Bu ulangan tarmoqning SSID kodini qaytaradi.

5. getPassword

Bu ulangan tarmoq parolini qaytaradi.

6. setDebugOutput

SetDebugOutput funktsiyasi ketma -ket monitorda disk raskadrovka xabarlarini chop etish uchun javobgardir. Bu xabarlar kutubxonada allaqachon aniqlangan. Funktsiyalarni ko'rib chiqsangiz, ma'lumotlar chop etiladi.

Odatiy bo'lib, bu funksiya TRUE ga o'rnatiladi. Agar siz xabarlarni o'chirmoqchi bo'lsangiz, funktsiyani FALSE holatiga qo'ying.

7. setMinimumSignalQuality

SetMinimumSignalQuality funktsiyasi signal sifatiga qarab tarmoqlarni filtrlash uchun javobgardir. Odatiy bo'lib, WiFiManager 8%dan past tarmoqqa kirmaydi.

8. setRemoveDuplicateAPs

SetRemoveDuplicateAPs funktsiyasi tarmoq dublikatlarini olib tashlash uchun javobgardir.

Odatiy bo'lib, u "TRUE" ga o'rnatiladi.

9. setAPStaticIPConfig

SetAPStaticIPConfig funktsiyasi kirish nuqtasi rejimida statik manzil sozlamalarini o'rnatish uchun javobgardir.

(IP, GETEWAY, SUBNET)

10. setSTAStaticIPConfig

SetSTAStaticIPConfig funktsiyasi stantsiya holatida statik manzil sozlamalarini o'rnatish uchun javobgardir.

(IP, GETEWAY, SUBNET)

Avtomatik ulanishdan oldin siz buyruqni qo'shishingiz kerak !!!

11. setAPCallback

SetAPCallback funktsiyasi sizga AP rejimi boshlanganligi to'g'risida xabar berish uchun javobgardir.

Parametr - bu qayta qo'ng'iroq sifatida ko'rsatish uchun yaratilishi kerak bo'lgan funktsiya;

12. setSaveConfigCallback

SetSaveConfigCallback funktsiyasi sizga yangi konfiguratsiya saqlanganligi va ulanish muvaffaqiyatli yakunlangani haqida xabar berish uchun javobgardir.

Parametr yaratish funktsiyasidir va buni qaytarish sifatida ko'rsatadi.

Avtomatik ulanishdan oldin siz buyruqni qo'shishingiz kerak !!!

6 -qadam: yig'ish

O'rnatish
O'rnatish

Misol

Bizning misolimizda biz ESP bilan kirish nuqtasini yaratamiz (kod ESP8266 va ESP32 uchun xizmat qiladi). AP yaratilgandan so'ng, biz portalga 192.168.4.1 IP orqali kiramiz (bu unga kirish uchun standart). Keling, mavjud tarmoqlarni olaylik, birini tanlang va saqlang. U erdan ESP qayta ishga tushadi va unga ulanishga harakat qiladi, keyin u stansiya sifatida ishlaydi va endi kirish nuqtasi sifatida ishlamaydi.

Stantsiya rejimiga o'tgandan so'ng, siz ESP -ni kirish tugmasi rejimiga faqat tugma orqali qaytarishingiz mumkin.

7 -qadam: kod

Kutubxonalar

Birinchidan, biz foydalanadigan kutubxonalarni aniqlaylik.

E'tibor bering, bizda #if belgilangan, #else va #endif buyruqlari mavjud. Ular chipga tegishli kerakli kutubxonalarni o'z ichiga olishi shart. Xuddi shu kodni ESP8266 va ESP32 -da ishlatish juda muhim.

#if aniqlangan (ESP8266)

#kiritish // ESP8266 Core WiFi kutubxonasi #boshqa #qo'shish // ESP32 Core WiFi kutubxonasi #endif

#if aniqlangan (ESP8266)

#include // Konfiguratsiya portaliga xizmat qilish uchun ishlatiladigan mahalliy WebServer

#boshqa

#include // Barcha so'rovlarni konfiguratsiya portaliga yo'naltirish uchun ishlatiladigan mahalliy DNS-server (https://github.com/zhouhan0126/DNSServer---esp32)

#endif

#include // Mahalliy WebServer konfiguratsiya portaliga xizmat qilish uchun ishlatilgan (https://github.com/zhouhan0126/DNSServer---esp32) #include // WiFi konfiguratsiya sehrlari (https://github.com/zhouhan0126/DNSServer-- -esp32) >> https://github.com/zhouhan0126/DNSServer---esp32 (ORIGINAL)

8 -qadam: sozlash

O'rnatishda biz WiFiManager -ni eng oddiy tarzda sozlaymiz. Qayta qo'ng'iroqlarni aniqlaymiz va tarmoq yaratamiz.

const int PIN_AP = 2;

void setup () {Serial.begin (9600); pinMod (PIN_AP, Kirish); // e'lon qilish wifiManager WiFiManager wifiManager;

// foydalanish kerak, chunki bu konfiguratsiya avtomatik ravishda amalga oshiriladi. // wifiManager.resetSettings (); // wifiManager.setAPCallback (configModeCallback) AP -ni sozlashda qayta qo'ng'iroq qilish; // qayta qo'ng'iroq qilish kerak bo'lsa, biz wifiManager.setSaveConfigCallback (saveConfigCallback) ga o'tamiz, lekin siz qo'ng'iroq qilishingiz mumkin; // ESP_AP buyrug'iga ko'ra, 12345678 wifiManager.autoConnect ("ESP_AP", "12345678"); }

9 -qadam: halqa

Loopda biz tugma pinini bosilganligini o'qiymiz va keyin AP rejimini qayta yoqish usulini chaqiramiz.

void loop () {

WiFiManager wifiManager; // agar u (digitalRead (PIN_AP) == YUQORI) {Serial.println ("qayta o'rnatish"); // agar port! kechikish (2000); ESP.restart (); kechikish (1000); } Serial.println ("Conectou ESP_AP !!!"); }

Tugmani bosganingizda, ESP bekat rejimidan chiqadi va kirish nuqtasi va portalingizni ochadi.

Esda tutingki, biz resetSettings () buyrug'idan foydalanmaymiz. Sozlamalar ESP keyingi yuklanishida saqlanadi.

10 -qadam: qayta qo'ng'iroqlar

Voqealar bilan bog'liq bo'lgan qayta qo'ng'iroq qilish funktsiyalari sizga operatsiyaning aniq lahzasiga ega bo'lishga xizmat qiladi, bizda AP va Stantsiya rejimiga o'tish. Keyin biz kerakli tartibni amalga oshirishimiz mumkin, masalan, ulangan tarmoqdan SSIDni olish.

// qayta qo'ng'iroq qilish, ESP -ga kirish hech qanday modsiz

void configModeCallback (WiFiManager *myWiFiManager) {// Serial.println ("Kiritilgan konfiguratsiya rejimi"); Serial.println ("Modullar konfiguratsiya qilinmaydi"); Serial.println (WiFi.softAPIP ()); // AP Serial.println (myWiFiManager-> getConfigPortalSSID ()) ning IP-manzili; // SSID -ni o'chirish yoki o'chirish

}

// qayta qo'ng'iroq qilish kerak, shuning uchun siz uni qayta tiklashingiz mumkin (modo estação)

void saveConfigCallback () {// Serial.println ("Konfiguratsiyani saqlash kerak"); Serial.println ("Configuração salva"); Serial.println (WiFi.softAPIP ()); // IP -ni AP -ga o'tkazmaslik

Tavsiya: