
Di cosa si parla in questo corso? cosa imparerai?
Cos'è una ESP32?
Che materiali sono necessari per il corso?
- ESP32 WROOM32 DevKit (la trovi su Amazon per esempio) costo circa 10 euro.
- resistenze assortite (220R, 1K, 2K2, 4K7, 10K)
- pulsanti, LED e qualche sensore
ATTENZIONE:
per la breadboard vedi anche la lezione 28!
Per la programmazione delle schede ESP32 possiamo usare Arduino o Visual Studio con il plugin Platformio.
Arduino: https://www.arduino.cc/en/software
Io utilizzo la versione 1.8 dell'IDE perché quella nuova non è ancora molto affidabile e alcune cose non funzionano.
Per Visual Studio scarica la versione Visual Studio Code:
https://code.visualstudio.com/?wt.mc_id=vscom_downloads
e poi aggiungi il plugin Platformio.
Analizziamo le caratteristiche della scheda: RAM, Flash, WiFi e BT, velocità e doppia CPU!
Impariamo a utilizzare i pin GPIO come uscite.
Utilizziamo i pin GPIO come ingressi per pulsanti e segnali
La ESP32 può interpretare segnali analogici con analogRead().
Le ESP32 hanno un particolare sistema per utilizzare i segnali PWM... oppure potete usare semplicemente analogWrite()!
Informazioni sul PWM: https://youtube.com/watch?v=hBhq7sdNYI4&feature=shares
Utilizziamo le uscite analogiche della ESP32 per generare segnali di vario tipo.
Il meccanismo delle Interrupts permette alla scheda di gestire eventi improvvisi con tempestività.
Utilizziamo dieci pin della ESP32 in modalità touch.
Se realizziamo progetti alimentati a batteria è importante utilizzare la modalità sleep() per risparmiare energia.
La ESP32 ha due CPU che possono lavorare in parallelo. Vediamo un semplice esempio con due LED.
Utilizziamo il bus I2C, utilissimo per collegare più dispositivi e sensori alla scheda. Impariamo a individuare l'indirizzo dei dispositivi.
Creiamo uno sketch che si collega al WiFi. Useremo questo esempio come punto di partenza per i successivi esperimenti.
Una panoramica delle principali funzioni della libreria WiFi.h.
Realizziamo un semplice web server che risponde alle richieste di un browser via wifi.
creiamo una versione più sofisticata del web server presentando contenuti dinamici.
Trasformiamo ESP32 in un access point a cui possiamo collegarci.
Utilizzando la libreria SPIFFS è possibile sfruttare la flash memory interna come se fosse un disco per salvare file in modo permanente.
Impariamo a leggere e scrivere file sulla memoria SPIFFS.
La lettura dei file avviene in modo tradizionale con open(), read(), write() e close().
Realizziamo un web server con pagine statiche e dinamiche memorizzate su SPIFFS
ESP32 include anche un BlueTooth dal semplice utilizzo.
Realizziamo un semplice progetto con Alexa per controllare un LED.
A bordo della ESP32 troviamo 3 porte seriali. Impariamo ad utilizzarle.
Utilizziamo la porta SPI della ESP32 per collegare una SD Card su cui creare e leggere dei file.
Alcuni consigli per realizzare prototipi resistenti ai disturbi elettrici.
Vediamo come caricare il firmware da remoto, via WiFi con le tecniche OTA (Over The Air).
Le ESP32 non sono molto adatte alle breadboard standard. Verdiamo come creare una breadboard "estesa" più adatta alla scheda.
ESP-Now - Un sistema alternativo per scambiare dati a medio raggio.
Vediamo la trasmissione a senso unico e come realizzare uno scambio bidirezionale. Servono almeno 2 schede.
Che cos'è il BLE - Blue Tooth Low Energy
Creiamo un Server BLE che pubblica una caratteristica con valore fisso
Creiamo un Server BLE che pubblica una caratteristica con valore variabile inviato costantemente al client
Creiamo un Client BLE
Da pochi mesi è disponibile la versione 3.0 del framework ESP32. Se per caso avete aggiornato il vostro ambiente di sviluppo vi sarete accorti che il pWM non funziona più.
Ecco come fare per usare le nuove funzioni PWM di ESP32.
Grazie per aver seguito il corso.
Trovi altri approfondimenti cercando il mio canale YouTube: cerca paolo aliverti su YT o Google.
Ho scritto vari libri su elettronica, arduino e programmazione. Li trovi elencati sul mio sito zeppelinmaker.it
Sempre più spesso oggi utilizziamo e ci aspettiamo di trovare oggetti connessi in Rete. I dispositivi prendono e inviano dati dalla rete creando applicazioni più complesse e sofisticate. Oggi abbiamo svariate possibilità per costruire prototipi e progetti connessi. Arduino ha tracciato al via ma ormai troviamo soluzioni economiche e affidabili come quelle offerte dalle potentissime ESP32 di Espressif.
Nelle lezioni del corso apprenderai come utilizzare tutte le funzioni della scheda ESP32, toccando svariati temi, da quelli più semplici come l'uso di pin GPIO, pulsanti e ingressi fino alle interrupts o l'utilizzo del file system SPIFFS,
Vedremo come trasformare ESP32 in un server web in grado di ricevere dati in GET e POST e realizzeremo anche un Access Point per potersi collegare in autonomia al nostro dispositivo.
Nella parte iniziale del corso troverai una breve introduzione pratico/teorica alle caratteristiche di base delle scheda. Le lezioni toccheranno temi sempre più complessi fino a realizzare un progetto per controllare una luce (un led) con Alexa
Per poter seguire le lezioni è consigliabile utilizzare una scheda ESP32 WROOM32 DoIt Dev Kit e alcuni componenti elettronici di base come LED, pulsanti e resistori oltre a una breadboard e alcuni jumper.
Il corso è destinato a chi ha già una conoscenza (intermedia) di Arduino e della programmazione in C/C++.