Mündəricat:

WiFiManager ilə ESP8266 və ESP32: 10 addım
WiFiManager ilə ESP8266 və ESP32: 10 addım

Video: WiFiManager ilə ESP8266 və ESP32: 10 addım

Video: WiFiManager ilə ESP8266 və ESP32: 10 addım
Video: Управляем адресными светодиодами на ESP32, прошивка WLED, применение в Home Assistant 2024, Noyabr
Anonim
Image
Image
PINOUT
PINOUT

WiFiManager ilə tanışsınızmı? Simsiz əlaqə meneceri kimi xidmət edən bir kitabxanadır və bununla həm Giriş Nöqtəsini, həm də Stansiyanı konfiqurasiya etməyin daha asan bir yoludur. Bu mövzunu müzakirə etmək üçün bir neçə təklif aldım; bu gün sizi bu kitabxana və onun funksiyaları ilə tanış edəcəyəm. Həm ESP32, həm də ESP8266 ilə istifadəsini nümayiş etdirəcəyəm.

Addım 1: PINOUT

PINOUT
PINOUT

Burada istifadə edəcəyimiz iki cihazın PINOUTunu göstərirəm:

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

Addım 2: WiFiManager

WiFiManager, simsiz əlaqələri asan idarə etmək üçün WiFi.h üzərində yazılmış kitabxanadan başqa bir şey deyil. Unutmayın ki, bununla həm Giriş nöqtəsini, həm də Stansiyanı konfiqurasiya etmək üçün daha böyük bir imkanımız var. Stansiya rejimi üçün brauzerdəki bir portal vasitəsilə konfiqurasiya edirik.

Bəzi xüsusiyyətlər:

• Avtomatik bağlantıdan asılıdır

• Avtomatik olmayan konfiqurasiya portalının işə salınması

• İkili rejimdə seçici işləyir

Addım 3: Necə Çalışır

Bu necə işləyir
Bu necə işləyir
Bu necə işləyir
Bu necə işləyir

ESP qoşulduqda WiFi konfiqurasiya portalını işə salacaq və konfiqurasiya məlumatlarını dəyişməz yaddaşa saxlayacaq. Sonradan, konfiqurasiya portalı yalnız ESP modulunda bir düyməyə basıldıqda yenidən başlayacaq.

Burada konfiqurasiya axını yoxlaya və bu addımı addım -addım izləyə bilərsiniz:

1. Brauzeri olan hər hansı bir WiFi aktiv cihazı istifadə edərək, yeni yaradılmış giriş nöqtəsinə qoşulun və 192.168.4.1 ünvanını daxil edin.

2. Ekranda mövcud bir şəbəkəyə qoşulmaq üçün iki seçiminiz olacaq:

• WiFi konfiqurasiya edin

• WiFi konfiqurasiya edin (Tarama yoxdur)

3. Şəbəkələrdən birini seçin və şifrəni daxil edin (lazım olduqda). Sonra saxla və ESP -nin yenidən başlamasını gözləyin.

4. Açılışın sonunda, ESP qeyd olunan şəbəkəyə qoşulmağa çalışır. Bunu edə bilmirsinizsə, bir giriş nöqtəsini aktivləşdirəcəksiniz.

Addım 4: Kitabxanalar

Kitabxanalar
Kitabxanalar

"WifiManager-ESP32" kitabxanasını əlavə edin.

Https://github.com/zhouhan0126/WIFIMANAGER-ESP32 ünvanına daxil olun və kitabxananı yükləyin.

Faylı açın və Arduino IDE kitabxana qovluğuna yapışdırın.

C: / Proqram Faylları (x86) / Arduino / kitabxanaları

"DNSServer-ESP32" kitabxanasını əlavə edin.

Https://github.com/zhouhan0126/DNSServer---esp32 linkinə daxil olun və kitabxananı yükləyin.

Faylı açın və Arduino IDE kitabxana qovluğuna yapışdırın.

C: / Proqram Faylları (x86) / Arduino / kitabxanaları

"WebServer-ESP32" kitabxanasını əlavə edin.

Https://github.com/zhouhan0126/WebServer-esp32 linkinə daxil olun və kitabxananı yükləyin.

Faylı açın və Arduino IDE kitabxana qovluğuna yapışdırın.

C: / Proqram Faylları (x86) / Arduino / kitabxanaları

Qeyd:

WiFiManager-ESP32 kitabxanasında artıq ESP8266 ilə işləyən parametrlər var, buna görə də yalnız iki WiFiManager libs (hər bir çip növü üçün bir ədəd) yerinə istifadə edəcəyik.

