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:…

Raspberry Pi Zero, audio output via I2S

Pi Zero è una piccola scheda – parte della famiglia Raspberry – pensata per applicazioni embedded. Il suo bassissimo costo (circa 10€ per la versione W, con connettività wifi) e la capacità di eseguire diversi sistemi operativi la rende la scelta ideale per diverse applicazioni (media center, datalogger…). La scheda Pi Zero purtroppo non offre un connettore audio dedicato: normalmente infatti…

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…

Raspberry Pi Zero, utilizzo via USB

Dopo aver acquistato un Raspberry Pi Zero, mi sono chiesto come poter effettuare il primo accesso e le prime configurazioni, non disponendo in quel momento di un monitor HDMI e di tastiera e mouse USB. Fortunatamente questo modello di Raspberry supporta la modalità USB OTG (On The Go): può “trasformarsi” in un dispositivo USB slave come un supporto di memorizzazione,…

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…