Secondo le stime più recenti elaborate da Statista, l’anno scorso venivano utilizzati in tutto il mondo oltre 11 miliardi di dispositivi per l’Internet delle Cose (IoT). Il numero di device IoT crescerà a dismisura fino ad arrivare a quasi 20 miliardi nel 2025 e a 30 miliardi nel 2030.
Il mercato offre già molteplici dispositivi per la smart home con soluzioni quali Shelly e Sonoff che aiutano a realizzare progetti di domotica a basso costo.
Tanti dispositivi supportano per l’Internet delle Cose supportano soluzioni proprietarie, altri sono più aperti e accettano l’invio di messaggi via HTTP. Per gestire le comunicazioni in modo professionale tra dispositivi IoT e hub (si pensi di installare un server che offre il pannello di controllo per la gestione dei device) il punto di riferimento è MQTT.
MQTT (Message Queue Telemetry Transport) è un protocollo di messaggistica leggero e flessibile che viene perfettamente incontro alle esigenze degli sviluppatori di soluzioni IoT.
La forza di MQTT è riconducibile al fatto che i messaggi vengono gestiti in maniera ottimale anche su reti a elevata latenza o con una larghezza di banda limitata. Il protocollo è robusto, affidabile, resiliente e flessibile ben adattandosi a un ampio ventaglio di scenari applicativi.
Ogni messaggio MQTT ha un comando e un payload: i dettagli sulla struttura di ciascun messaggio sono disponibili nella documentazione ufficiale.
Mentre però HTTP ha una struttura di tipo request-response, MQTT disaccoppia la generazione del messaggio e la sua ricezione, anche da un punto di vista temporale.
Il broker è un server che si occupa di gestire i messaggi generati dal publisher (si pensi all’esempio comune di un sensore di temperatura) per girarli ai subscriber che richiedono di accedervi. A seconda della qualità del servizio (QoS) impostata i messaggi MQTT possono essere smistati con o senza garanzia di consegna.
MQTT X: cos’è e come funziona
Sulla piattaforma Github segnaliamo MQTT X, uno strumento open source e cross-platform che supporta macOS, Linux e Windows. Gli utenti possono stabilire contemporaneamente connessioni client MQTT ed effettuare il test sulle funzioni di connessione, di pubblicazione e di subscribe di MQTT/TCP, MQTT/TLS, MQTT/WebSocket nonché di altre funzioni del protocollo MQTT.
Sviluppato da EMQ, uno dei più grossi fornitori di software per l’infrastruttura dati IoT open source a livello mondiale, MQTT X semplifica l’esecuzione diretta delle attività da riga di comando o da browser Web.
EMQ è un’azienda fornitrice di tecnologie open source per l’infrastruttura dati IoT, leader globale. Il suo portafoglio include EMQX, piattaforma di messaggistica MQTT open source scalabile e affidabile oltre ad esempio a Neuron, server per la connettività IoT industriale ultraleggero.
EMQX supporta 100 milioni di connessioni di dispositivi IoT per cluster contemporaneamente mantenendo allo stesso tempo un throughput di 1 milione di messaggi al secondo e una latenza inferiore a 10 millisecondi. L’azienda conta oltre 20.000 utenti globali in 50 Paesi con più di 100 milioni di connessioni di dispositivi IoT supportate in tutto il mondo ed è utilizzato da oltre 300 clienti in scenari IoT mission-critical (spiccano nomi importanti come HPE, VMware, Verifone, SAIC Volkswagen ed Ericsson).