Sommario:
- Passaggio 1: PINOUT
- Passaggio 2: WiFiManager
- Passaggio 3: come funziona
- Passaggio 4: biblioteche
- Passaggio 5: funzioni
- Passaggio 6: assemblaggio
- Passaggio 7: codice
- Passaggio 8: configurazione
- Passaggio 9: ciclo
- Passaggio 10: Richiamate
Video: ESP8266 ed ESP32 con WiFiManager: 10 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
Conosci WiFiManager? È una libreria che funge da gestore di connessione wireless e, con essa, abbiamo un modo più semplice per configurare sia un punto di accesso che una stazione. Ho ricevuto diversi suggerimenti per discutere questo argomento; quindi oggi vi presenterò questa libreria e le sue funzioni. Farò anche una dimostrazione del suo utilizzo sia con ESP32 che con ESP8266.
Passaggio 1: PINOUT
Qui mostro il PINOUT dei due dispositivi che utilizzeremo:
- NodeMCU ESP-12E
- NodeMCU ESP-WROOM-32
Passaggio 2: WiFiManager
Il WiFiManager non è altro che una libreria scritta sopra WiFi.h per una facile gestione delle connessioni wireless. Ricorda che con esso, abbiamo una maggiore facilità per configurare sia un punto di accesso che una stazione. Per la modalità Station, configuriamo tramite un portale nel browser.
Alcune caratteristiche:
• Dipende dalla connettività automatica
• Inizializzazione del portale di configurazione non automatica
• Funziona in modo selettivo in modalità doppia
Passaggio 3: come funziona
L'ESP avvierà un portale di configurazione WiFi quando connesso e salverà i dati di configurazione nella memoria non volatile. Successivamente, il portale di configurazione si riavvierà solo se viene premuto un pulsante nel modulo ESP.
Qui puoi controllare il flusso di configurazione e seguire questo passo dopo passo:
1. Utilizzando un qualsiasi dispositivo abilitato WiFi con un browser, connettersi al punto di accesso appena creato e inserire l'indirizzo 192.168.4.1.
2. Sullo schermo avrai due opzioni per connetterti a una rete esistente:
• Configura WiFi
• Configura WiFi (nessuna scansione)
3. Scegli una delle reti e inserisci la password (se necessaria). Quindi salvare e attendere il riavvio dell'ESP.
4. Al termine dell'avvio, ESP tenta di connettersi alla rete salvata. Se non puoi farlo, abiliterai un punto di accesso.
Passaggio 4: biblioteche
Aggiungi la libreria "WifiManager-ESP32".
Vai su https://github.com/zhouhan0126/WIFIMANAGER-ESP32 e scarica la libreria.
Decomprimi il file e incollalo nella cartella delle librerie dell'IDE di Arduino.
C: / Programmi (x86) / Arduino / librerie
Aggiungi la libreria "DNSServer-ESP32".
Vai al link https://github.com/zhouhan0126/DNSServer---esp32 e scarica la libreria.
Decomprimi il file e incollalo nella cartella delle librerie dell'IDE di Arduino.
C: / Programmi (x86) / Arduino / librerie
Aggiungi la libreria "WebServer-ESP32".
Vai al link https://github.com/zhouhan0126/WebServer-esp32 e scarica la libreria.
Decomprimi il file e incollalo nella cartella delle librerie dell'IDE di Arduino.
C: / Programmi (x86) / Arduino / librerie
Nota:
La libreria WiFiManager-ESP32 ha già le impostazioni che funzionano con ESP8266, quindi useremo solo questa, invece di due librerie WiFiManager (una per ogni tipo di chip).
Come vedremo in seguito, ESP8266WiFi e ESP8266WebServer sono librerie che non abbiamo bisogno di scaricare, perché arrivano già quando installiamo ESP8266 nell'IDE di Arduino.
Passaggio 5: funzioni
Ecco alcune funzioni che WiFiManager ci offre.
1. Connessione automatica
La funzione autoConnect è responsabile della creazione di un punto di accesso. Possiamo usarlo in tre modi.
• autoConnect ("nome rete", "password"); - crea una rete con il nome e la password definiti.
• autoConnect ("nome rete"); - crea una rete aperta con il nome definito.
• connessione automatica (); - crea una rete aperta e denominata automaticamente con il nome "ESP" + chipID.
2. startConfigPortal
La funzione startConfigPortal è responsabile della creazione di un punto di accesso senza tentare di connettersi a una rete precedentemente salvata.
• startConfigPortal ("nome rete", "password"); - crea una rete con il nome e la password definiti.
• startConfigPortal (); - crea una rete aperta e denominata automaticamente con il nome "ESP" + chipID.
3. getConfigPortalSSID
Restituisce l'SSID del portale (Access Point)
4. getSSID
Questo restituisce l'SSID della rete a cui è connesso.
5. ottieni la password
Restituisce la password della rete a cui è connesso.
6. setDebugOutput
La funzione setDebugOutput è responsabile della stampa dei messaggi di debug sul monitor seriale. Questi messaggi sono già definiti nella libreria. Durante l'esecuzione delle funzioni, i dati verranno stampati.
Per impostazione predefinita, questa funzione è impostata su TRUE. Se vuoi disabilitare i messaggi, imposta semplicemente la funzione su FALSE.
7. setMinimumSignalQuality
La funzione setMinimumSignalQuality è responsabile del filtraggio delle reti in base alla qualità del segnale. Per impostazione predefinita, WiFiManager non mostrerà le reti di accesso inferiori all'8%.
8. setRemoveDuplicateAPs
La funzione setRemoveDuplicateAPs è responsabile della rimozione dei duplicati di rete.
Per impostazione predefinita è impostato su TRUE.
9. setAPStaticIPConfig
La funzione setAPStaticIPConfig è responsabile dell'impostazione delle impostazioni dell'indirizzo statico in modalità punto di accesso.
(IP, GATEWAY, SUBNET)
10. setSTAStaticIPConfig
La funzione setSTAStaticIPConfig è responsabile dell'impostazione delle impostazioni dell'indirizzo statico in modalità stazione.
(IP, GATEWAY, SUBNET)
Devi aggiungere il comando prima di autoConnect!!!
11. setAPCallback
La funzione setAPCallback è responsabile di informarti che la modalità AP è stata avviata.
Il parametro è una funzione che deve essere creata per indicarlo come callback;
12. setSaveConfigCallback
La funzione setSaveConfigCallback è responsabile di informarti che una nuova configurazione è stata salvata e che la connessione è stata completata con successo.
Il parametro è una funzione da creare e lo indica come allback.
Devi aggiungere il comando prima di autoConnect !!!
Passaggio 6: assemblaggio
Esempio
Nel nostro esempio, creeremo un Access Point con ESP (il codice servirà sia ESP8266 che ESP32). Dopo la creazione dell'AP, accederemo al portale tramite IP 192.168.4.1 (che è l'impostazione predefinita per accedervi). Quindi prendiamo le reti disponibili, selezioniamone una e salviamo. Da lì, l'ESP si riavvierà e tenterà di connettersi ad esso, quindi funzionerà come stazione e non più come punto di accesso.
Dopo essere entrati in modalità stazione, è possibile far tornare l'ESP in modalità Access Point solo tramite il pulsante.
Passaggio 7: codice
Biblioteche
Per prima cosa definiamo le librerie che utilizzeremo.
Nota che abbiamo i comandi #if definito, #else e #endif. Sono condizionati a includere le librerie necessarie relative al chip. Questa parte è estremamente importante per eseguire lo stesso codice sia su ESP8266 che su ESP32.
#se definito(ESP8266)
#include //ESP8266 Core WiFi Library #else #include //ESP32 Core WiFi Library #endif
#se definito(ESP8266)
#include //Local WebServer utilizzato per servire il portale di configurazione
#altro
#include //Server DNS locale utilizzato per reindirizzare tutte le richieste al portale di configurazione (https://github.com/zhouhan0126/DNSServer---esp32)
#finisci se
#include //Local WebServer utilizzato per servire il portale di configurazione (https://github.com/zhouhan0126/DNSServer---esp32) #include // WiFi Configuration Magic (https://github.com/zhouhan0126/DNSServer-- -esp32) >> https://github.com/zhouhan0126/DNSServer---esp32 (ORIGINALE)
Passaggio 8: configurazione
Nella configurazione, stiamo configurando il nostro WiFiManager nel modo più semplice. Definiamo solo i callback e creiamo la rete.
const int PIN_AP = 2;
void setup() { Serial.begin(9600); pinMode(PIN_AP, INPUT); //dichiarazione dell'oggetto wifiManager WiFiManager wifiManager;
//utilizando esse comando, as configurações são apagadas da memória //caso tiver salva alguma rede para conectar automaticamente, ela é apagada. // wifiManager.resetSettings(); //callback per quando si entra in modalità di configurazione dell'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"); }
Passaggio 9: ciclo
Nel loop, leggeremo il pin del pulsante per vedere se è stato premuto, quindi chiameremo il metodo per riattivare la modalità AP.
ciclo vuoto() {
WiFiManager wifiManager; //se o botão per pressionado if (digitalRead(PIN_AP) == HIGH) { Serial.println("resetar"); //tenta abrir o portal if(!wifiManager.startConfigPortal("ESP_AP", "12345678")){ Serial.println("Falha ao conectar"); ritardo (2000); ESP.restart(); ritardo(1000); } Serial.println("Conectou ESP_AP!!!"); }
Quando si preme il pulsante, ESP uscirà dalla modalità Station e aprirà il punto di accesso e il portale.
Ricorda che non usiamo il comando resetSettings(). Le impostazioni vengono ancora salvate per il prossimo avvio dell'ESP.
Passaggio 10: Richiamate
Le funzioni di callback, che sono associate agli eventi, servono per avere il momento esatto di un'operazione, nel nostro caso, entrando in modalità AP e modalità Station. Possiamo quindi implementare alcune routine desiderate, come ad esempio il recupero dell'SSID dalla rete connessa.
//callback que indica que o ESP entrou no modo AP
void configModeCallback (WiFiManager *myWiFiManager) { // Serial.println("Inserita la modalità di configurazione"); Serial.println("Invio senza modalità di configurazione"); 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("Dovrebbe salvare la configurazione"); Serial.println("Configurazione salva"); Serial.println(WiFi.softAPIP()); //imprime o IP do AP }
Consigliato:
Stazione meteorologica professionale con ESP8266 e ESP32 fai da te: 9 passaggi (con immagini)
Stazione Meteo Professionale con ESP8266 ed ESP32 DIY: LineaMeteoStazione è una stazione meteo completa interfacciabile con i sensori professionali di Sensirion e con alcuni componenti dello strumento Davis (Pluviometro, Anemometro) Il progetto è pensato come stazione meteo fai da te ma richiede solo il
Come inviare e-mail con allegati con Arduino, Esp32 e Esp8266: 6 passaggi
Come inviare email con allegati con Arduino, Esp32 e Esp8266: Qui vorrei spiegare la versione 2 della mia libreria EMailSender, una grande evoluzione rispetto alla versione 1, con supporto per Arduino con shield ethernet w5100, w5200 e w5500 ed enc28J60 clonare dispositivi e supporto per esp32 ed esp8266. Ora puoi aggiungere
Cattura e invia immagini con ESP32-Cam utilizzando ESP8266 WeMos D1 R1 Wifi Processor con Uno: 7 passaggi
Cattura e invia immagini con ESP32-Cam utilizzando ESP8266 WeMos D1 R1 Wifi Processor con Uno: acquisisci l'immagine utilizzando ESP32-Cam (OV2640) utilizzando ESP8266 WeMos D1 R1 WiFI Processor con Uno e invialo a e-mail, salva su Google Drive e invialo a Whatsapp utilizzando Twilio. Requisiti: Processore WiFI ESP8266 WeMos D1 R1 con Uno (https://protosupplies
PWM con ESP32 - Dimming LED con PWM su ESP 32 con Arduino IDE: 6 passaggi
PWM con ESP32 | Dimming LED con PWM su ESP 32 con Arduino IDE: in questo tutorial vedremo come generare segnali PWM con ESP32 utilizzando Arduino IDE & Il PWM è fondamentalmente utilizzato per generare un'uscita analogica da qualsiasi MCU e quell'uscita analogica potrebbe essere qualsiasi cosa tra 0 V e 3,3 V (in caso di esp32) e amp; a partire dal
Iniziare con ESP32 - Installazione di schede ESP32 in Arduino IDE - Codice lampeggiante ESP32: 3 passaggi
Iniziare con ESP32 | Installazione di schede ESP32 in Arduino IDE | Codice Blink ESP32: in questo tutorial vedremo come iniziare a lavorare con esp32 e come installare le schede esp32 nell'IDE Arduino e programmeremo esp 32 per eseguire il codice lampeggiante usando arduino ide