網關其實就是帶有心跳程序的數據推送器;PLC能控制設備并可編程的控制器;結合理解:用網關獲取PLC設備中的數據和狀態實時傳輸到服務器,而傳輸過程中則需要用到協議,我們常規使用的傳輸協議比如:tcp、ftp等,而物聯網的特性決定需要使用低功耗,于是就使用了MQTT協議進行傳輸。
MQ 遙測傳輸 (MQTT) 是輕量級基于代理的發布/訂閱的消息傳輸協議,設計思想是開放、簡單、輕量、易于實現。這些特點使它適用于受限環境。
該協議的特點有:
使用發布/訂閱消息模式,提供一對多的消息發布,解除應用程序耦合。
對負載內容屏蔽的消息傳輸。
使用 TCP/IP 提供網絡連接。
小型傳輸,開銷很小(固定長度的頭部是 2 字節),協議交換最小化,以降低網絡流量。
使用 Last Will 和 Testament 特性通知有關各方客戶端異常中斷的機制。
有三種消息發布服務質量:
“至多一次”,消息發布完全依賴底層 TCP/IP 網絡。會發生消息丟失或重復。這一級別可用于如下情況,環境傳感器數據,丟失一次讀記錄無所謂,因為不久后還會有第二次發送。
“至少一次”,確保消息到達,但消息重復可能會發生。
“只有一次”,確保消息到達一次。這一級別可用于如下情況,在計費系統中,消息重復或丟失會導致不正確的結果。
本次實驗過程中采用的MQTT服務端為“ Apollo服務器”,搭建過程如下:
1、 下載地址: http://activemq.apache.org/apollo/download.html
2、在bin/目錄下執行: apollo.cmd create mybroker ,創建服務器實例。
3、創建實例之后會在bin目錄下生成mybroker文件夾,cd至該目錄,CMD中執行:apollo-broker.cmd run,出現如下界面,則說明配置成功:
4、在瀏覽器中訪問后臺Web管理頁面:https://127.0.0.1:61681/或http://127.0.0.1:61680/,登錄之后則可以看到:
說明已經配置成功。
其次說幾個MQTT調試過程中要用到的工具:
1、ecplise paho:支持windows下可視化連接MQTT協議,通過配置MQTT協議的地址和參數,可以實現本地調試MQTT協議的狀態,如下圖所示:
暫時就這樣,未完待續--------------下節分解如何進行聯調,以及如何進行網關的配置----------------