MQTT spiegato agli insegnanti (senza gergo)

MQTT è il sistema di messaggistica dietro la maggior parte delle dashboard IoT. Immagina una bacheca di classe: i dispositivi appendono fogli sotto topic con un nome e un broker li passa a chi è iscritto.
MQTT è un sistema di messaggistica leggero che permette a piccoli dispositivi di condividere dati senza parlarsi direttamente. Un dispositivo pubblica un breve messaggio su un topic con un nome, un programma centrale chiamato broker lo conserva e chiunque si sia iscritto a quel topic ne riceve una copia. L'immagine più semplice è la bacheca di classe: appendi un foglio sotto un titolo e chi è interessato a quel titolo lo legge quando può.
Questa sola idea copre quasi tutto ciò che serve per spiegarlo a una classe. Il resto dell'articolo dà un nome, in parole semplici, ai quattro elementi in gioco.
Una bacheca, non una telefonata
Una telefonata richiede che entrambe le persone siano in linea nello stesso momento. La maggior parte dei progetti con sensori in aula non funziona così. Un sensore di temperatura può inviare una lettura ogni dieci secondi, ma la dashboard che mostra quella lettura potrebbe essere chiusa, oppure un alunno potrebbe aprirla un'ora dopo.
MQTT risolve la cosa come fa una bacheca. Il sensore appende il suo foglio e se ne va. La dashboard legge la bacheca quando le capita di guardarla. Nessuna delle due parti ha bisogno di sapere che l'altra esiste, né di essere attiva nello stesso momento. Questo si chiama publish e subscribe ed è il motivo per cui una sola piccola scheda può alimentare molti schermi senza che siano collegati fra loro.
I topic sono soltanto etichette
Un topic è il titolo sotto cui appendi il foglio. Si scrive come un percorso con barre, così da leggersi come una struttura di cartelle:
classroom/temperaturelab/door/statusgreenhouse/soil/moisture
Questi nomi li inventi tu; non esiste un elenco fisso. Chi si iscrive chiede esattamente il titolo che vuole. Esistono anche i caratteri jolly, così una dashboard può iscriversi a classroom/# e ricevere in una volta sola tutti i fogli appesi sotto il titolo classroom. Dare buoni nomi ai topic è l'abitudine più utile da insegnare, perché uno schema di denominazione ordinato mantiene leggibile un progetto quando i sensori sono venti anziché due.
Il broker sta in mezzo
Il broker è il programma che gestisce la bacheca. Ogni messaggio arriva prima al broker, che lo inoltra a chi si è iscritto. I dispositivi parlano sempre e solo con il broker, mai fra loro, e questo li mantiene semplici ed economici. In un progetto scolastico il broker è di solito un piccolo server o un servizio in hosting; gli alunni raramente devono vederlo, puntano semplicemente la scheda e la dashboard allo stesso indirizzo.
Messaggi ritenuti e ultima volontà
Due funzioni aggiuntive ricorrono di continuo, ed entrambe rientrano nell'immagine della bacheca.
Un messaggio ritenuto è un foglio che resta appeso. Normalmente un messaggio viene consegnato una volta e sparisce. Se un messaggio è ritenuto, il broker conserva il più recente, così una dashboard aperta in seguito vede subito il valore attuale invece di uno schermo vuoto. È perfetto per una lettura come la temperatura corrente.
L'ultima volontà è un foglio che il broker appende per conto di un dispositivo se questo si disconnette in modo imprevisto. Permette a una dashboard di mostrare un sensore come offline nel momento stesso in cui tace, invece di visualizzare per sempre un numero vecchio. Insieme, queste due funzioni sono il motivo per cui uno schermo IoT sa badare a sé stesso.
Perché le dashboard lo usano e dove lo incontri in classe
Le dashboard si appoggiano a MQTT perché i messaggi sono minuscoli, regge il wifi ballerino che si trova in una classe vera e un solo broker può servire molti dispositivi insieme. Quando una scheda sheenbot legge un sensore e uno schermo dal vivo si aggiorna un secondo dopo, sono publish e subscribe ad aver portato il numero da una parte all'altra. Le nostre dashboard sheenIoT funzionano esattamente così, iscrivendosi ai topic che scelgono i tuoi alunni.
Non serve hardware per insegnare l'idea. Gli alunni possono pubblicare e ricevere messaggi prima dentro il simulatore verse, per poi passare a una scheda vera una volta assimilato il modello mentale. Se vuoi vederlo realizzare dall'inizio alla fine con una classe, i workshop di robotica delle vacanze affrontano un progetto completo dal sensore alla dashboard.
Un modello mentale in cinque righe da dare agli alunni
- Publish significa appendere un foglio in bacheca.
- Subscribe significa chiedere di essere avvisati quando compaiono fogli sotto un titolo.
- Topic è il titolo, scritto come
classroom/temperature. - Broker è la bacheca condivisa da tutti.
- Ritenuto significa che l'ultimo foglio resta appeso per il lettore successivo.
Tieni quell'elenco appeso al muro per le prime lezioni. Una volta che gli alunni sanno indicare la bacheca e dire chi appende e chi legge, la parola MQTT smette di essere gergo e diventa la descrizione di qualcosa che sanno già immaginare.



