ESP32, PlatformIO

PlatformIO è un ecosistema opensource (come è definito nella homepage ufficiale) per lo sviluppo di progetti IoT. Il cuore della piattaforma è un componente software chiamato PlatformIO Core. Questo componente integra: [checklist] un sistema di compilazione cross-platform un gestore di librerie e di dipendenze un monitor seriale [/checklist] PlatformIO Core è sviluppato in Python ed è quindi in grado…

Parsing dei pacchetti tramite struct

Analizzando il codice sorgente di un programma opensource, ho trovato una interessante tecnica per effettuare il parsing dei dati ricevuti in maniera molto efficente, utilizzando una struct. Questa tecnica funziona se i dati ricevuti hanno lunghezza e struttura fissa, ad esempio si applica molto bene a pacchetti dati. In fase di ricezione, normalmente il programma memorizza i dati ricevuti in un buffer…

Chrome App e comunicazione seriale

Introduzione Durante lo sviluppo dei miei progetti, mi capita spesso di dover progettare una interfaccia utente (GUI) che dialoga via seriale con i dispositivi che realizzo. In passato ho scelto di realizzare tali interfacce in C# utilizzando il Framework .Net, framework che consente uno sviluppo molto rapido, grandi possibilità di personalizzazione (come l’uso di font custom nella GUI…

App Inventor v2

L’M.I.T. (Massachusetts Institute of Technology) ha da poco reso disponibile la versione 2 di App Inventor, strumento per la realizzazione di applicazioni Android. Il sito ufficiale dell’applicazione è http://appinventor.mit.edu/ App Inventor consente, in maniera grafica, di realizzare sia l’interfaccia dell’applicazione, sia la sua logica. In particolare ho molto apprezzato la facilità con cui – utilizzando blocchi logici – è possibile sviluppare…

Comunicazione seriale in c# – prima parte

Spesso, realizzando circuiti elettronici, si ha la necessità di farli comunicare con un computer: il modo più semplice per realizzare questa comunicazione è sicuramente la porta seriale (fisica o emulata dai vari adattatori USB->seriale in commercio o direttamente integrati nelle schede di sviluppo, come per Arduino). Questo tutorial, in più puntate, vuole illustrare come realizzare…