MQTT是一種發布(publish)/訂閱(subscribe)協議,MQTT協議采用發布/訂閱模式,所有的物聯網終端都通過TCP連接到雲端,雲端通過主題的方式管理各個設備關注的通訊內容,負責將設備與設備之間消息的轉發。MQTT 協議解決了物聯網中一個最基礎的問題:設備和設備之間、設備和雲端服務之間是如何進行數據通訊的。
圖 1 MQTT網關發布信息
上海卓嵐的MQTT網關ZLAN5143D起到將普通的串口數據、Modbus RTU數據等轉化為MQTT協議的作用,通過連接服務器、訂閱和發布主題來實現傳統設備和MQTT雲端的聯系。例如,筆記本和手機都向MQTT服務器訂閱了消息主題為溫度的消息,當MQTT網關向這個服務器發布溫度傳感器的消息(當前溫度為21℃),筆記本和手機都會收到發布的溫度。卓嵐的MQTT產品可以充當本地設備和MQTT雲服務器之間的橋梁。
除了數據采集網關通過模擬量和數字量對外接口外,其它MQTT網關都采用串口(RS485、RS232、RS422、TTL)來和設備對接。支持MQTT雲平台有百度雲、阿里雲等。
卓嵐MQTT網關的特色在於,不僅支持透傳,而且支持將各類串口協議轉化為JSON格式。且支持設備的自動采集。舉個例子來說,如果溫度傳感器采用的是Modbus RTU格式的串口協議,需要解決兩個問題:
- 自動采集:溫度傳感器采用的Modbus RTU協議需要每隔一段時間去詢問設備,並獲得當前溫度。但是MQTT協議屬於有消息就發布的機制MQTT服務器無法擔任這個任務,必須讓MQTT網關自動查詢溫度傳感器,並將獲得數據存儲起來,並定時上發服務器。卓嵐MQTT網關可以配置Modbus輪訓指令或者非標准的串口設備指令。
- 格式轉化:設備端采用的是十六進制指令,比如01 03 02 12 34 b5 33的數據,這種數據對於雲端比較難統一和識別。卓嵐MQTT網關支持將Modbus RTU數據轉化為JSON格式后上發,比如以上十六進制數據變為:{“power”:”1234”}這種格式。
總結一下卓嵐MQTT網關主要特點是:
- 采用MQTT為基礎的協議和服務器建立連接,采用訂閱發布的形式進行數據通訊。
- 支持Modbus RTU寄存器的自主設計和自動采集。
- 支持將特定的Modbus寄存器內容轉化為JSON格式定時主動上發。
- 支持在JSON格式中加入設備ID,方便雲端識別設備。
- 支持無符號數據和有符號數據,支持小數點表示,支持4字節長度數據。
- 所有配置都可以界面化配置完成,用戶自主配置無需定制。