Spisu treści:
- Krok 1: WYPINANIE
- Krok 2: Menedżer WiFi
- Krok 3: Jak to działa
- Krok 4: Biblioteki
- Krok 5: Funkcje
- Krok 6: Montaż
- Krok 7: Kod
- Krok 8: Konfiguracja
- Krok 9: Pętla
- Krok 10: Oddzwonienia
Wideo: ESP8266 i ESP32 z WiFiManager: 10 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:32
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
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
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
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
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ż
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:
Profesjonalna stacja pogodowa wykorzystująca ESP8266 i ESP32 DIY: 9 kroków (ze zdjęciami)
Profesjonalna stacja pogodowa przy użyciu ESP8266 i ESP32 DIY: LineaMeteoStazione to kompletna stacja pogodowa, która może być połączona z profesjonalnymi czujnikami firmy Sensirion, a także z niektórymi komponentami Davis Instrument (deszczomierz, anemometr) Projekt jest przeznaczony do samodzielnej stacji pogodowej, ale wymaga tylko
Komunikacja bezprzewodowa LoRa 3Km do 8Km z tanim urządzeniem E32 (sx1278/sx1276) dla Arduino, Esp8266 lub Esp32: 15 kroków
LoRa 3Km do 8Km Bezprzewodowa komunikacja z niskokosztowym urządzeniem E32 (sx1278/sx1276) dla Arduino, Esp8266 lub Esp32: Tworzę bibliotekę do zarządzania EBYTE E32 opartą na urządzeniu LoRa serii Semtech, bardzo wydajne, proste i tanie urządzenie. Wersja 3Km tutaj, wersja 8Km tutaj Mogą pracować na dystansie od 3000m do 8000m i mają wiele funkcji i
Samouczek Bluetooth ESP32 - Jak korzystać z wbudowanego Bluetooth ESP32: 5 kroków
Samouczek Bluetooth ESP32 | Jak korzystać z wbudowanego Bluetooth ESP32: Cześć, Ponieważ płyta ESP32 jest wyposażona w WiFi i amp; Bluetooth oba, ale w większości naszych projektów zwykle używamy tylko Wi-Fi, nie używamy Bluetooth. Więc w tej instrukcji pokażę, jak łatwo jest korzystać z Bluetooth ESP32 i amp; Dla Twoich podstawowych projektów
Pierwsze kroki z ESP32 CAM - Przesyłanie strumieniowe wideo za pomocą ESP CAM przez Wifi - Projekt kamery bezpieczeństwa ESP32: 8 kroków
Pierwsze kroki z ESP32 CAM | Przesyłanie strumieniowe wideo za pomocą ESP CAM przez Wifi | Projekt kamery bezpieczeństwa ESP32: Dzisiaj dowiemy się, jak korzystać z tej nowej płyty ESP32 CAM i jak możemy ją zakodować i użyć jako kamery bezpieczeństwa i uzyskać strumieniowe wideo przez Wi-Fi
Pierwsze kroki z ESP32 - Instalowanie płytek ESP32 w Arduino IDE - Kod migania ESP32: 3 kroki
Pierwsze kroki z ESP32 | Instalowanie płytek ESP32 w Arduino IDE | ESP32 Blink Code: W tej instrukcji zobaczymy, jak rozpocząć pracę z esp32 i jak zainstalować płyty esp32 w Arduino IDE, a także zaprogramujemy esp 32 do uruchamiania kodu błyskowego za pomocą arduino ide