Innehållsförteckning:

ESP8266 och ESP32 Med WiFiManager: 10 steg
ESP8266 och ESP32 Med WiFiManager: 10 steg

Video: ESP8266 och ESP32 Med WiFiManager: 10 steg

Video: ESP8266 och ESP32 Med WiFiManager: 10 steg
Video: Using HT16K33 4 digit seven segment display with ESP8266 NodeMCU and D1 Mini 2024, November
Anonim
Image
Image
PINOUT
PINOUT

Känner du till WiFiManager? Det är ett bibliotek som fungerar som en trådlös anslutningshanterare, och med det har vi ett enklare sätt att konfigurera både en åtkomstpunkt och en station. Jag har fått flera förslag för att diskutera detta ämne; så idag kommer jag att presentera dig för detta bibliotek och dess funktioner. Jag kommer också att demonstrera hur den används med både ESP32 och ESP8266.

Steg 1: PINOUT

PINOUT
PINOUT

Här visar jag PINOUT för de två enheterna som vi kommer att använda:

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

Steg 2: WiFiManager

WiFiManager är egentligen inget annat än ett bibliotek skrivet ovanpå WiFi.h för enkel hantering av trådlösa anslutningar. Kom ihåg att med det har vi en större möjlighet att konfigurera både en åtkomstpunkt och en station. För stationsläge konfigurerar vi via en portal i webbläsaren.

Några funktioner:

• Det beror på automatisk anslutning

• Initiering av icke-automatisk konfigurationsportal

• Fungerar selektivt i dubbelläge

Steg 3: Hur det fungerar

Hur det fungerar
Hur det fungerar
Hur det fungerar
Hur det fungerar

ESP kommer att initiera en WiFi-konfigurationsportal när den är ansluten och kommer att spara konfigurationsdata i icke-flyktigt minne. Därefter startar konfigurationsportalen bara igen om du trycker på en knapp i ESP -modulen.

Här kan du kontrollera konfigurationsflödet och följa detta steg för steg:

1. Använd en WiFi-aktiverad enhet med en webbläsare, anslut till den nyskapade åtkomstpunkten och ange adressen 192.168.4.1.

2. På skärmen har du två alternativ för att ansluta till ett befintligt nätverk:

• Konfigurera WiFi

• Konfigurera WiFi (ingen skanning)

3. Välj ett av nätverken och ange lösenordet (om det behövs). Spara sedan och vänta tills ESP startar om.

4. I slutet av starten försöker ESP ansluta till det sparade nätverket. Om du inte kan göra detta aktiverar du en åtkomstpunkt.

Steg 4: Bibliotek

Bibliotek
Bibliotek

Lägg till biblioteket "WifiManager-ESP32".

Gå till https://github.com/zhouhan0126/WIFIMANAGER-ESP32 och ladda ner biblioteket.

Packa upp filen och klistra in den i biblioteksmappen i Arduino IDE.

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

Lägg till "DNSServer-ESP32" -bibliotek.

Gå till https://github.com/zhouhan0126/DNSServer---esp32 länken och ladda ner biblioteket.

Packa upp filen och klistra in den i biblioteksmappen i Arduino IDE.

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

Lägg till biblioteket "WebServer-ESP32".

Gå till länken https://github.com/zhouhan0126/WebServer-esp32 och ladda ner biblioteket.

Packa upp filen och klistra in den i biblioteksmappen i Arduino IDE.

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

Notera:

WiFiManager-ESP32-biblioteket har redan de inställningar som fungerar med ESP8266, så vi använder bara detta istället för två WiFiManager-libs (en för varje typ av chip).

Som vi kommer att se senare är ESP8266WiFi och ESP8266WebServer bibliotek som vi inte behöver ladda ner, eftersom de redan kommer när vi installerar ESP8266 i Arduino IDE.

Steg 5: Funktioner

Funktioner
Funktioner
Funktioner
Funktioner
Funktioner
Funktioner

Här är några funktioner som WiFiManager erbjuder oss.

1. autoConnect

AutoConnect -funktionen är ansvarig för att skapa en åtkomstpunkt. Vi kan använda den på tre sätt.

• autoConnect ("nätverksnamn", "lösenord"); - skapar ett nätverk med det definierade namnet och lösenordet.

• autoConnect ("nätverksnamn"); - skapar ett öppet nätverk med det definierade namnet.

• autoConnect (); - skapar ett öppet och automatiskt namngivet nätverk med namnet 'ESP' + chipID.

2. startConfigPortal

Funktionen startConfigPortal ansvarar för att skapa en åtkomstpunkt utan att försöka ansluta till ett tidigare sparat nätverk.

• startConfigPortal ("nätverksnamn", "lösenord"); - skapar ett nätverk med det definierade namnet och lösenordet.

• startConfigPortal (); - skapar ett öppet och automatiskt namngivet nätverk med namnet 'ESP' + chipID.

3. getConfigPortalSSID

Returnerar portalens SSID (åtkomstpunkt)

4. getSSID

Detta returnerar SSID för nätverket som det är anslutet till.

5. getPassword

Detta returnerar lösenordet för nätverket som det är anslutet till.

6. setDebugOutput

