MQTT (Message Queuing Telemetry Transport) to protokół przesyłania wiadomości typu publikacja-subskrypcja oparty na protokole TCP / IP .
Został pierwotnie opracowany przez Andy'ego Stanforda-Clarka (IBM) i Arlen Nipper (EuroTech). Jest przeznaczony do połączeń ze zdalnymi lokalizacjami, w których przepustowość sieci jest ograniczona.
MQTT 3.1.1 to standard OASIS , wersja 5 specyfikacji jest obecnie publikowana od 7 marca 2019 r.
Andy Stanford-Clark ( IBM ) i Arlen Nipper (Cirrus Link, następnie Eurotech) są autorami pierwszej wersji protokołu z 1999 roku, który był używany do monitorowania rurociągu naftowego na pustyni. Celem było uzyskanie wydajnego pod względem przepustowości, lekkiego i niskiego poziomu baterii protokołu, ponieważ łącze satelitarne, z którego korzystali, było w tamtym czasie bardzo drogie.
Dostępnych jest wiele agentów MQTT, różnią się one funkcjonalnością, a niektórzy z nich implementują dodatkową funkcjonalność.
Głównymi agentami open source są:
Dostępnych jest wiele bibliotek do programowania klientów MQTT, dla większości języków (C, C ++, Java, JavaScript, PHP, Python ...) i na większości platform ( GNU / Linux , Windows , iOS , Android , Arduino …) .
Eclipse PAHO (en) i projekty wolfSSL oferują darmowe i open-source i otwartych implementacji standardowych protokołów wiadomości dla nowych i wschodzących M2M (machine-to-machine) oraz Internet zastosowań Things .
Wiele projektów wdraża MQTT:
W czerwonej książce zatytułowanej Building Smarter Planet Solutions with MQTT and IBM WebSphere MQ Telemetry IBM opisuje kilka przykładów zastosowań w dziedzinie zdrowia i energii.