ESP32 (3) – Eclipse

Nel precedente articolo, vi ho mostrato come installare il framework di sviluppo ufficiale (Espressif IoT Development Framework) e come utilizzarlo per compilare il primo esempio, Hello world. Sebbene sia possibile sviluppare i propri programmi con un semplice editor di testo (su Windows consiglio sempre il programma opensource Notepad++), è sicuramente più semplice dotarsi di un IDE (Integrated Development Environment), ovvero un applicativo grafico…

ESP32 (2) – L’ambiente di sviluppo

Dopo aver introdotto, nel precedente articolo, il chip ESP32 e la scheda di sviluppo ufficiale di Espressif, oggi vediamo come installare e utilizzare l’ambiente di sviluppo ufficiale. Il framework di sviluppo ufficiale per il chip ESP32 è stato rilasciato da Espressif su Github, con licenza opensource (Apache 2.0) e chiamato Espressif IoT Development Framework (idf per brevità). Per poterlo utilizzare su S.O. Windows,…

ESP32 (1) – Introduzione

Sicuramente avrete già sentito parlare del chip wifi  esp8266, prodotto da Espressif. Apparso sugli store cinesi a metà 2014, inizialmente ha avuto successo come “ponte” per collegare i diversi microcontrollori (in primis Arduino) alle reti wifi grazie al costo molto più basso (circa 5$ a modulo) rispetto alle soluzioni precedenti. Visto che il firmware di base non era molto ben documentato, conteneva diversi…

MQTT – enc28j60 e Adafruit IO

Adafruit IO è la nuova piattaforma cloud (attualmente ancora in beta) di Adafruit, realizzata per consentire un semplice scambio di informazioni tra dispositivi e la realizzazione di dashboard web. Questa nuova piattaforma espone delle API MQTT, possiamo quindi applicare quello che abbiamo imparato nei precedenti articoli per realizzare un completo progetto che ne sfrutti le potenzialità. Il…

MQTT – Sicurezza

Uno degli aspetti spesso trascurati nell’IoT è la sicurezza delle comunicazioni. La prova è che molti degli ultimi attacchi DDOS (Distributed Denial of Service) sono stati portati utilizzando smart devices connessi ad Internet. Nei precedenti articoli abbiamo visto come configurare mosquitto per ricevere messaggi pubblicati dai client e per inoltrare questi a tutti i sottoscrittori. Oggi vediamo come configurare la sicurezza…

MQTT – Topics

Nella prima parte di questo tutorial ho introdotto il concetto di topics (argomenti in italiano). Ogni messaggio inviato ad un MQTT broker deve essere associato ad un topic e i client che si collegano al broker decidono quali messaggi ricevere sottoscrivendo uno o più topics. Oggi vedremo più in dettaglio il formato dei topics e le diverse modalità di sottoscrizione.…

MQTT – enc28j60 e Arduino (22)

Da appassionato di fumetti, non potevo non pubblicare un crossover tra il mio “storico” tutorial sull’uso del controller enc28j60 con Arduino e il nuovo tutorial sul protocollo MQTT. Ecco quindi che, dopo aver introdotto il protocollo MQTT e spiegato l’uso di mosquitto, oggi vediamo come inviare dati ad un broker MQTT tramite il controller ethernet enc28j60. Librerie Utilizzeremo la…

MQTT – Introduzione

Se due dispositivi vogliono colloquiare tra loro, è necessario che entrambi adottino un protocollo comune. In passato vi ho già mostrato diversi esempi di comunicazione, ad esempio tra Arduino e un programma C#, Arduino e un sito web o Arduino e un server NTP. Tutte queste comunicazioni erano punto-a-punto, ovvero tra due interlocutori. Oggi voglio invece iniziare…

Eagle – Preventivo automatico PCB

Il sito PCBShopper consente di confrontare i prezzi dei più diffusi service che realizzano PCB a basso prezzo. Jeremy Ruhland ha pubblicato sul proprio repository Github uno script (ulp, user language program) per Eagle che automaticamente raccoglie da un progetto Eagle le informazioni necessarie e compila il form di PCBShopper. Vediamo come utilizzarlo: – per prima cosa clicchiamo su pcbshopper.ulp…

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…