SetDebugOutput -funktionen ansvarar för utskrift av felsökningsmeddelanden på den seriella bildskärmen. Dessa meddelanden är redan definierade i biblioteket. När du går igenom funktionerna kommer data att skrivas ut.

Som standard är denna funktion inställd på TRUE. Om du vill inaktivera meddelandena ställer du bara in funktionen på FALSE.

7. setMinimumSignalQuality

Funktionen setMinimumSignalQuality ansvarar för filtrering av nätverk baserat på signalkvalitet. Som standard visar WiFiManager inte inloggningsnätverk under 8%.

8. setRemoveDuplicateAPs

Funktionen setRemoveDuplicateAPs ansvarar för att ta bort nätverksduplikat.

Som standard är den inställd på TRUE.

9. setAPStaticIPConfig

SetAPStaticIPConfig -funktionen är ansvarig för att ställa in de statiska adressinställningarna i åtkomstpunktsläge.

(IP, GATEWAY, SUBNET)

10. setSTAStaticIPConfig

Funktionen setSTAStaticIPConfig är ansvarig för att ställa in de statiska adressinställningarna i stationläge.

(IP, GATEWAY, SUBNET)

Du måste lägga till kommandot innan autoConnect !!!

11. setAPCallback

SetAPCallback -funktionen ansvarar för att informera dig om att AP -läge har startat.

Parametern är en funktion som måste skapas för att indikera den som ett återuppringning;

12. setSaveConfigCallback

Funktionen setSaveConfigCallback ansvarar för att informera dig om att en ny konfiguration har sparats och att anslutningen har slutförts.

Parametern är en funktion att skapa och anger detta som en allback.

Du måste lägga till kommandot innan autoConnect !!!

Steg 6: Montering

hopsättning
hopsättning

Exempel

I vårt exempel kommer vi att skapa en åtkomstpunkt med ESP (koden fungerar både ESP8266 och ESP32). Efter skapandet av AP kommer vi åt portalen via IP 192.168.4.1 (som är standard för åtkomst till den). Så låt oss få tillgängliga nätverk, välj ett och spara. Därifrån startar ESP om och försöker ansluta till det, och sedan fungerar det som en station och inte längre som en åtkomstpunkt.

När du har gått in i stationsläge kan du bara göra ESP -återgång till åtkomstpunktsläge med knappen.

Steg 7: Kod

Bibliotek

Låt oss först definiera de bibliotek som vi kommer att använda.

Observera att vi har kommandona #if definierade, #else och #endif. De är villkorade för att inkludera nödvändiga bibliotek som avser chipet. Denna del är oerhört viktig för att köra samma kod på både ESP8266 och ESP32.

#if definierat (ESP8266)

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

#if definierat (ESP8266)

#include // Lokal WebServer som används för att betjäna konfigurationsportalen

#annan

#include // Lokal DNS-server som används för att omdirigera alla förfrågningar till konfigurationsportalen (https://github.com/zhouhan0126/DNSServer---esp32)

#endif

#include // Lokal WebServer som används för att betjäna konfigurationsportalen (https://github.com/zhouhan0126/DNSServer---esp32) #include // WiFi Configuration Magic (https://github.com/zhouhan0126/DNSServer-- -esp32) >> https://github.com/zhouhan0126/DNSServer---esp32 (ORIGINAL)

Steg 8: Inställning

I installationen konfigurerar vi vår WiFiManager på det enklaste sättet. Låt oss bara definiera återuppringningarna och skapa nätverket.

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 entra em modo de configuração AP wifiManager.setAPCallback (configModeCallback); // callback para quando se conecta em uma rede, ou seja, quando passa a trabalhar em modo estação wifiManager.setSaveConfigCallback (saveConfigCallback); // cria uma rede de nome ESP_AP com senha 12345678 wifiManager.autoConnect ("ESP_AP", "12345678"); }

Steg 9: Slinga

I slingan kommer vi att läsa knappnålen för att se om den har tryckts in, och sedan kommer vi att ringa metoden för att återaktivera AP-läget.

void loop () {

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"); fördröjning (2000); ESP.start (); fördröjning (1000); } Serial.println ("Conectou ESP_AP !!!"); }

När du trycker på knappen kommer ESP att lämna stationsläget och öppna din åtkomstpunkt och portal.

Kom ihåg att vi inte använder kommandot resetSettings (). Inställningarna sparas fortfarande nästa gång ESP startar.

Steg 10: Återuppringning

Återuppringningsfunktionerna, som är associerade med händelser, tjänar till att du har det exakta ögonblicket för en operation, i vårt fall att gå in i AP -läge och Station -läge. Vi kan sedan implementera en önskad rutin, till exempel att hämta SSID från det anslutna nätverket, till exempel.

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

void configModeCallback (WiFiManager *myWiFiManager) {// Serial.println ("Inmatat konfigurationsläge"); Serial.println ("Entrou no modo de configuração"); Serial.println (WiFi.softAPIP ()); // imprime o IP do AP Serial.println (myWiFiManager-> getConfigPortalSSID ()); // imprime o SSID criado da rede

}

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

void saveConfigCallback () {// Serial.println ("Ska spara konfiguration"); Serial.println ("Configuração salva"); Serial.println (WiFi.softAPIP ()); // imprime o IP do AP}

Rekommenderad: