Spisu treści:

ESP8266 i ESP32 z WiFiManager: 10 kroków
ESP8266 i ESP32 z WiFiManager: 10 kroków

Wideo: ESP8266 i ESP32 z WiFiManager: 10 kroków

Wideo: ESP8266 i ESP32 z WiFiManager: 10 kroków
Wideo: Kurs ESP i RTOS - LIVE, sprzęt do ćwiczeń, pytania i odpowiedzi 2024, Lipiec
Anonim
Image
Image
WYPINANIE
WYPINANIE

Czy znasz WiFiManager? Jest to biblioteka, która służy jako menedżer połączeń bezprzewodowych, a dzięki niej mamy łatwiejszy sposób na skonfigurowanie zarówno punktu dostępowego, jak i stacji. Otrzymałem kilka sugestii, aby omówić ten temat; więc dzisiaj przedstawię Wam tę bibliotekę i jej funkcje. Zrobię też demonstrację jego użycia zarówno z ESP32 jak i ESP8266.

Krok 1: WYPINANIE

WYPINANIE
WYPINANIE

Tutaj pokazuję PINOUT dwóch urządzeń, z których będziemy korzystać:

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

Krok 2: Menedżer WiFi

WiFiManager to tak naprawdę nic innego jak biblioteka napisana na bazie WiFi.h do łatwego zarządzania połączeniami bezprzewodowymi. Pamiętaj, że dzięki niemu mamy większe możliwości konfiguracji zarówno Punktu Dostępowego, jak i Stacji. Dla trybu Station konfigurujemy poprzez portal w przeglądarce.

Niektóre funkcje:

• To zależy od automatycznej łączności

• Inicjalizacja nieautomatycznego portalu konfiguracyjnego

• Działa selektywnie w trybie podwójnym

Krok 3: Jak to działa

Jak to działa
Jak to działa
Jak to działa
Jak to działa

Po podłączeniu ESP zainicjuje portal konfiguracyjny WiFi i zapisze dane konfiguracyjne w pamięci nieulotnej. Następnie portal konfiguracyjny uruchomi się ponownie dopiero po naciśnięciu przycisku w module ESP.

Tutaj możesz sprawdzić przebieg konfiguracji i postępować krok po kroku:

1. Za pomocą dowolnego urządzenia z obsługą WiFi z przeglądarką połącz się z nowo utworzonym punktem dostępowym i wprowadź adres 192.168.4.1.

2. Na ekranie będziesz mieć dwie opcje połączenia z istniejącą siecią:

• Skonfiguruj WiFi

• Skonfiguruj WiFi (bez skanowania)

3. Wybierz jedną z sieci i wprowadź hasło (w razie potrzeby). Następnie zapisz i poczekaj na ponowne uruchomienie ESP.

4. Pod koniec rozruchu ESP próbuje połączyć się z zapisaną siecią. Jeśli nie możesz tego zrobić, włączysz punkt dostępu.

Krok 4: Biblioteki

Biblioteki
Biblioteki

Dodaj bibliotekę "WifiManager-ESP32".

Wejdź na https://github.com/zhouhan0126/WIFIMANAGER-ESP32 i pobierz bibliotekę.

Rozpakuj plik i wklej go do folderu bibliotek Arduino IDE.

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

Dodaj bibliotekę „DNSServer-ESP32”.

Przejdź do https://github.com/zhouhan0126/DNSServer---esp32 link i pobierz bibliotekę.

Rozpakuj plik i wklej go do folderu bibliotek Arduino IDE.

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

Dodaj bibliotekę "WebServer-ESP32".

Przejdź do linku https://github.com/zhouhan0126/WebServer-esp32 i pobierz bibliotekę.

Rozpakuj plik i wklej go do folderu bibliotek Arduino IDE.

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

Notatka:

Biblioteka WiFiManager-ESP32 ma już ustawienia, które działają z ESP8266, więc użyjemy tylko tego, zamiast dwóch bibliotek WiFiManager (po jednej dla każdego typu układu).

