| ESP32 教學 | Mosquitto conf 設定與 MQTT 測試

Mosquitto MQTT Broker 在 v2.0 版後,更改了參數設定,預設值變成僅限定本機可以進行連線與操作,因此這篇來分享如何修改mosquitto conf 設定檔,啟動遠端連線機制,並加入使用者帳號與密碼,最後透過 Client 端軟體 MQTT Explorer 測試 publish 和 subscribe 功能,用以確認架設的 MQTT Broker 運作正常。

Tips: 如想知道如何安裝 Mosquitto MQTT Broker  到 windows系統,可以參考這篇:認識 MQTT 與安裝 Mosquitto MQTT Broker in Windows

1. Mosquitto conf 設定與啟動

在安裝 Mosquitto 到 windows 系統時,如果選擇預設的安裝,軟體檔案將會放在 C:\Program Files\mosquitto 下,打開檔案總管,移動到該目錄下,並且用 notepad++ (或其他編輯軟體) 打開 mosquitto.conf ,這就是軟體的設定檔,文件內針對各項設定都有詳細的說明,想要修改就把該項目前的#符號取消,填入參數值即可,不過可以填的參數真的很多,這邊就直接來分享如何新增使用者並允許外部連線:

>>> 如果需要使用者帳號密碼才可以連線

如果不允許匿名登入,一定要使用者帳號才可以連線,此時就要在 C:\Program Files\mosquitto 目錄下,新增使用者帳號清單的文件檔,如 usrlist.txt,檔案內容如下:(這邊範例新增3個帳號)

之後用系統管理員打開 PowerShell 切換到該目錄下執行:./mosquitto_passwd.exe -U usrlist.txt

此時再用 notepad++ 打開 usrlist.txt,會發現剛剛我們建立的密碼欄位會被加密過。

此時再來修改 mosquitto.conf 檔,打開在文件的末端加入下面文字,最後用系統管理員權限存檔即可。

allow_anonymous false
password_file C:\Program Files\mosquitto\usrlist.txt
listener 1883

mosquitto conf

>>> 啟動 MQTT Broker

待參數都設定好後,就可以開始來啟動 Mosquitto MQTT Broker 功能,先前於安裝流程建議大家先不用設定成為windows 服務,因此直接可透過 PowerShell 啟動。

首先切換安裝目錄下,打入 ./mosquitto.exe -c mosquitto.conf -v ,其中 -c 是指定config檔名,-v 是 verbose mode 詳細模式,如果啟動成功,Powershell 會將所有的 Broker 即時資訊顯示出來。

2. 測試 MQTT Broker

>>> 建立新連線

如果要測試我們架在 windows 上的 MQTT server 是否參數功能正常,可以透過 MQTT client 應用軟體來進行操作,可在windows平台上運行的 client 軟體很多,JIMI哥最常用的是 MQTT Explorer,相關網址如下:http://mqtt-explorer.com/,這套是由 作者 Thomas Nordquist 所寫的,目前雖是在 0.4.0-beta 階段,但如果只是要測試基本 publish 或 subscribe 機制已經相當好用,在 window 版本上同時提供安裝版與攜帶版,這也是JIMI哥喜愛用的原因之一。各位可以選擇適用的平台版本進行使用,下面為開啟軟體的操作界面:

在按下新增 『connections』 按鈕後,依序填入自訂名稱、主機IP位址與PORT、使用者帳號、密碼,按下Connect就可以啟動連線,順利連線成功後,左邊視窗就會出現內建的$SYS 的 topic 在左側畫面。

Tips: 萬一無法連線成功,可先測試本機是否OK(Host打入127.0.01或localhost)。

>>> 測試 Client 端功能

成功連線後,便可以透過操作介面來 Publish 訊息。

一旦 Broker 接收到訊息後,左邊欄位就會出現最新的訊息內容,如果想看該 Topic 相關的數字或訊息,就可以點右側標籤(如room_temp)的進行查閱,歷史內容也會被記錄其中。

3. 結語

這篇主要分享 Mosquitto 在安裝好後,如何更改相關的參數檔開啟遠端登入,畢竟物聯網的需求多是以遠端應用為主,再在配合一些好用 Client 軟體,確認 MQTT Broker 運作正常,大幅減少不必要的麻煩。其實 Mosquitto 也有提供 Client 端的功能,只是相較於視窗化的軟體(MQTT Lens/ MQTT Explorer等)還是沒有這麼直覺就是了,各位朋友可以視使用環境再去做調整吧!,

今天的內容就到這邊,如果有遇到什麼問題,歡迎在下面留言或寫信與我討論!~

↓↓↓↓↓↓賣場連結↓↓↓↓↓↓

歡迎大家有需要的話,可以多多支持一下我們的蝦皮賣場喔! 😀 

吉米家官方店-創客機器人材料專賣 https://shopee.tw/jimirobot.tw

Follow JIMI哥 Twitter : https://twitter.com/jimirobot  <–得到最新文章通知

發佈留言

Close Menu