ESP32 (16) – IFTTT

Dopo aver pubblicato il tutorial relativo all’invio di SMS con il chip ESP32, ho ricevuto diversi commenti tramite il sito web da parte di utenti che chiedevano un modo di inviare notifiche gratuite. Oggi vi mosterò una possibile soluzione; sarà anche l’occasione per parlarvi di IFTTT e dello sviluppo di componenti custom per il framework esp-idf. IFTTT IFTTT (IF This Then That – Se questo…

ESP32 (15) – mDNS

Quando navighiamo su Internet, il servizio DNS (Domain Name System) si occupa di “tradurre” (risolvere) i nomi nei corrispettivi indirizzi IP. Se ad esempio digitiamo www.google.com nel nostro browser, il nostro computer interroga il server DNS – normalmente quello messo a disposizione dal nostro provider – e ottiene da questo l’indirizzo IP del server che ospita il sito di Google:…

ESP32 (14) – esp-idf v2 e come gestire le diverse versioni

Il giorno 6 Aprile Espressif ha rilasciato la versione 2.0 del framework esp-idf. L’elenco completo delle nuove features e dei bug risolti è disponibile su Github, vediamo quelli più significativi (a mio parere ;)): [checklist] sono stati introdotti o resi stabili nuovi drivers per periferiche quali I2C, I2S, SPI Master, SDMMC è stata introdotta la possibilità di lanciare un monitor…

ESP32 (13) – Inviare SMS

Durante lo sviluppo di una applicazione embedded, è spesso necessario implementare qualche forma di notifica a fronte di eventi o di particolari condizioni. Pensiamo ad esempio ad un sistema di allarme che deve informare il proprietario in caso la porta di casa venga aperta in sua assenza… Nel tutorial di oggi vedremo come inviare SMS utilizzando il chip esp32.…

ESP32 (12) – I/O e interrupts

In un precedente articolo ho iniziato a spiegarvi come utilizzare i pin del chip esp32 per attività di Input/Output. Oggi vediamo come utilizzare gli interrupts che tali pin ci offrono. Interrupts In informatica, un interrupt è un segnale che indica l’accadere di un evento che richiede immediata attenzione. Il segnale di interrupt interrompe quindi la normale esecuzione del programma e manda in esecuzione una particolare…

ESP32 (11) – Candela led

Dopo aver pubblicato il precedente articolo, ho ricevuto alcuni commenti che mi chiedevano a cosa potesse servire un generatore di numeri random come quello incluso nel chip esp32. I numeri random sono molto utilizzati in crittografia e la bontà di un generatore di numeri random è fondamentale per garantire elevati livelli di sicurezza, come ben spiegato in questo articolo di…

ESP32 (10) – Generatore numeri random

Il breve tutorial di oggi vi mostrerà come utilizzare il generatore numeri random, periferica hardware inclusa nel chip esp32. Sarà anche l’occasione per capire come interagire con tali periferiche e per vedere qualche dettaglio in più relativo alla struttura del framework. Address space Entrambe le CPU (PRO e APP) del chip esp32 condividono (a parte piccole eccezioni) uno spazio indirizzi (address space),…

ESP32 (9) – Basic I/O

Iniziamo, con il tutorial di oggi, ad utilizzare i pin di I/O del chip esp32. Il chip mette a disposizione 40 General Purpose I/O pads (GPIO), ovvero 40 “contatti” che possono essere utilizzati per diverse funzionalità di ingresso (input) e uscita (output). La gestione di tali pads è abbastanza complessa: il chip esp32 consente infatti di “mappare” le diverse…

ESP32 (8) – connessione tcp

Dopo aver imparato come collegare il chip esp32 alla nostra rete wifi, oggi vediamo come inviare e ricevere dati. lwIP Il framework esp-idf utilizza la libreria lwIP per implementare lo stack di protocolli TCP/IP. Questa libreria, inizialmente sviluppata da Adam Dunkels e ora mantenuta da una community di sviluppatori con licenza opensource, è molto utilizzata in ambito embedded per le sue ridotte dimensioni e per le numerose features:…

ESP32 (7) – menuconfig

Come abbiamo visto nei precedenti tutorials, la configurazione di diversi aspetti del framework esp-idf avviene tramite un menu di configurazione: E’ possibile utilizzare lo stesso menu per configurare opzioni/parametri relativi al programama che stiamo sviluppando: nel tutorial di oggi vedremo come fare! Kconfig Il menu di configurazione del framework viene configurato tramite alcuni files di testo. La sintassi di questi files…