CR1000X MQTT通訊參數設置
首先需要在DevConfig軟件中中設置MQTT Broker的參數,轉到Setting Editor->MQTT選項卡。
點擊圖片查看大圖~
MQTT Enable
“MQTT Enable“參數:用於(yu) 使能MQTT功能,並且可使用TLS加密傳(chuan) 輸。
Campbell CLOUD Enabled
“Campbell CLOUD Enabled"參數:用於(yu) 使能Campbell Cloud功能。
MQTT Broker URL
“MQTT Broker URL"參數用於(yu) 輸入MQTT Broker的地址。這裏我們(men) 使用Mosquitto提供的免費用於(yu) 測試的服務器地址,在輸入框中輸入“test.mosquitto.org"。相應的在“Port No"對話框中輸入端口號1883。點擊“Apply"應用配置更改,可以看到“MQTT State"狀態變為(wei) “MQTT session established",CR1000X作為(wei) 客戶端已成功與(yu) MQTT Broker創建了連接。
MQTT Base Topic
“MQTT Base Topic"對話框用於(yu) 設置CR1000X發布消息的主題,可用“/“來劃分不同的主題級別。這裏我們(men) 設置為(wei) "cs/v1/“。
至此關(guan) 於(yu) MQTT參數設置完成
對於(yu) 需要發送的數據
需要通過CRBasic編程實現
CRBasic程序提供了多種用於(yu) 發送數據指令,包括:
MQTTPublish()
MQTTPublishConstTable
MQTTPublishTable()
下麵是一段簡單的代碼,用於(yu) 展示如何將DataTable中的數據發送到MQTT服務器:
點擊圖片查看大圖~
程序上傳(chuan) 到CR1000X後,通過DevConfig軟件查看可以看到“MQTT State"對話框變為(wei) “Publishing",表明CR1000X數采已經開始向MQTT服務器發布消息。
如何查看CR1000X發送到
MQTT的數據?
可以通過第三方的MQTT客戶端軟件訂閱CR1000X發布的消息。下麵我們(men) 使用MQTT-Explorer軟件來查看數據。
創建與(yu) MQTT服務器的連接,輸入MQTT服務器的URL和端口號,點擊“CONNECT"進行連接。
點擊圖片查看大圖~
可在搜索框中搜索CR1000X發布的主題,快速查找CR1000X發布的數據。
這裏我們(men) 在搜索框中輸入DevConfig軟件中設置的“MQTT Base Topic"參數"cs/v1/“,可快速找到CR1000X發布的消息。
點擊圖片查看大圖~
CR1000X發布的消息支持CSIJSON和GeoJSON兩(liang) 種格式,下麵是測試過程中的消息範本:
點擊圖片查看大圖~
MQTT優(you) 點在於(yu) ,可以以極少的代碼和有限的帶寬,為(wei) 遠程連接設備提供可靠的消息服務,作為(wei) 一種低開銷、低帶寬占用的及時通訊協議,使其在物聯網、小型設備、移動應用等方麵有較廣泛的應用。
MQTT是一種基於(yu) 客戶端-服務器的消息發布/訂閱傳(chuan) 輸協議。
MQTT協議是輕量、簡單、開放和易於(yu) 實現的。遵循發布/訂閱的模式,方便消息在設備之間傳(chuan) 遞,但消息不是直接從(cong) 發送端送到接收端(即點對點),而是由MQTT Broker(或者叫MQTT服務器)分發的。
MQTT允許用戶動態創建主題(不需要預先創建主題),運維成本低;MQTT協議可以把傳(chuan) 輸量降低以提高傳(chuan) 輸效率;提供服務質量(quality of service level:QoS)管理;不強製傳(chuan) 輸數據的類型和格式,保持很高的靈活性。