MQTT服務器搭建與試用,桌面工具連接MQTT服務器

簡介

MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸)是IBM開發的一個即時通訊協議,它比較適合於在低帶寬、不可靠的網絡的進行遠程傳感器和控制設備通訊等,正在日益成爲物聯網通信協議的重要組成部分。MQTT現在主要用於即時通訊,物聯網M2M,物聯網採集等。本文就社區上常見的開源MQTT服務器在常見操作系統上的搭建做詳細介紹。目前一些開源MQTT服務中間件有:

1)EMQX:github 4882 stars

2)Mosquitto:github 1645 stars

3)Apollo:ActiveMQ的升級版,github 109 stars,但是該項目已經有3~4年沒有更新。而其號稱的老版本ActiveMQ反而更新更加頻繁。

EMQ君建議讀者在閱讀此篇文章之前,最好對MQTT協議有一些基本的瞭解,比如消息主題,消息發佈,消息訂閱和QoS等。

EMQ服務器在Windows搭建

EMQ (Erlang/Enterprise/Elastic MQTT Broker) 是基於 Erlang/OTP 平臺開發的開源物聯網 MQTT 消息服務器。Erlang/OTP 是出色的軟實時(Soft-Realtime)、低延時(Low-Latency)、分佈式(Distributed) 的語言平臺。一般來說,生產環境的MQTT服務建議搭建在Linux操作系統上,但是作爲在給你驗證和使用階段,可以在常見的Windows平臺上搭建、運行和測試。

安裝步驟

1)點擊這裏,下載EMQ windows版

2)解壓emqttd-windows7-v2.3.9.zip(這裏是解壓到D盤)

3)打開 Windows 命令行窗口,進入emqtt解壓目錄

4)在Windows命令行中啓動EMQ,執行下列命令

bin\emqttd.cmd start

5)EMQ提供了一個後端Web控制檯,用戶可通過 Web 控制檯,查看服務器運行狀態、統計數據、客戶端(Client)、會話(Session)、主題(Topic)、訂閱(Subscription)、插件(Plugin)。如果EMQ安裝在本機,則在瀏覽器打開http://127.0.0.1:18083,輸入默認用戶名“admin”和默認密碼“public”,進入EMQ管理控制檯。如下圖所示,“Stats(1)”表格中,顯示的是客戶端和Topic的一些基本信息,比如“Clients/Count”的數目爲0,表示目前連接的客戶端數目爲0;“Client/Max”表示的是連接曾經達到的最大值等。這裏不對每項做一一介紹,讀者對MQTT協議比較熟悉之後,就能理解監控儀表盤上的內容。

客戶端測試 - MQTTBox

在安裝好服務器端之後,我們使用MQTT的客戶端對MQTT服務器的基本功能進行相關的測試。MQTT客戶端有不少,比如mosquito提供了命令行,通過命令行工具可以方便地進行測試;最簡單的方式可能還是通過可視化的界面對其進行測試,EMQ君建議用MQTTBox。MQTTBox有兩種使用的方式:一種爲Chrome插件;另外一種爲Windows程序安裝。兩種方式下使用的方法差不多,本文以Windows程序安裝版來介紹其功能。

安裝步驟

1)下載安裝軟件:讀者可以根據自己的喜好,下載不同的版本:此處爲Chrome版本的下載地址(需翻牆);此處爲Windows安裝程序

2)根據安裝嚮導的提示,完成MQTTBox的安裝

3)打開安裝好的應用圖標,如下圖所示

測試消息發佈/訂閱(Pub/Sub)功能

MQTT協議中通過主題(Topic)在消息發佈者和

1)建立MQTT連接,如下圖所示,點擊“Create MQTT Client”

2)指定連接相關信息,包括連接名稱(可以隨意輸入)、協議(選擇mqtt/tcp)和主機地址(安裝在本地,MQTT缺省端口爲1883,所以輸入127.0.0.1:1883),然後單擊“Save”保存。連接中一些別的選項先保持缺省值,讀者對MQTT協議比較熟悉之後,就可以瞭解這些選項的意義。

保存成功後進入如下的界面,接下來可以開始測試消息發佈和訂閱。如下圖所示,綠色“Connected”按鈕表明當前MQTT連接已經成功

3)首先我們開啓一個訂閱,如下圖所示。“Topic to subscribe”裏填入要訂閱的主題“windows”;“QoS”字段選擇“0 - Almost Once”;然後點擊“Subscribe”按鈕

4)設置好訂閱的主題後,在發佈這邊輸入如下的信息。“Topic to publish”中輸入“windows”,這裏輸入的主題的名字必須和訂閱那裏的輸入相同;“QoS”中選擇“0 - Almost Once”;“Payload”中輸入任何內容都可以,如下圖所示輸入了一組JSON字符串;所有內容輸入完畢之後,點擊“Publish”按鈕

5)在訂閱端就會收到由服務器端轉發的消息內容,如下圖所示。

6)打開EMQ的管理員控制檯,可以看到一些相關的統計數據已經發生了變化。比如在“The messages data”表格中,“qos0/received”的值爲1,說明EMQ收到了1條QoS0的消息;“qos0/sent”的值爲1,表示EMQ轉發了一條QoS0的消息。

好了,EMQ君帶領着大家初步領略了MQTT服務器能夠提供的基本功能,如果讀者想了解其它MQTT服務器在不同平臺上的安裝的話,請參考以下系列文章。

Ubuntu上搭建EMQ MQTT服務器

Ubuntu上搭建EMQ Mosquito服務器

Ubuntu上搭建EMQ Apollo服務器

Windows上搭建Mosquitto MQTT服務器

Windows上搭建Apache Apollo MQTT服務器



作者:EMQ
鏈接:https://www.jianshu.com/p/e5cf0c1fd55c
來源:簡書
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章