Jak zobaczymy później, ESP8266WiFi i ESP8266WebServer to biblioteki, których nie musimy pobierać, ponieważ są już dostępne, gdy zainstalujemy ESP8266 w Arduino IDE.

Krok 5: Funkcje

Funkcje
Funkcje
Funkcje
Funkcje
Funkcje
Funkcje

Oto kilka funkcji, które oferuje nam WiFiManager.

1. autoPołącz

Funkcja autoConnect odpowiada za utworzenie punktu dostępowego. Możemy go wykorzystać na trzy sposoby.

• autoConnect („nazwa sieci”, „hasło”); - tworzy sieć ze zdefiniowaną nazwą i hasłem.

• autoConnect („nazwa sieci”); - tworzy otwartą sieć o zdefiniowanej nazwie.

• automatyczne polączenie (); - tworzy otwartą i automatycznie nazwaną sieć o nazwie 'ESP' + chipID.

2. uruchomConfigPortal

Funkcja startConfigPortal odpowiada za tworzenie Punktu Dostępowego bez próby połączenia z wcześniej zapisaną siecią.

• startConfigPortal („nazwa sieci”, „hasło”); - tworzy sieć ze zdefiniowaną nazwą i hasłem.

• startConfigPortal (); - tworzy otwartą i automatycznie nazwaną sieć o nazwie 'ESP' + chipID.

3. getConfigPortalSSID

Zwraca identyfikator SSID portalu (punktu dostępu)

4. zdobądź SSID

Zwraca identyfikator SSID sieci, do której jest podłączony.

5. zdobądź hasło

Zwraca hasło sieci, do której jest podłączony.

6. setDebugOutput

Funkcja setDebugOutput odpowiada za drukowanie komunikatów debugowania na monitorze szeregowym. Te komunikaty są już zdefiniowane w bibliotece. W miarę przechodzenia przez funkcje, dane będą drukowane.

Domyślnie ta funkcja jest ustawiona na TRUE. Jeśli chcesz wyłączyć wiadomości, po prostu ustaw funkcję na FALSE.

7. ustaw minimalną jakość sygnału

Funkcja setMinimumSignalQuality odpowiada za filtrowanie sieci na podstawie jakości sygnału. Domyślnie WiFiManager nie wyświetla sieci logowania poniżej 8%.

8. ustawUsuńDuplicateAPs

Za usuwanie duplikatów sieci odpowiada funkcja setRemoveDuplicateAPs.

Domyślnie jest ustawiony na TRUE.

9. setAPStaticIPConfig

Funkcja setAPStaticIPConfig odpowiada za ustawienie ustawień adresu statycznego w trybie punktu dostępowego.

(IP, BRAMA, PODSIEĆ)

10. ustawStaticIPConfig

Funkcja setSTAStaticIPConfig odpowiada za ustawienie ustawień adresu statycznego w trybie stacji.

(IP, BRAMA, PODSIEĆ)

Musisz dodać komendę przed autoConnect!!!

11. ustaw APCallback

Funkcja setAPCallback odpowiada za informowanie o uruchomieniu trybu AP.

Parametr jest funkcją, którą należy utworzyć, aby wskazać ją jako wywołanie zwrotne;

12. ustawSaveConfigCallback

Funkcja setSaveConfigCallback odpowiada za poinformowanie o zapisaniu nowej konfiguracji i pomyślnym zakończeniu połączenia.

Parametr jest funkcją do utworzenia i wskazuje to jako allback.

Musisz dodać komendę przed autoConnect !!!

Krok 6: Montaż

montaż
montaż

Przykład

W naszym przykładzie stworzymy Access Point z ESP (kod będzie obsługiwał zarówno ESP8266, jak i ESP32). Po utworzeniu punktu dostępowego uzyskamy dostęp do portalu za pośrednictwem adresu IP 192.168.4.1 (który jest domyślnym dostępem do niego). Zdobądźmy więc dostępne sieci, wybierzmy jedną i zapiszmy. Stamtąd ESP uruchomi się ponownie i spróbuje się z nim połączyć, a następnie będzie działać jako stacja, a nie jako punkt dostępowy.

Po wejściu w tryb stacji możesz sprawić, by ESP powrócił do trybu Access Point tylko za pomocą przycisku.

Krok 7: Kod

Biblioteki

Najpierw zdefiniujmy biblioteki, z których będziemy korzystać.

Zauważ, że mamy polecenia #if defined, #else i #endif. Warunkiem jest dołączenie niezbędnych bibliotek związanych z chipem. Ta część jest niezwykle ważna, aby uruchomić ten sam kod zarówno na ESP8266, jak i ESP32.

#jeśli zdefiniowano (ESP8266)

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

#jeśli zdefiniowano (ESP8266)

#include //Local WebServer używany do obsługi portalu konfiguracyjnego

#w przeciwnym razie

#include //Lokalny serwer DNS używany do przekierowywania wszystkich żądań do portalu konfiguracyjnego (https://github.com/zhouhan0126/DNSServer---esp32)

#endif

#include //Local WebServer używany do obsługi portalu konfiguracyjnego (https://github.com/zhouhan0126/DNSServer---esp32) #include // WiFi Configuration Magic (https://github.com/zhouhan0126/DNSServer-- -esp32) >> https://github.com/zhouhan0126/DNSServer---esp32 (ORYGINAŁ)

Krok 8: Konfiguracja

W konfiguracji konfigurujemy nasz WiFiManager w najprostszy sposób. Zdefiniujmy tylko wywołania zwrotne i stwórzmy sieć.

const int PIN_AP = 2;

void setup() { Serial.begin(9600); pinMode(PIN_AP, INPUT); //declaraçã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(); //callback para quando w trybie konfiguracji AP wifiManager.setAPCallback(configModeCallback); //callback, aby połączyć się z umą ponowną, lub przejść dalej, aby przejść do trybu połączenia wifiManager.setSaveConfigCallback(saveConfigCallback); //cria uma rede de nome ESP_AP com senha 12345678 wifiManager.autoConnect("ESP_AP", "12345678"); }

Krok 9: Pętla

W pętli odczytamy pin przycisku, aby sprawdzić, czy został wciśnięty, a następnie wywołamy metodę ponownego włączenia trybu AP.

pusta pętla () {

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"); opóźnienie (2000); ESP.restart(); opóźnienie (1000); } Serial.println("Połącz ESP_AP!!!"); }

Po naciśnięciu przycisku ESP wyjdzie z trybu stacji i otworzy twój punkt dostępowy i portal.

Pamiętaj, że nie używamy polecenia resetSettings(). Ustawienia są nadal zapisywane do następnego rozruchu ESP.

Krok 10: Oddzwonienia

Funkcje zwrotne, które są powiązane ze zdarzeniami, służą do dokładnego poznania momentu operacji, w naszym przypadku wejścia w tryb AP i tryb stacji. Możemy wtedy zaimplementować pożądaną procedurę, taką jak na przykład pobieranie identyfikatora SSID z podłączonej sieci.

//oddzwonienie que indica que o ESP entrou no modo AP

void configModeCallback (WiFiManager *myWiFiManager) { // Serial.println("Wszedł tryb konfiguracji"); Serial.println("Wpisz tryb konfiguracji"); Serial.println(WiFi.softAPIP()); //imprime o IP do AP Serial.println(myWiFiManager->getConfigPortalSSID()); //imprime o SSID criado da rede

}

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

void saveConfigCallback () { // Serial.println("Należy zapisać konfigurację"); Serial.println("Konfiguracja salva"); Serial.println(WiFi.softAPIP()); //imprime o IP do AP }

Zalecana: