標籤:mqtt mosquitto eclipse paho java 物聯網
MQTT,mosquitto,Eclipse Paho這三個單詞陌生而又神秘。那麼這三個單詞究竟是什麼意思,代表了什麼技術,他們之間有關聯嗎?不著急,請聽筆者慢慢給大家分享。
(1)MQTT(英語全稱,Message Queue Telemetry Transport),中文翻譯過來就是遙測傳輸協議:其主要提供訂閱/發布模式,更為簡約、輕量,便於使用,針對受限環境(頻寬低、網路延遲高、網路通訊不穩定),屬於物聯網(Internet of Thing)的一個傳輸協議。具體協議內容,請參考:http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html。
(2) mosquitto 是MQTT協議標準的一種開源實現,其具體的操作方式,請 參考http://mosquitto.org/man/mosquitto-8.html,其具體的安裝和使用方式,網上有很多的資料,咱們就不在重複說明了。對於這種協議,其實有很多的伺服器的實現,如下,都是MQTT協議的伺服器端的實現。但是為了方便和簡單起見,咱們這一系列的文章選擇Mosquitto作為MQTT伺服器的實現。
IBM Websphere MQ Telemetry
IBM MessageSight
IBM Integration Bus
Mosquitto
Eclipse Paho
Eurotech Everywhere Device Cloud
emqttd
Xively
m2m.io
webMethods Nirvana Messaging
RabbitMQ
Apache ActiveMQ
Apache Apollo
Moquette
HiveMQ
Mosca
Litmus Automation Loop
JoramMQ
ThingMQ
VerneMQ
(3) Eclipse Paho是Eclipse 提供的一個訪問MQTT伺服器的一種開源用戶端庫。其提供了7種不同語言平台的用戶端類庫。
在咱們這一系列的文章中,咱們就以Java的用戶端庫為例子,和大家一起度過接下來的系列文章。
值得一提的是,和MQTT伺服器進行互動的開源架構還有很多,比如,對於Java語言和平台來說,有下面的架構。
Eclipse Paho Java
Xenqtt Includes a client library, mock broker for unit/integration testing, and applications to support enterprise needs like using a cluster of servers as a single client, an HTTP gateway, etc.
MeQanTT
Fusesource mqtt-client
moquette
"MA9B" zip of 1/2 dozen mobile clients source code. Includes Android-optimized Java source that works with Android notifications, based on Paho
IA92 - deprecated IBM IA92 support pack, use Eclipse Paho GUI client instead. A useful MQTT Java swing GUI for publishing & subscribing. The Eclipse Paho GUI is identical but uses newer client code
但是,根據目前的流行和使用的次數,應該首推Eclipse Paho,因此本系列的文章選擇Eclipse Paho作為用戶端的訪問類庫和MQTT的服務進行互動。
[1] MQTT,mosquitto,Eclipse Paho----入門