Daha sonra görəcəyimiz kimi, ESP8266WiFi və ESP8266WebServer, yükləməyimiz lazım olmayan kitabxanalardır, çünki Arduino IDE -də ESP8266 qurduqda artıq gəlirlər.

Addım 5: Funksiyalar

Funksiyalar
Funksiyalar
Funksiyalar
Funksiyalar
Funksiyalar
Funksiyalar

WiFiManager -in bizə təqdim etdiyi bəzi funksiyalar.

1. avtomatik əlaqə

AutoConnect funksiyası bir giriş nöqtəsi yaratmaqdan məsuldur. Üç şəkildə istifadə edə bilərik.

• autoConnect ("şəbəkə adı", "parol"); - müəyyən edilmiş ad və şifrə ilə bir şəbəkə yaradır.

• autoConnect ("şəbəkə adı"); - müəyyən edilmiş adla açıq bir şəbəkə yaradır.

• autoConnect (); - adı 'ESP' + chipID olan açıq və avtomatik olaraq adlandırılan bir şəbəkə yaradır.

2. startConfigPortal

StartConfigPortal funksiyası əvvəllər saxlanılan bir şəbəkəyə qoşulmağa cəhd etmədən bir giriş nöqtəsi yaratmaqdan məsuldur.

• startConfigPortal ("şəbəkə adı", "parol"); - müəyyən edilmiş ad və şifrə ilə bir şəbəkə yaradır.

• startConfigPortal (); - adı 'ESP' + chipID olan açıq və avtomatik olaraq adlandırılan bir şəbəkə yaradır.

3. getConfigPortalSSID

Portalın SSID -ni qaytarır (Giriş nöqtəsi)

4. getSSID

Bu, qoşulduğu şəbəkənin SSID -ni qaytarır.

5. getPassword

Bu, qoşulduğu şəbəkənin parolunu qaytarır.

6. setDebugOutput

SetDebugOutput funksiyası, ayaqlaşma mesajlarını serial monitorda çap etməkdən məsuldur. Bu mesajlar artıq kitabxanada müəyyən edilmişdir. Funksiyalardan keçərkən məlumatlar çap olunacaq.

Varsayılan olaraq, bu funksiya TRUE olaraq təyin edilmişdir. Mesajları deaktiv etmək istəyirsinizsə, funksiyanı FALSE olaraq təyin edin.

7. setMinimumSignalQuality

SetMinimumSignalQuality funksiyası siqnal keyfiyyətinə görə şəbəkələri süzməkdən məsuldur. Varsayılan olaraq, WiFiManager 8%-dən aşağı giriş şəbəkələrini göstərməyəcək.

8. setRemoveDuplicateAPs

SetRemoveDuplicateAPs funksiyası şəbəkə dublikatlarının silinməsindən məsuldur.

Varsayılan olaraq TRUE olaraq təyin olunur.

9. setAPStaticIPConfig

SetAPStaticIPConfig funksiyası, giriş nöqtəsi rejimində statik ünvan parametrlərinin təyin edilməsindən məsuldur.

(IP, GATEWAY, ALT AĞ)

10. setSTAStaticIPConfig

SetSTAStaticIPConfig funksiyası stansiya rejimində statik ünvan parametrlərinin təyin edilməsindən məsuldur.

(IP, GATEWAY, ALT AĞ)

Avtomatik bağlanmadan əvvəl əmri əlavə etməlisiniz !!!

11. setAPCallback

SetAPCallback funksiyası AP rejiminin başladığını sizə bildirməkdən məsuldur.

Parametr, onu geri çağırma kimi göstərmək üçün yaradılmalı olan bir funksiyadır;

12. setSaveConfigCallback

SetSaveConfigCallback funksiyası, yeni bir konfiqurasiyanın saxlandığını və əlaqənin uğurla tamamlandığını bildirməkdən məsuldur.

Parametr yaratmaq üçün bir funksiyadır və bunu bir geri qaytarma olaraq göstərir.

Avtomatik bağlanmadan əvvəl əmri əlavə etməlisiniz !!!

Addım 6: Quraşdırma

Məclis
Məclis

Misal

Misalımızda, ESP ilə bir giriş nöqtəsi yaradacağıq (kod həm ESP8266, həm də ESP32 xidmət edəcək). AP yaradıldıqdan sonra porta IP 192.168.4.1 (daxil olmaq üçün standartdır) vasitəsilə daxil olacağıq. Beləliklə, mövcud şəbəkələri əldə edək, birini seçin və saxla. Oradan, ESP yenidən başlayacaq və ona qoşulmağa çalışacaq, sonra stansiya olaraq işləyəcək və artıq giriş nöqtəsi olaraq çalışmayacaq.

Stansiya rejiminə daxil olduqdan sonra ESP -ni yalnız düymə ilə Giriş nöqtəsi rejiminə qaytara bilərsiniz.

Addım 7: Kod

Kitabxanalar

Əvvəlcə istifadə edəcəyimiz kitabxanaları təyin edək.

Diqqət yetirin ki, #if, #else və #endif əmrlərimiz var. Çipə aid lazımi kitabxanaların daxil edilməsi şərtdir. Bu hissənin eyni kodu həm ESP8266, həm də ESP32 ilə işlətməsi son dərəcə əhəmiyyətlidir.

#təyin olunarsa (ESP8266)

#daxil edin // ESP8266 Core WiFi Kitabxanası #başqa #əlavə edin // ESP32 Core WiFi Kitabxanası #endif

#təyin olunarsa (ESP8266)

#include // Konfiqurasiya portalına xidmət etmək üçün istifadə olunan Yerli WebServer

#başqa

#include // Bütün sorğuların konfiqurasiya portalına yönləndirilməsi üçün istifadə olunan Yerli DNS Server (https://github.com/zhouhan0126/DNSServer---esp32)

#endif

#include // Konfiqurasiya portalına xidmət etmək üçün istifadə olunan Yerli WebServer (https://github.com/zhouhan0126/DNSServer---esp32) #include // WiFi Konfiqurasiya Sehrli (https://github.com/zhouhan0126/DNSServer-- -esp32) >> https://github.com/zhouhan0126/DNSServer---esp32 (ORİJİNAL)

Addım 8: Quraşdırma

Quraşdırma zamanı WiFiManagerimizi ən sadə şəkildə konfiqurasiya edirik. Yalnız geri çağırışları təyin edək və şəbəkə yaradaq.

const int PIN_AP = 2;

void setup () {Serial.begin (9600); pinMode (PIN_AP, GİRİŞ); // wifiManager WiFiManager wifiManager elan edin;

// istifadə edildikdə, bu məlumatları avtomatik olaraq təyin etmək olar.. bu, avtomatik məlumatların avtomatik olaraq yenilənməsini təmin edir. // wifiManager.resetSettings (); // AP wifiManager.setAPCallback (configModeCallback) konfiqurasiya edildikdə geri zəng; // geri zəng etmək üçün bir şey etmək lazım deyilsə, wifiManager.setSaveConfigCallback (saveConfigCallback); // ESP_AP komutu 12345678 wifiManager.autoConnect ("ESP_AP", "12345678"); }

Addım 9: Döngə

Döngədə, basıldığını görmək üçün düymə pinini oxuyacağıq və sonra AP rejimini yenidən aktivləşdirmək üçün metodu çağıracağıq.

boşluq döngəsi () {

WiFiManager wifiManager; // əgər (digitalRead (PIN_AP) == YÜKSEK) {Serial.println ("sıfırlama"); // əgər portal! gecikmə (2000); ESP.restart (); gecikmə (1000); } Serial.println ("Conectou ESP_AP !!!"); }

Düyməni basdığınız zaman ESP Stansiya rejimindən çıxacaq və Giriş nöqtənizi və portalınızı açacaq.

ResetSettings () əmrindən istifadə etmədiyimizi unutmayın. Növbəti dəfə ESP çəkilişləri üçün parametrlər hələ də saxlanılır.

Addım 10: Geri çağırışlar

Hadisələrlə əlaqəli geri çağırma funksiyaları, bizim vəziyyətimizdə, AP rejiminə və Stansiya rejiminə keçərək, dəqiq bir əməliyyat anına sahib olmağınıza xidmət edir. Daha sonra, məsələn, bağlı şəbəkədən SSID -nin alınması kimi bəzi arzu olunan rutini həyata keçirə bilərik.

// geri çağırma ESP girişi heç bir AP -də göstərilməmişdir

etibarsız configModeCallback (WiFiManager *myWiFiManager) {// Serial.println ("Daxil edilmiş konfiqurasiya rejimi"); Serial.println ("Heç bir modu konfiqurasiya edilmir"); Serial.println (WiFi.softAPIP ()); // AP Serial.println (myWiFiManager-> getConfigPortalSSID ()) üçün IP-ni sınayın; // SSID yadda saxla

}

// geri çağırma göstəricisi nə qədər çox olduğunu başa düşmək üçün əlaqə qurun (modo estação)

void saveConfigCallback () {// Serial.println ("Konfiqurasiya saxlanmalıdır"); Serial.println ("Configuração salva"); Serial.println (WiFi.softAPIP ()); // AP üçün IP -ni sınayın

Tövsiyə: