1、MQTT服務(wù)器軟件篩選
MQ遙測傳輸(MQTT)是輕量級基于代理的發(fā)布/訂閱的消息傳輸協(xié)議,設(shè)計思想是開放、簡單、輕量、易于實現(xiàn)。這些特點使它適用于低帶寬受限環(huán)境。
特點包括以下:
- 使用發(fā)布/訂閱消息模式,提供一對多的消息發(fā)布,解除應(yīng)用程序耦合。
- 對負載內(nèi)容屏蔽的消息傳輸。
- 使用TCP/IP提供網(wǎng)絡(luò)連接。
- 小型傳輸,開銷很?。ü潭ㄩL度的頭部是2字節(jié)),協(xié)議交換最小化,以降低網(wǎng)絡(luò)流量。
- 使用Last Will和Testament特性通知有關(guān)各方客戶端異常中斷的機制。
- 有三種消息發(fā)布服務(wù)質(zhì)量:
- (1)“至多一次”,消息發(fā)布完全依賴底層 TCP/IP 網(wǎng)絡(luò)。會發(fā)生消息丟失或重復(fù)。這一級別可用于如下情況,環(huán)境傳感器數(shù)據(jù),丟失一次讀記錄無所謂,因為不久后還會有第二次發(fā)送。
- (2)“至少一次”,確保消息到達,但消息重復(fù)可能會發(fā)生。
- (3)“只有一次”,確保消息到達一次。這一級別可用于如下情況,在計費系統(tǒng)中,消息重復(fù)或丟失會導(dǎo)致不正確的結(jié)果。
![]()
能夠搭建MQTT服務(wù)器的軟件有很多,比如:
- mosquitto,Eclipse Mosquitto使用 C 語言實現(xiàn)的 MQTT 服務(wù)器。
- EMQX,使用 Erlang 語言開發(fā)的 MQTT 服務(wù)器,內(nèi)置強大的規(guī)則引擎,支持許多其他 IoT 協(xié)議比如 MQTT-SN、 CoAP、LwM2M 等。
- Mosca,使用 Node.JS 開發(fā)的 MQTT 服務(wù)器,簡單易用。
- VerneMQ,使用 Erlang 開發(fā)的 MQTT 服務(wù)器。
本文是以mosquitto在windows下搭建過程為例進行介紹。
2、MQTT服務(wù)器軟件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"按鈕,至此安裝完成。
3、修改mosquitto配置,并啟動mosquitto服務(wù)
1、安裝完畢后,需要對配置文件進行修改,配置文件位置:D:\mosquitto\mosquitto.conf,如下:
2、這里我們主要是改一下偵聽端口和開啟用戶驗證(即設(shè)置用戶名和密碼)
2.1 修改偵聽端口
打開mosquitto.conf,找到linstener,取消前面的#注釋,并指定要偵聽的端口,如下:
listener 7788
2.2 設(shè)置用戶名密碼
2.2.1 找到找到allow_anonymous節(jié)點,這個節(jié)點作用是,是否開啟匿名用戶登錄,默認是true。打開此項配置(將前面的 # 號去掉)之后將其值改為true
修改前:#allow_anonymous
修改后:allow_anonymous false
2.2.2 找到password_file節(jié)點,這個節(jié)點是告訴服務(wù)器你要配置的用戶將存放在哪里。打開此配置并指定pwfile.example文件路勁(注意是絕對路勁)
修改前:#password_file
修改后:password_file D:\pwfile.example
3、在管理工具->服務(wù),中找到Mosquitto Broker,啟動mosquitto服務(wù),如下圖:
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服務(wù)進行重啟才能生效。
4、利用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 "消息測試"
如下圖:
5、可視化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服務(wù)器的信息,輸入對應(yīng)的參數(shù),如下圖:文章來源:http://www.zghlxwxcb.cn/news/detail-778211.html
11、點擊Connect按鈕,如下圖:
12、如果想訂閱一個主題,則點擊“New Subscription”按鈕,則出現(xiàn)新建訂閱對話框,如下圖:
13、輸入對應(yīng)的主題后,點擊“Confirm”按鈕,如下圖:
14、結(jié)合CMD窗口使用mosquitto_pub.exe發(fā)布工具發(fā)一個消息測試一下,如下圖:
從上圖中可以看出,訂閱的主題已經(jīng)接收到了測試的消息。文章來源地址http://www.zghlxwxcb.cn/news/detail-778211.html
到了這里,關(guān)于Windows下搭建MQTT服務(wù)器的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!