İçindekiler:

WiFiManager ile ESP8266 ve ESP32: 10 Adım
WiFiManager ile ESP8266 ve ESP32: 10 Adım

Video: WiFiManager ile ESP8266 ve ESP32: 10 Adım

Video: WiFiManager ile ESP8266 ve ESP32: 10 Adım
Video: WiFiManager with ESP32 - Stop Hard-coding WiFi Credentials! 2024, Temmuz
Anonim
Image
Image
PİN YAPISI
PİN YAPISI

WiFiManager'a aşina mısınız? Bu, kablosuz bağlantı yöneticisi olarak hizmet veren bir kitaplıktır ve onunla hem Erişim Noktası hem de İstasyon yapılandırmanın daha kolay bir yoluna sahibiz. Bu konuyu tartışmak için birkaç öneri aldım; bu yüzden bugün size bu kütüphaneyi ve fonksiyonlarını tanıtacağım. Ayrıca hem ESP32 hem de ESP8266 ile kullanımının bir gösterimini yapacağım.

1. Adım: PINOUT

PİN YAPISI
PİN YAPISI

Burada kullanacağımız iki cihazın PINOUT'unu gösteriyorum:

  • DüğümMCU ESP-12E
  • NodeMCU ESP-WROOM-32

2. Adım: WiFiManager

WiFiManager, kablosuz bağlantıların kolay yönetimi için WiFi.h'nin üzerine yazılmış bir kitaplıktan başka bir şey değildir. Bununla birlikte, hem Erişim Noktası hem de İstasyon yapılandırmak için daha büyük bir olanağımız olduğunu unutmayın. İstasyon modu için tarayıcıda bir portal üzerinden yapılandırma yapıyoruz.

Bazı özellikler:

• Otomatik bağlantıya bağlıdır

• Otomatik olmayan konfigürasyon portalının başlatılması

• Çift modda seçici olarak çalışır

Adım 3: Nasıl Çalışır?

Nasıl çalışır
Nasıl çalışır
Nasıl çalışır
Nasıl çalışır

ESP, bağlandığında bir WiFi yapılandırma portalı başlatacak ve yapılandırma verilerini kalıcı belleğe kaydedecektir. Ardından, yapılandırma portalı yalnızca ESP modülünde bir düğmeye basıldığında yeniden başlayacaktır.

Burada yapılandırma akışını kontrol edebilir ve bu adımı adım adım takip edebilirsiniz:

1. Bir tarayıcı ile WiFi özellikli herhangi bir cihazı kullanarak yeni oluşturulan erişim noktasına bağlanın ve 192.168.4.1 adresini girin.

2. Ekranda mevcut bir ağa bağlanmak için iki seçeneğiniz olacaktır:

• WiFi'yi yapılandırın

• WiFi'yi yapılandırın (Tarama Yok)

3. Ağlardan birini seçin ve parolayı girin (gerekirse). Ardından kaydedin ve ESP'nin yeniden başlatılmasını bekleyin.

4. Önyüklemenin sonunda, ESP kayıtlı ağa bağlanmaya çalışır. Bunu yapamıyorsanız, bir Erişim Noktasını etkinleştireceksiniz.

4. Adım: Kitaplıklar

Kütüphaneler
Kütüphaneler

"WifiManager-ESP32" kitaplığını ekleyin.

github.com/zhouhan0126/WIFIMANAGER-ESP32 adresine gidin ve kitaplığı indirin.

Dosyayı açın ve Arduino IDE'nin kitaplıklar klasörüne yapıştırın.

C: / Program Dosyaları (x86) / Arduino / kitaplıklar

"DNSServer-ESP32" kitaplığını ekleyin.

github.com/zhouhan0126/DNSServer---esp32 bağlantısına gidin ve kitaplığı indirin.

Dosyayı açın ve Arduino IDE'nin kitaplıklar klasörüne yapıştırın.

C: / Program Dosyaları (x86) / Arduino / kitaplıklar

"WebServer-ESP32" kitaplığını ekleyin.

github.com/zhouhan0126/WebServer-esp32 bağlantısına gidin ve kütüphaneyi indirin.

Dosyayı açın ve Arduino IDE'nin kitaplıklar klasörüne yapıştırın.

C: / Program Dosyaları (x86) / Arduino / kitaplıklar

Not:

