Windows下搭建MQTT服務器的詳細教程
一、MQTT服務器軟件篩選
MQ遙測傳輸(MQTT)是輕量級基于代理的發(fā)布/訂閱的消息傳輸協(xié)議,設計思想是開放、簡單、輕量、易于實現(xiàn)。這些特點使它適用于低帶寬受限環(huán)境。特點包括以下:
使用發(fā)布/訂閱消息模式,提供一對多的消息發(fā)布,解除應用程序耦合。對負載內容屏蔽的消息傳輸。使用TCP/IP提供網(wǎng)絡連接。小型傳輸,開銷很?。ü潭ㄩL度的頭部是2字節(jié)),協(xié)議交換最小化,以降低網(wǎng)絡流量。使用Last Will和Testament特性通知有關各方客戶端異常中斷的機制。有三種消息發(fā)布服務質量:(1)“至多一次”,消息發(fā)布完全依賴底層 TCP/IP 網(wǎng)絡。會發(fā)生消息丟失或重復。這一級別可用于如下情況,環(huán)境傳感器數(shù)據(jù),丟失一次讀記錄無所謂,因為不久后還會有第二次發(fā)送。(2)“至少一次”,確保消息到達,但消息重復可能會發(fā)生。(3)“只有一次”,確保消息到達一次。這一級別可用于如下情況,在計費系統(tǒng)中,消息重復或丟失會導致不正確的結果。

能夠搭建MQTT服務器的軟件有很多,比如:
mosquitto,Eclipse Mosquitto使用 C 語言實現(xiàn)的 MQTT 服務器。EMQX,使用 Erlang 語言開發(fā)的 MQTT 服務器,內置強大的規(guī)則引擎,支持許多其他 IoT 協(xié)議比如 MQTT-SN、 CoAP、LwM2M 等。Mosca,使用 Node.JS 開發(fā)的 MQTT 服務器,簡單易用。VerneMQ,使用 Erlang 開發(fā)的 MQTT 服務器。
本文是以mosquitto在windows下搭建過程為例進行介紹。
二、MQTT服務器軟件mosquitto下載
1、進入mosquitto下載網(wǎng)址:https://mosquitto.org/download/,如下圖:

2、點擊上圖中紅框的鏈接進行下載,下載到本地計算機,如下圖:

3、右鍵點擊mosquitto-2.0.14-install-windows-x64.exe以管理員身份進行安裝,如下圖:

4、點擊"Next >"按鈕,如下圖:

5、繼續(xù)點擊“Next >”按鈕,如下圖:
6、
可以更改安裝目錄,我更改到D盤,點擊“Install”按鈕,如下圖:

7、等待安裝完畢,如下圖:

8、點擊"Finish"按鈕,至此安裝完成。
三、修改mosquitto配置,并啟動mosquitto服務
1、安裝完畢后,需要對配置文件進行修改,配置文件位置:D:\mosquitto\mosquitto.conf,如下:

2、這里我們主要是改一下偵聽端口和開啟用戶驗證(即設置用戶名和密碼)2.1 修改偵聽端口打開mosquitto.conf,找到linstener,取消前面的#注釋,并指定要偵聽的端口,如下:
listener 7788
2.2 設置用戶名密碼2.2.1 找到找到allow_anonymous節(jié)點,這個節(jié)點作用是,是否開啟匿名用戶登錄,默認是true。打開此項配置(將前面的 # 號去掉)之后將其值改為true
修改前:#allow_anonymous修改后:allow_anonymous false
2.2.2 找到password_file節(jié)點,這個節(jié)點是告訴服務器你要配置的用戶將存放在哪里。打開此配置并指定pwfile.example文件路勁(注意是絕對路勁)
修改前:#password_file修改后:password_file D:\pwfile.example
3、在管理工具->服務,中找到Mosquitto Broker,啟動mosquitto服務,如下圖:

4、以管理員身份打開CMD,并切換到d:/mosquitto目錄下,運行以下命令添加用戶名和密碼:
mosquitto_passwd.exe -c d:/pwfile.example admin
提示連續(xù)兩次輸入密碼、創(chuàng)建成功。命令解釋: -c 創(chuàng)建一個用戶、/etc/mosquitto/pwfile.example 是將用戶創(chuàng)建到 pwfile.example 文件中、admin 是用戶名。如下圖:

注意:添加用戶和密碼后,需要對mosquitto服務進行重啟才能生效。
四、利用mosquitto工具測試訂閱與發(fā)布
再以管理員啟動2個CMD窗口,并進入d:/mosquitto目錄,cmd窗口1作為訂閱者,cmd窗口2作為發(fā)布者,如下圖:

在cmd窗口1中執(zhí)行以下命令,進行消息訂閱
mosquitto_sub.exe -h 127.0.0.1 -p 7788 -u admin -P 123456 -v -t sensor
在cmd窗口2中執(zhí)行以下命令,進行消息發(fā)送
mosquitto_pub.exe -h 127.0.0.1 -p 7788 -u admin -P 123456 -t sensor -m "消息測試"
如下圖:

五、可視化MQTT客戶端工具MQTTX使用
MQTT的客戶端測試工具有很多,而MQTTX無疑是其中的佼佼者,下面就介紹一下其使用過程。1、首先從官網(wǎng)下載,MQTTX下載地址:
https://github.com/emqx/MQTTX/releases

2、選擇適合你操作系統(tǒng)的版本進行下載,如下圖:

3、下載后如下圖:

4、以管理員
方式安裝MQTTX-Setup-1.7.3.exe,如果出現(xiàn)Microsoft Defender SmartScreen阻止提示,則點擊“仍要運行”,如下圖:

5、安裝步驟
如下圖:

6、安裝過程中可以更改安裝目錄,如下圖:

7、點擊“安裝”按鈕,如下圖:

8、安裝完畢是會出現(xiàn)完成提示,如下圖:

9、勾選運行MQTTX(R),點擊“完成”按鈕,則運行MQTTX,如下圖:

10、點擊“New Connection”按鈕,則出現(xiàn)新建連接對話框,根據(jù)MQTT服務器的信息,輸入對應的參數(shù),如下圖:

11、點擊Connect按鈕,如下圖:

12、如果想訂閱一個主題,則點擊“New Subscription”按鈕,則出現(xiàn)新建訂閱對話框,如下圖:

13、輸入對應的主題后,點擊“Confirm”按鈕,如下圖:

14、結合CMD窗口使用mosquitto_pub.exe發(fā)布工具發(fā)一個消息測試一下,如下圖:

從上圖中可以看出,訂閱的主題已經(jīng)接收到了測試的消息。
到此這篇關于Windows下搭建MQTT服務器的詳細教程的文章就介紹到這了,更多相關MQTT服務器內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
使用gitlab在服務器上搭建私服git倉庫并上傳項目的操作方法
這篇文章主要介紹了使用gitlab在服務器上搭建私服git倉庫,并且上傳項目,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-12-12
寶塔面板phpMyadmin數(shù)據(jù)庫管理出現(xiàn)500錯誤的解決方法
寶塔面板phpMyadmin數(shù)據(jù)庫管理出現(xiàn)500錯誤的解決方法,經(jīng)常會出現(xiàn)數(shù)據(jù)庫管理phpMyadmin打不開,或則出現(xiàn)500內部服務器錯誤,本文介紹如果出現(xiàn)這個問題該如何解決2023-08-08
基于http.server搭建局域網(wǎng)服務器過程解析
這篇文章主要介紹了基于http.server搭建局域網(wǎng)服務器過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-10-10
在CentOS6.5上使用Jexus安裝部署ASP.NET MVC4和WebApi
本文主要介紹如何在CentOS6.5安裝Jexus,并介紹其常用命令以及如何創(chuàng)建和部署ASP.NET MVC4項目,從而實現(xiàn)跨平臺部署。2016-05-05
MongoDB學習筆記(六) MongoDB索引用法和效率分析
MongoDB中的索引其實類似于關系型數(shù)據(jù)庫,都是為了提高查詢和排序的效率的,并且實現(xiàn)原理也基本一致2013-07-07

