建立一個 MQTT 測試環境

如何建立一個MQTT server的測試環境,在網路上有提供MQTT Broker的服務,其中免費的MQTT測試網站列表,如下:

1)      MQTT GOhttps://broker.mqttgo.io/,使用說明參考[1]

2)      EMQXhttps://www.emqx.com/,可用谷歌或Github帳號登錄,然後創建MQTT服務。特別留意,這個網站提供的連線方式為MQTT over TLS/SSL

 有了網路的Broker服務之後,我們需要設計一個訊息發佈的終端,來模擬IoT的設備。利用MQTTnet C# 設計一個client端的工具,可驗證MQTT連線與發佈,工具的操作畫面如下所示。


操作步驟

1)      設定broker網址以及連線的端口,標準端口:1883,或者TLS/SSL端口:8883。不過,這個MQTT GO網站使用標準端口連線,而且不需要user/password。按下Connect鈕後,無論成功與否,會彈出一個連線結果。

2)      成功後,設定右側的Topic欄位,然後再填寫訊息欄,最後按下Publish,這則訊息會傳送到MQTT GO網站,我們再到網站上檢視,如下圖。

3)      開啟瀏覽器到MQTT GO網站,先連線後,再訂閱主題。這裡的主題就是對應上面工具的Topic欄位,訂閱後,就能直接在瀏覽器上面看到工具傳送的訊息。

 


模擬測試

根據水利署的MQTT資料上傳文件[2],主題的格式為Datastream(物理量GUID)/Observations,而訊息內容為JSON格式。將GUID填入1為模擬代號,下圖是模擬的結果。

 


EMQX連線資訊

EMQX服務器的連線採用MQTT over TLS/SSL,其中連線的user帳號為peter,而password ********,網址為v351583c.ala.asia-southeast1.emqxsl.com。下圖是連線成功的情況,就可以進行發佈訊息了。

 


 如何訂閱這個主題?我們需要從瀏覽器連接這個網址http://cloud-tools.emqx.com/?host=v351583c.ala.asia-southeast1.emqxsl.com&port=8084&protocol=wss&lang=en,如下圖所示,填入user/password,再按Connect鈕。



 

參考資料

[1] 小霸王實驗室 台灣最快的MQTT上線了-夜市小霸王|痞客邦

[2] MQTT 資料上傳快速使用手冊.pdf

[3] 水利監測詮釋資料登記及上傳資料內容參考表.pdf

留言

此網誌的熱門文章

[筆記] ESP32 在 VS Code 開發環境的編譯與除錯

[筆記] Raspberry Pi 樹莓派的軟體開發

[應用] 在 ESP32 Audio 開發板的 VoIP 範例

[筆記] Visual Studio 遠端偵錯的設定步驟

[筆記] 整理控制器 STM32 與無線晶片 ESP32 資料

[筆記] Raspberry Pi 樹莓派的 I/O 介面開發 in Python

[應用] 藍芽 BLE client/server 架構:BLE remote controller