WiFiManager-ESP32 kitaplığı zaten ESP8266 ile çalışan ayarlara sahiptir, bu nedenle iki WiFiManager kitaplığı (her çip türü için bir tane) yerine yalnızca bunu kullanacağız.

Daha sonra göreceğimiz gibi, ESP8266WiFi ve ESP8266WebServer, Arduino IDE'ye ESP8266'yı kurduğumuzda zaten geldikleri için indirmemize gerek olmayan kütüphanelerdir.

Adım 5: Fonksiyonlar

Fonksiyonlar
Fonksiyonlar
Fonksiyonlar
Fonksiyonlar
Fonksiyonlar
Fonksiyonlar

İşte WiFiManager'ın bize sunduğu bazı işlevler.

1. otomatik Bağlantı

AutoConnect işlevi, bir Erişim Noktası oluşturmaktan sorumludur. Bunu üç şekilde kullanabiliriz.

• autoConnect ("ağ adı", "şifre"); - tanımlanan ad ve şifre ile bir ağ oluşturur.

• autoConnect ("ağ adı"); - tanımlanan adla açık bir ağ oluşturur.

• otomatik bağlantı (); - adı 'ESP' + chipID olan açık ve otomatik olarak adlandırılmış bir ağ oluşturur.

2. startConfigPortal

startConfigPortal işlevi, önceden kaydedilmiş bir ağa bağlanmaya çalışmadan bir Erişim Noktası oluşturmaktan sorumludur.

• startConfigPortal ("ağ adı", "parola"); - tanımlanan ad ve şifre ile bir ağ oluşturur.

• startConfigPortal (); - adı 'ESP' + chipID olan açık ve otomatik olarak adlandırılmış bir ağ oluşturur.

3. getConfigPortalSSID

Portalın SSID'sini döndürür (Erişim Noktası)

4. getSSID

Bu, bağlı olduğu ağın SSID'sini döndürür.

5. Şifre al

Bu, bağlı olduğu ağın şifresini döndürür.

6. setDebugOutput

setDebugOutput işlevi, seri monitörde hata ayıklama mesajlarının yazdırılmasından sorumludur. Bu mesajlar zaten kitaplıkta tanımlanmıştır. Siz fonksiyonlardan geçerken, veriler yazdırılacaktır.

Varsayılan olarak, bu işlev DOĞRU olarak ayarlanmıştır. Mesajları devre dışı bırakmak istiyorsanız, işlevi YANLIŞ olarak ayarlamanız yeterlidir.

7. Minimum Sinyal Kalitesini ayarlayın

setMinimumSignalQuality işlevi, ağları sinyal kalitesine göre filtrelemekten sorumludur. Varsayılan olarak WiFiManager, %8'in altındaki oturum açma ağlarını göstermez.

8. SetRemoveDuplicateAP'ler

setRemoveDuplicateAPs işlevi, ağ kopyalarını kaldırmaktan sorumludur.

Varsayılan olarak DOĞRU olarak ayarlanmıştır.

9. setAPStaticIPConfig

setAPStaticIPConfig işlevi, erişim noktası modundayken statik adres ayarlarının yapılmasından sorumludur.

(IP, AĞ GEÇİDİ, ALT AĞ)

10. setSTAStaticIPConfig

setSTAStaticIPConfig işlevi, istasyon modundayken statik adres ayarlarının yapılmasından sorumludur.

(IP, AĞ GEÇİDİ, ALT AĞ)

Komutu autoConnect'ten önce eklemelisiniz!!!

11. setAPCallback

setAPCallback işlevi, AP modunun başladığını size bildirmekten sorumludur.

Parametre, onu bir geri arama olarak belirtmek için oluşturulması gereken bir işlevdir;

12. setSaveConfigCallback

setSaveConfigCallback işlevi, yeni bir yapılandırmanın kaydedildiğini ve bağlantının başarıyla tamamlandığını size bildirmekten sorumludur.

Parametre, oluşturmak için bir işlevdir ve bunu bir geri dönüş olarak belirtir.

Komutu autoConnect'ten önce eklemelisiniz !!!

Adım 6: Montaj

toplantı
toplantı

Örnek

