Taula de continguts:
- Pas 1: PINOUT
- Pas 2: WiFiManager
- Pas 3: Com funciona
- Pas 4: biblioteques
- Pas 5: Funcions
- Pas 6: Muntatge
- Pas 7: Codi
- Pas 8: Configuració
- Pas 9: bucle
- Pas 10: devolucions de trucada
Vídeo: ESP8266 i ESP32 amb WiFiManager: 10 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:15
Coneixeu WiFiManager? És una biblioteca que serveix com a gestor de connexions sense fils i, amb ella, tenim una manera més senzilla de configurar tant un punt d’accés com una estació. He rebut diversos suggeriments per debatre sobre aquest tema; així que avui us presentaré aquesta biblioteca i les seves funcions. També faré una demostració del seu ús tant amb ESP32 com ESP8266.
Pas 1: PINOUT
Aquí mostro el PINOUT dels dos dispositius que farem servir:
- NodeMCU ESP-12E
- NodeMCU ESP-WROOM-32
Pas 2: WiFiManager
El WiFiManager no és res més que una biblioteca escrita a la part superior de WiFi.h per facilitar la gestió de les connexions sense fils. Recordeu que, amb ell, tenim una facilitat més gran per configurar tant un punt d’accés com una estació. Per al mode Estació, configurem mitjançant un portal al navegador.
Algunes característiques:
• Depèn de la connectivitat automàtica
• Inicialització del portal de configuració no automàtic
• Funciona de manera selectiva en mode dual
Pas 3: Com funciona
L'ESP iniciarà un portal de configuració de WiFi quan estigui connectat i desarà les dades de configuració en memòria no volàtil. Posteriorment, el portal de configuració només començarà de nou si es prem un botó al mòdul ESP.
Aquí podeu comprovar el flux de configuració i seguir aquest pas a pas:
1. Utilitzant qualsevol dispositiu habilitat per a WiFi amb un navegador, connecteu-vos al punt d'accés creat recentment i introduïu l'adreça 192.168.4.1.
2. A la pantalla tindreu dues opcions per connectar-vos a una xarxa existent:
• Configurar WiFi
• Configurar WiFi (sense escaneig)
3. Trieu una de les xarxes i introduïu la contrasenya (si cal). A continuació, deseu i espereu que es reiniciï l'ESP.
4. Al final de l'arrencada, ESP intenta connectar-se a la xarxa desada. Si no ho podeu fer, habilitareu un punt d’accés.
Pas 4: biblioteques
Afegiu la biblioteca "WifiManager-ESP32".
Aneu a https://github.com/zhouhan0126/WIFIMANAGER-ESP32 i descarregueu la biblioteca.
Descomprimiu el fitxer i enganxeu-lo a la carpeta de biblioteques de l'IDE Arduino.
C: / Program Files (x86) / Arduino / libraries
Afegiu la biblioteca "DNSServer-ESP32".
Aneu a l’enllaç https://github.com/zhouhan0126/DNSServer---esp32 i descarregueu la biblioteca.
Descomprimiu el fitxer i enganxeu-lo a la carpeta de biblioteques de l'IDE Arduino.
C: / Program Files (x86) / Arduino / libraries
Afegiu la biblioteca "WebServer-ESP32".
Aneu a l’enllaç https://github.com/zhouhan0126/WebServer-esp32 i descarregueu la biblioteca.
Descomprimiu el fitxer i enganxeu-lo a la carpeta de biblioteques de l'IDE Arduino.
C: / Program Files (x86) / Arduino / libraries
Nota:
La biblioteca WiFiManager-ESP32 ja té la configuració que funciona amb ESP8266, de manera que només l’utilitzarem en lloc de dues llibres WiFiManager (una per a cada tipus de xip).
Com veurem més endavant, ESP8266WiFi i ESP8266WebServer són biblioteques que no necessitem descarregar, perquè ja vénen quan instal·lem ESP8266 a l’IDE Arduino.
Pas 5: Funcions
Aquí hi ha algunes funcions que ens ofereix el WiFiManager.
1. autoConnect
La funció d’autoconnexió s’encarrega de crear un punt d’accés. El podem utilitzar de tres maneres.
• autoConnect ("nom de xarxa", "contrasenya"); - crea una xarxa amb el nom i la contrasenya definits.
• autoConnect ("nom de xarxa"); - crea una xarxa oberta amb el nom definit.
• autoConnect (); - crea una xarxa oberta i anomenada automàticament amb el nom 'ESP' + chipID.
2. startConfigPortal
La funció startConfigPortal s’encarrega de crear un punt d’accés sense intentar connectar-se a una xarxa desada prèviament.
• startConfigPortal ("nom de xarxa", "contrasenya"); - crea una xarxa amb el nom i la contrasenya definits.
• startConfigPortal (); - crea una xarxa oberta i anomenada automàticament amb el nom 'ESP' + chipID.
3. getConfigPortalSSID
Retorna l'SSID del portal (punt d'accés)
4. getSSID
Retorna el SSID de la xarxa a la qual està connectat.
5. getPassword
Retorna la contrasenya de la xarxa a la qual està connectat.
6. setDebugOutput
La funció setDebugOutput s’encarrega d’imprimir missatges de depuració al monitor sèrie. Aquests missatges ja estan definits a la biblioteca. A mesura que aneu passant per les funcions, les dades s’imprimiran.
Per defecte, aquesta funció s'estableix en TRUE. Si voleu desactivar els missatges, simplement configureu la funció com a FALS.
7. setMinimumSignalQuality
La funció setMinimumSignalQuality s’encarrega de filtrar les xarxes en funció de la qualitat del senyal. Per defecte, WiFiManager no mostrarà xarxes d'inici de sessió inferiors al 8%.
8. setRemoveDuplicateAPs
La funció setRemoveDuplicateAPs s’encarrega d’eliminar els duplicats de xarxa.
Per defecte, s'estableix en TRUE.
9. setAPStaticIPConfig
La funció setAPStaticIPConfig s’encarrega de configurar la configuració de l’adreça estàtica quan es troba en mode de punt d’accés.
(IP, GATEWAY, SUBNET)
10. setSTAStaticIPConfig
La funció setSTAStaticIPConfig s’encarrega de configurar la configuració de l’adreça estàtica quan es troba en mode estació.
(IP, GATEWAY, SUBNET)
Heu d'afegir l'ordre abans de connectar-vos automàticament !!!
11. setAPCallback
La funció setAPCallback s’encarrega d’informar-vos que s’ha iniciat el mode AP.
El paràmetre és una funció que s'ha de crear per indicar-lo com a devolució de trucada;
12. setSaveConfigCallback
La funció setSaveConfigCallback s’encarrega d’informar-vos que s’ha desat una nova configuració i que la connexió s’ha completat amb èxit.
El paràmetre és una funció que cal crear i ho indica com un allback.
Heu d'afegir l'ordre abans de connectar-vos automàticament !!!
Pas 6: Muntatge
Exemple
En el nostre exemple, crearem un punt d’accés amb ESP (el codi servirà tant ESP8266 com ESP32). Després de la creació de l’AP, accedirem al portal mitjançant l’IP 192.168.4.1 (que és el valor per defecte per accedir-hi). Així que anem a obtenir les xarxes disponibles, en seleccionem una i desem. A partir d’aquí, l’ESP es reiniciarà i intentarà connectar-s’hi, i després funcionarà com a estació i ja no com a punt d’accés.
Després d’entrar al mode d’estació, només podeu fer que l’ESP torni al mode de punt d’accés mitjançant el botó.
Pas 7: Codi
Biblioteques
Primer definim les biblioteques que farem servir.
Tingueu en compte que tenim ordres #if definit, #else i #endif. Estan condicionats per incloure les biblioteques necessàries relatives al xip. Aquesta part és extremadament important per executar el mateix codi tant a ESP8266 com a ESP32.
#if definit (ESP8266)
#include // ESP8266 Core WiFi Library #else #include // ESP32 Core WiFi Library #endif
#if definit (ESP8266)
#include // Local WebServer utilitzat per publicar el portal de configuració
#else
#include // Servidor DNS local utilitzat per redirigir totes les sol·licituds al portal de configuració (https://github.com/zhouhan0126/DNSServer---esp32)
#endif
#include // Local WebServer utilitzat per publicar el portal de configuració (https://github.com/zhouhan0126/DNSServer---esp32) #include // WiFi Configuration Magic (https://github.com/zhouhan0126/DNSServer-- -esp32) >> https://github.com/zhouhan0126/DNSServer---esp32 (ORIGINAL)
Pas 8: Configuració
A la configuració, estem configurant el nostre WiFiManager de la manera més senzilla. Definim només les devolucions de trucades i creem la xarxa.
const int PIN_AP = 2;
configuració nul·la () {Serial.begin (9600); pinMode (PIN_AP, INPUT); // declaració d'objecte wifiManager WiFiManager wifiManager;
// usando esse comando, as configurações são apagadas da memória // caso tiver salvo alguma rede para connectar automaticamente, ela é apagada. // wifiManager.resetSettings (); // callback per quan entra en mode de configuració AP wifiManager.setAPCallback (configModeCallback); // callback para quan se connecta em uma rede, ou seja, quan passa a treballar em modo estação wifiManager.setSaveConfigCallback (saveConfigCallback); // cria uma rede de nome ESP_AP com senha 12345678 wifiManager.autoConnect ("ESP_AP", "12345678"); }
Pas 9: bucle
Al bucle, llegirem el pin del botó per veure si s’ha premut i, a continuació, trucarem al mètode per tornar a activar el mode AP.
bucle buit () {
WiFiManager wifiManager; // se o botão foi pressionado if (digitalRead (PIN_AP) == HIGH) {Serial.println ("resetar"); // tenta obrir un portal if (! wifiManager.startConfigPortal ("ESP_AP", "12345678")) {Serial.println ("Falha ao connectar"); endarreriment (2000); ESP.restart (); retard (1000); } Serial.println ("Conectou ESP_AP !!!"); }
Quan premeu el botó, ESP sortirà del mode Estació i obrirà el vostre punt d'accés i el portal.
Recordeu que no fem servir l'ordre resetSettings (). La configuració encara es desa per a la propera vegada que arrenca l'ESP.
Pas 10: devolucions de trucada
Les funcions de devolució de trucada, associades a esdeveniments, us serveixen per tenir el moment exacte d’una operació, en el nostre cas, entrant en mode AP i en mode Estació. A continuació, podem implementar la rutina desitjada, com ara recuperar l’SSID de la xarxa connectada, per exemple.
// callback que indica que o ESP entrou no modo AP
void configModeCallback (WiFiManager * myWiFiManager) {// Serial.println ("Mode de configuració introduït"); Serial.println ("Entrou no modo de configuração"); Serial.println (WiFi.softAPIP ()); // imprime o IP IP Serial.println (myWiFiManager-> getConfigPortalSSID ()); // imprime o SSID criado da rede
}
// callback que indica que salvamos uma nova rede para connectar (modo estação)
void saveConfigCallback () {// Serial.println ("Hauria de desar la configuració"); Serial.println ("Configuració salva"); Serial.println (WiFi.softAPIP ()); // imprime o IP do AP}
Recomanat:
Estació meteorològica professional amb bricolatge ESP8266 i ESP32: 9 passos (amb imatges)
Estació meteorològica professional que utilitza bricolatge ESP8266 i ESP32: LineaMeteoStazione és una estació meteorològica completa que es pot connectar amb sensors professionals de Sensirion, així com amb algun component de l’instrument Davis (pluviòmetre, anemòmetre)
Com enviar correus electrònics amb fitxers adjunts amb Arduino, Esp32 i Esp8266: 6 passos
Com enviar correus electrònics amb fitxers adjunts amb Arduino, Esp32 i Esp8266: aquí m'agradaria explicar la versió 2 de la meva biblioteca EMailSender, una gran evolució respecte a la versió 1, amb suport per a Arduino amb blindatge Ethernet w5100, w5200 i w5500 i enc28J60 dispositius de clonació i compatibilitat amb esp32 i esp8266.Ara podeu publicar
Captura i envia imatges amb ESP32-Cam mitjançant el processador Wifi ESP8266 WeMos D1 R1 amb Uno: 7 passos
Captureu i envieu imatges amb ESP32-Cam mitjançant el processador Wifi ESP8266 WeMos D1 R1 amb Uno: Captureu la imatge mitjançant el processador ESP32-Cam (OV2640) mitjançant el processador Wi-Fi ESP8266 WeMos D1 R1 amb Uno i envieu-la al correu electrònic, deseu-la a Google Drive i envieu-la a Whatsapp mitjançant Twilio.Requisits: ESP8266 WeMos D1 R1 WiFI Processor with Uno (https: // protosupplies
PWM amb ESP32 - LED d’atenuació amb PWM a ESP 32 amb Arduino IDE: 6 passos
PWM amb ESP32 | LED d’atenuació amb PWM a ESP 32 amb Arduino IDE: en aquest instructable veurem com generar senyals PWM amb ESP32 mitjançant Arduino IDE & PWM s'utilitza bàsicament per generar sortida analògica des de qualsevol MCU i aquesta sortida analògica pot ser de 0V a 3,3V (en cas d'esp32) & de
Escala intel·ligent de bricolatge amb despertador (amb Wi-Fi, ESP8266, Arduino IDE i Adafruit.io): 10 passos (amb imatges)
Bàscula intel·ligent de bricolatge amb despertador (amb Wi-Fi, ESP8266, Arduino IDE i Adafruit.io): en el meu projecte anterior, vaig desenvolupar una bàscula de bany intel·ligent amb Wi-Fi. Pot mesurar el pes de l'usuari, mostrar-lo localment i enviar-lo al núvol. Podeu obtenir més informació al respecte a l’enllaç següent: https: //www.instructables.com/id/Wi-Fi-Smart-Scale-wi