Come programmare un server Web ESP32 utilizzando l'IDE di Arduino

Di Jeremy Cook

Interfacciarsi con un microcontroller su una rete Wi-Fi per un server Web Arduino era una volta considerata una questione alquanto insolita. Oggi, è possibile avere un server Web ESP32 locale attivo e funzionante in pochi minuti utilizzando una scheda di sviluppo ESP32 e l'IDE di Arduino.

Per questa demo, sarà necessario un Adafruit ESP32 Feather e l'accesso a una rete Wi-Fi a 2,4 GHz. Programmeremo l'ESP32 utilizzando un IDE di Arduino 2.0. Vengono utilizzati anche un magnete, un LED e un resistore, ma sono opzionali.

Preparazione del software del server Web ESP32

Avviare la configurazione del server Web ESP32 installando l'IDE di Arduino 2.0. Per consentire il funzionamento con i dispositivi ESP32, aprire la finestra di dialogo IDE di Arduino > Preferenze e aggiungere questa riga al campo degli URL per la gestione di schede aggiuntive:

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

Passare a Strumenti > Scheda > Gestione schede e cercare "esp32". Installare la definizione della scheda "esp32 by Espressif Systems" visualizzata. Ciò consentirà di programmare le schede ESP32, oltre a ottenere l'accesso a una serie di esempi.

Controllo del server LED

0423-Screenshot-of-dropdown-menu-ESP32-Feather-dev-board-body-1

Collegare la scheda di sviluppo ESP32 Feather al computer tramite USB e selezionare la porta appropriata dal menu a discesa a destra dell'icona di debug. Dopo aver effettuato la selezione, verrà visualizzato un elenco di schede. In questo caso, digitare "Adafruit esp32" e selezionare l'opzione Adafruit ESP32 Feather visualizzata.

Passare a File > Esempi > Wi-Fi e caricare SimpleWiFiServer. Modificare le righe di codice 30 e 31 per includere l'SSID e la password. Assicurarsi di accedere a una rete a 2,4 GHz se esistono più opzioni. Premere il pulsante Carica. Il programma verrà compilato e inviato alla scheda.

Una volta programmato, ESP32 Feather tenterà di connettersi alla rete. Aprire il monitor seriale nell'IDE di Arduino (icona nell'angolo in alto a destra) e impostarlo su 115.200 baud. Verrà visualizzato un indirizzo IP per l'accesso, ma potrebbe essere necessario reimpostare il display o scorrere verso il basso per vederlo. Accedere all'indirizzo IP elencato nel browser. Verranno visualizzate due righe di testo e collegamenti che consentiranno di attivare o disattivare il pin 5.

È possibile collegare un LED/resistore al pin 5 (come mostrato nella prima immagine) per far funzionare il codice così com'è. In alternativa, è possibile impostarlo sul LED integrato per aggirare questa piccola complicazione hardware. Per fare ciò, sostituire LED_BUILTIN per [pin] 5 nelle righe 38, 103 e 106. Il LED si accenderà senza alcun hardware esterno. Facoltativamente, è anche possibile cambiare "LED sul pin 5" in "LED integrato" nelle righe 87 e 88 per far sì che l'interfaccia utente sia corretta. Ricaricare per rendere effettive le modifiche.

Sensori effetto hall per il server Web ESP32

Il controllo remoto è un'ottima soluzione, ma che cosa potrebbe rilevare il server Web ESP32 in una posizione remota? Qui utilizzeremo il sensore effetto hall integrato nel modulo ESP32-WROOM-32E per mostrare i campi magnetici nelle vicinanze.

Aggiungere le seguenti righe di codice immediatamente sotto la funzione client.print alla riga 88:

int val = 0;

val = hallRead();

client.print("magnet status ");

client.print(val);

Questo codice stabilisce una variabile "val" in cui memorizzare le letture dell'effetto hall. Il sensore effetto hall integrato viene letto e i risultati vengono visualizzati sul browser Web del client. Questo è un valore analogico che dipende dalla direzione del campo, come spiegato in questo articolo sul confronto tra i sensori effetto hall e gli interruttori Reed.

0423-Magnet-on-top-of-the-ESP32-WROOM-32E-module-body-2

Immagine di Jeremy Cook

Per testare, caricare il codice sull'ESP32 Feather e indirizzare il browser all'indirizzo IP corretto. Verrà visualizzata una terza riga che mostra le letture del campo magnetico.

Posizionare un magnete sopra il modulo ESP32-WROOM-32E, quindi aggiornare la visualizzazione del browser. Questo valore viene aggiornato in base al campo magnetico esistente. È comunque possibile spegnere e riaccendere le luci seguendo i collegamenti nella pagina o semplicemente navigando ai rispettivi indirizzi, ma in questo modo verrà aggiornato anche il valore del campo magnetico.

0423-Screenshot-of-click-here-to-turn-on-and-off-the-builtin-LED-body-3 

Maggiori possibilità con l'ESP32

In questo articolo si spiega come configurare un server Web molto semplice con Arduino utilizzando una scheda di sviluppo ESP32 e una rete Wi-Fi. Le funzionalità Wi-Fi dell'ESP32, se impostate correttamente, consentono l'accesso al cloud e a Internet in generale. Questo modulo può essere utilizzato in un'ampia gamma di applicazioni di consumo, fai-da-te e di prototipazione.

Prima di creare il server Web ESP32 nell'IDE di Arduino, dare un'occhiata sul sito Arrow.com all'ampia selezione di prodotti dei produttori leader del settore, come quelli mostrati di seguito, per iniziare.

Visualizza prodotti correlati

3405

Adafruit Industries Kit e schede di sviluppo RF/Wireless Visualizza

ArrowPerks-Loyalty-Program-Signup-banner-IT


Ultime notizie

Sorry, your filter selection returned no results.

Non perderti le ultime novità sull'elettronica

Abbiamo aggiornato la nostra politica sulla privacy. Si prega di prendere un momento per rivedere questi cambiamenti. Cliccando su Accetto, l'utente accetta la Politica sulla privacy e Condizioni di utilizzo di Arrow Electronics.

Il nostro sito web mette i cookies sul vostro dispositivo per migliorare la vostra esperienza e il nostro sito. Leggete altre informazioni sui cookies che usiamo e su come disabilitarli qui. I cookies e le tecnologie di tracking possono essere usati per scopi commerciali.

Con un click su “Accept”, voi consentite l'inserimento dei cookies sul vostro dispositivo e l'uso da parte nostra di tecnologie di tracking. Per avere altre informazioni e istruzioni su come disabilitare i cookies e le tecnologie di tracking, clickate su “Read More” qui sotto. Mentre l'accettazione dei cookies e delle tecnologie di tracking è volontaria, una loro disabilitazione potrebbe determinare un funzionamento non corretto del sito web, ed alcuni messaggi di allarme potrebbero essere per voi meno importanti.

Noi rispettiamo la vostra privacy. Leggete qui la nostra politica relativa alla privacy