Örneğimizde ESP ile bir Erişim Noktası oluşturacağız (kod hem ESP8266 hem de ESP32'ye hizmet edecektir). AP'nin oluşturulmasından sonra, portala IP 192.168.4.1 (erişmek için varsayılan olan) üzerinden erişeceğiz. O halde mevcut ağları alalım, birini seçip kaydedelim. Oradan, ESP yeniden başlatılacak ve ona bağlanmaya çalışacak ve ardından artık bir Erişim Noktası olarak değil, bir istasyon olarak çalışacaktır.

İstasyon moduna girdikten sonra sadece buton ile ESP'nin Erişim Noktası moduna dönmesini sağlayabilirsiniz.

7. Adım: Kod

Kütüphaneler

Öncelikle kullanacağımız kütüphaneleri tanımlayalım.

#if tanımlanmış, #else ve #endif komutlarımız olduğunu unutmayın. Çip ile ilgili gerekli kitaplıkları içermeleri şartına bağlıdırlar. Bu kısım, aynı kodu hem ESP8266 hem de ESP32'de çalıştırmak için son derece önemlidir.

#if tanımlı(ESP8266)

#include //ESP8266 Çekirdek WiFi Kitaplığı #else #include //ESP32 Çekirdek WiFi Kitaplığı #endif

#if tanımlı(ESP8266)

#include // Yapılandırma portalına hizmet etmek için kullanılan Yerel Web Sunucusu

#Başka

#include //Tüm istekleri yapılandırma portalına yönlendirmek için kullanılan Yerel DNS Sunucusu (https://github.com/zhouhan0126/DNSServer---esp32)

#endif

#include //Yapılandırma portalına hizmet etmek için kullanılan Yerel Web Sunucusu (https://github.com/zhouhan0126/DNSServer---esp32) #include // WiFi Yapılandırma Sihri (https://github.com/zhouhan0126/DNSServer-- -esp32) >> https://github.com/zhouhan0126/DNSServer---esp32 (ORİJİNAL)

Adım 8: Kurulum

Kurulumda WiFiManager'ımızı en basit şekilde yapılandırıyoruz. Geri aramaları tanımlayalım ve ağı oluşturalım.

const int PIN_AP = 2;

geçersiz kurulum() { Serial.begin(9600); pinMode(PIN_AP, GİRİŞ); //wifiManager'a itiraz etme WiFiManager wifiManager;

//kullanılan esse comando, configurações são apagadas da memória olarak //caso tiver salvo alguma rede para conectar autoamente, ela é apagada. // wifiManager.resetSettings(); //AP wifiManager.setAPCallback(configModeCallback); //wifiManager.setSaveConfigCallback(saveConfigCallback); // ESP_AP com senha 12345678 wifiManager.autoConnect("ESP_AP", "12345678"); }

Adım 9: Döngü

Döngüde buton pinine basılıp basılmadığını görmek için okuyacağız ve ardından AP modunu yeniden etkinleştirmek için yöntemi çağıracağız.

boşluk döngüsü () {

WiFiManager wifiManager; // bu nedenle, eğer (digitalRead(PIN_AP) == HIGH) { Serial.println("resetar"); // portalın kısaltması if(!wifiManager.startConfigPortal("ESP_AP", "12345678")){ Serial.println("Falha ao conectar"); gecikme(2000); ESP.restart(); gecikme(1000); } Serial.println("Conectou ESP_AP!!!"); }

Düğmeye bastığınızda, ESP İstasyon modundan çıkar ve Erişim Noktanızı ve portalınızı açar.

ResetSettings() komutunu kullanmadığımızı unutmayın. Ayarlar, ESP'nin bir sonraki açılışında kullanılmak üzere kaydedilir.

Adım 10: Geri Aramalar

Olaylarla ilişkili geri arama işlevleri, bizim durumumuzda AP moduna ve İstasyon moduna girerek bir işlemin tam anına sahip olmanıza hizmet eder. Ardından, örneğin bağlı ağdan SSID'yi almak gibi istenen bazı rutinleri uygulayabiliriz.

//geri arama kuyruğu gösterge kuyruğu o ESP girişi yok modo AP

void configModeCallback (WiFiManager *myWiFiManager) { // Serial.println("Yapılandırma moduna girildi"); Serial.println("Yapılandırmaya giriş yok"); Seri.println(WiFi.softAPIP()); // IP do AP Serial.println(myWiFiManager->getConfigPortalSSID()); // impprime veya SSID criado da rede

}

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

void saveConfigCallback() { // Serial.println("Yapılandırmayı kaydetmeli"); Serial.println("Configuração salva"); Seri.println(WiFi.softAPIP()); // IP do AP }

Önerilen: