7777色情网黄A片免费看蜜臀,JIZZYOU中国少妇高潮,国产精品无码免费专区午夜,游泳教练在水下狂c我,《密爱》床戏视频

關注官方微信

卓嵐MQTT和JSON轉Modbus網關用法

發布時間:2019-09-09 作(zuo)者:上海(hai)卓嵐 瀏覽量:11523
1.概述

本(ben)文介紹卓(zhuo)嵐支(zhi)持MQTT和(he)(he)JSON的(de)(de)設備的(de)(de)用(yong)法,支(zhi)持的(de)(de)設備包括(kuo)ZLAN5143、ZLAN8303-7、ZLAN1043、ZLAN7144等。其(qi)中ZLAN5143、ZLAN8303-7、ZLAN1043的(de)(de)固件版本(ben)要(yao)在(zai)1.577及以(yi)上(shang),ZLAN7144需要(yao)在(zai)1.489及以(yi)上(shang)。需要(yao)和(he)(he)zlvircom的(de)(de)5.09版本(ben)配合使用(yong)。

MQTT和JSON可(ke)以(yi)單獨使(shi)用也可(ke)以(yi)合起來(lai)使(shi)用。其中的JSON支持Modbus RTU格(ge)式轉(zhuan)化為(wei)JSON格(ge)式。

主要特點是:

1.采用(yong)MQTT為基礎的(de)協議(yi)和(he)服務器建立連接,采用(yong)訂閱發布的(de)形式(shi)進行數據通訊。

2.支持Modbus RTU寄存器(qi)的自主設計(ji)和自動采集。

3.支持將(jiang)特定的Modbus寄存(cun)器(qi)內容轉化為JSON格式定時主(zhu)動上發(fa)。

4.支(zhi)持在JSON格式中加入設備ID,方便云端(duan)識別(bie)設備。

5.支(zhi)持(chi)無符號(hao)(hao)數(shu)(shu)據和有符號(hao)(hao)數(shu)(shu)據,支(zhi)持(chi)小(xiao)數(shu)(shu)點表示,支(zhi)持(chi)4字節長(chang)度數(shu)(shu)據。

6.所(suo)有配(pei)置(zhi)都可以界面化配(pei)置(zhi)完成(cheng),用戶(hu)自(zi)主(zhu)配(pei)置(zhi)無需定制。

2.JSON
2.1.Modbus RTU轉JSON

卓嵐Modbus RTU轉JSON可以實現Modbus RTU表的自動采集(ji),并按照(zhao)JSON格式自動上發給(gei)云端服務器。

這里我們通過(guo)一個(ge)具體的案例來講解這個(ge)用法(fa)。

2.2.Modbus表

假設現在有(you)一個(ge)功能碼為(wei)3,地(di)址為(wei)1的(de)Modbus表,其寄(ji)存器(qi)地(di)址和(he)參數名如下。其中字節長度為(wei)4的(de)表示需要連續讀2個(ge)寄(ji)存器(qi)。

寄存器地址 參數名 字節長度 備注
0 當前總有功電能 4 無符號,保留2位小數
97 A相電壓 2 無符號,保留1位小數
98 B相電壓 2
99 C相電壓 2
100 A相電流 2 無符號,保留2位小數
101 B相電流 2
102 C相電流 2
119 頻率 2
356 A相有功功率 4 有符號,保留3位小數
358 B相有功功率 4
360 C相有功功率 4
362 總有功功率 4

所(suo)謂有符號(hao)是指(zhi),2字(zi)節或者4字(zi)節最(zui)高bit為符號(hao)位,例如0xFFFF將(jiang)被認為是-1。保留(liu)2位小數是指(zhi)將(jiang)數據當作整型轉化之后,小數點從最(zui)右邊向左(zuo)移動2位。

2.3.設備配置

我們按照設備作為(wei)客戶端的(de)方(fang)式(shi)進(jin)行配(pei)置。

使用SocketDlgTest,在(zai)本地(di)計算機1883端(duan)口監(jian)聽一(yi)個(ge)TCP服務器。

Socket模擬服務器接收數據

使用(yong)ZLVircom對設(she)備(bei)進行配置。

設備配置

點擊修(xiu)改配置,可以讓設備連接(jie)上SocketDlgTest工(gong)具(ju)。再(zai)次(ci)進入(ru)設備編輯對話(hua)框。點擊“固(gu)件和配置”按鈕(niu)。

下載界面

首先點擊(ji)“網頁目錄(lu)(lu)下(xia)(xia)載”進入(ru)配置(zhi)下(xia)(xia)載模式。然后(hou)選擇一(yi)個新的(de)(de)空目錄(lu)(lu),比如MQTTHTTPD目錄(lu)(lu)。防(fang)止之前的(de)(de)設(she)計(ji)有殘(can)留,請先點擊(ji)“清除全部”按鈕,這樣(yang)可(ke)以清空之前的(de)(de)設(she)計(ji)內(nei)容(rong)。設(she)計(ji)文件將會保存(cun)在這個目錄(lu)(lu),等(deng)一(yi)下(xia)(xia)可(ke)以通過點擊(ji)“下(xia)(xia)載”按鈕下(xia)(xia)載到(dao)設(she)備內(nei)部。

點擊“JSON配置”按(an)鈕。

JSON配置主界面

這(zhe)里的參(can)數說明(ming)如下(xia):

1.上(shang)(shang)發(fa)(fa)服(fu)務器時間:默認JSON數據每隔多少(shao)時間上(shang)(shang)發(fa)(fa)到(dao)服(fu)務器,服(fu)務器就是(shi)剛剛在設(she)備配置界面設(she)置的(de)目的(de)IP,單(dan)位是(shi)毫秒。

2.是否上發設(she)備(bei)(bei)ID:如果選擇1則會在每次上發的(de)JSON數據中(zhong)包(bao)含(han)有設(she)備(bei)(bei)的(de)ID,設(she)備(bei)(bei)ID就是在設(she)備(bei)(bei)編輯界面左上角看到(dao)的(de)設(she)備(bei)(bei)的(de)MAC地址。

3.ID的JSON關(guan)鍵(jian)詞(ci)(ci)是自己命名的ID對應的的JSON關(guan)鍵(jian)詞(ci)(ci),這(zhe)(zhe)里寫(xie)MyID,最長為32字節。這(zhe)(zhe)樣以(yi)后JSON格式中會增加”MyID”:”2850002F0EEC”的內容。這(zhe)(zhe)類(lei)似于注冊包,有(you)利于服務器識(shi)別(bie)是哪一臺(tai)設備發來的數據。

4.添加/查(cha)看:點擊后可以進行Modbus寄存器的設計,也可以查(cha)看目前已經(jing)內容。

5.刪除全部:刪除由(you)“添加/查看”按鈕(niu)設(she)計(ji)(ji)的所有的Modbus寄存器,方便重新開(kai)始(shi)設(she)計(ji)(ji)。

6.保(bao)存(cun)JSON設置:設計完成后(hou)只有點擊這(zhe)個按鈕才可以(yi)保(bao)存(cun)數據(ju)到剛才的下載(zai)目錄(lu),之(zhi)后(hou)可以(yi)下載(zai)到設備內部。

現在(zai)點擊“添加/查看(kan)”按鈕。對于(yu)之前的Modbus表(biao)的第一行:

寄存器地址 參數名 字節長度 備注
0 當前總有功電能 4 無符號,保留2位小數

對應的配置如下:

寄存器設置

這里的參(can)數(shu)說明如下:

1.第1個寄存器:這里的(de)1,表(biao)示現在(zai)的(de)設計界(jie)面是(shi)配置(zhi)第一(yi)個寄存器。

2.已經添加(jia)過:如果打勾(gou)說(shuo)明是已經添加(jia)的,查看已經配置的信息的時候會(hui)出現打勾(gou)的情況。

3.從站地址:Modbus的表地址。

4.Modbus功能碼:目前支持03和04功能碼。

5.寄存器地址(zhi):這里(li)對應的(de)0。

6.數據(ju)長度:這里對應是(shi)4字(zi)節。

7.數據格(ge)式(shi):這(zhe)里對應是無符號整型。

8.保(bao)留小數點:這里保(bao)留2位。

9.串口(kou)輪(lun)詢時間:這里設為100ms。是(shi)指這個寄(ji)(ji)存(cun)器和下個寄(ji)(ji)存(cun)器的輪(lun)詢的間隔,而不(bu)是(shi)這條(tiao)指令(ling)的輪(lun)詢間隔。

10.對應的(de)JSON關(guan)鍵詞(ci):對應上發的(de)JSON中的(de)keyword。例如(ru)”CurrentW”:232.12。

11.設計下一(yi)個:點擊(ji)后(hou)進入下一(yi)個寄存器的(de)設置(zhi)。

12.保存設計:完(wan)成設計,之后(hou)點擊上一個界面(mian)的“保存JSON配置”即可。

13.取消設(she)計(ji):取消當前的所有設(she)計(ji),如果(guo)是查看設(she)計(ji)內容,可以點擊這個(ge)按鈕退(tui)出。

這里點擊(ji)(ji)“設(she)計下一個”按鈕繼(ji)續(xu)設(she)計Modbus表中的其它寄存(cun)(cun)器(qi)。全部(bu)設(she)計完(wan)表格中的寄存(cun)(cun)器(qi)后,點擊(ji)(ji)“完(wan)成設(she)計”,然后點擊(ji)(ji)“保存(cun)(cun)JSON配置”后退出。然后點擊(ji)(ji)“下載(zai)web”頁(ye)面(mian)的“下載(zai)按鈕”

下載

然后點擊“確定”,設(she)備會自動(dong)重啟(qi)。如果沒有重啟(qi)請手(shou)動(dong)重啟(qi)。

2.4.新建Modbus模擬表

這(zhe)里使用Modbus Slave來模擬一(yi)個(ge)表

測試結果

測(ce)試結果顯示,使用(yong)Modbus slave工具模擬(ni)的儀表(biao)能夠(gou)被(bei)網關(guan)所采集。同時(shi)(shi)可以定時(shi)(shi),按照json格式上發到(dao)SocketDlgTest模擬(ni)的服務(wu)器(qi)軟件(jian)端。

3.MQTT

MQTT可(ke)以(yi)(yi)單獨(du)使(shi)(shi)用(yong)也(ye)可(ke)以(yi)(yi)和JSON功能配(pei)合使(shi)(shi)用(yong)。當單獨(du)使(shi)(shi)用(yong)的(de)(de)時(shi)候MQTT功能將(jiang)串(chuan)口(kou)(kou)數據透(tou)傳上發(fa)MQTT服務器。也(ye)就是(shi)將(jiang)串(chuan)口(kou)(kou)接收的(de)(de)數據作為MQTT的(de)(de)載(zai)荷。同時(shi)MQTT的(de)(de)載(zai)荷會以(yi)(yi)透(tou)傳的(de)(de)方式從(cong)串(chuan)口(kou)(kou)輸出(chu)。實現串(chuan)口(kou)(kou)轉MQTT。

3.1.設備配置

MQTT配置1

點擊(ji)“固件與(yu)配置(zhi)(zhi)”,彈(dan)出配置(zhi)(zhi)下載和(he)設計對話框:

MQTT配置2

這里選(xuan)擇(ze)“網頁(ye)目錄下載”,然(ran)后選(xuan)擇(ze)一(yi)個空(kong)的(de)目錄,比如MQTTHTTPD目錄,然(ran)后先(xian)點擊(ji)“清(qing)除全部(bu)”清(qing)除之前(qian)的(de)設(she)計(注意(yi)如果之前(qian)按有(you)JSON設(she)計的(de),則不要清(qing)除全部(bu),否則會(hui)清(qing)除之前(qian)的(de)JSON設(she)計)。然(ran)后點擊(ji)MQTT配(pei)置。

MQTT配置3

這里配置說明如下:

1.服(fu)(fu)務器(qi)域名(ming)或IP:這里填寫的是(shi)MQTT服(fu)(fu)務器(qi)的IP,最長為30個字符。

2.用戶(hu)名:是(shi)MQTT服務器的(de)用戶(hu)名。

3.密碼(ma):是這個用戶(hu)的登(deng)錄密碼(ma)。

4.客戶(hu)端ID:是MQTT的client ID。

5.訂閱主題:是這(zhe)(zhe)個(ge)(ge)設(she)備(bei)訂閱的主題,有其它設(she)備(bei)發布這(zhe)(zhe)個(ge)(ge)主題的時候(hou),服務(wu)器(qi)會下發給這(zhe)(zhe)個(ge)(ge)設(she)備(bei)。如果只是發布,一般無(wu)需填寫這(zhe)(zhe)個(ge)(ge)字段。

6.發布主題(ti):這個設(she)備(bei)串口轉(zhuan)MQTT的(de)時(shi)候向服務器(qi)發送(song)的(de)數據的(de)主題(ti)。

7.MQTT高級(ji)參(can)數:用于配置高級(ji)參(can)數。

8.保存(cun)MQTT設置:設計(ji)完畢點擊這個按(an)鈕進行保存(cun),然后點擊網頁下(xia)載目錄的“下(xia)載按(an)鈕”下(xia)載。

現在先點擊“MQTT高級(ji)(ji)參數”(一般(ban)無(wu)需配(pei)置高級(ji)(ji)參數):

MQTT高級參數配置

說明如下:

1.協議版本(ben)(ben):目前主流的是(shi)3.1.1版本(ben)(ben),如果(guo)需(xu)要(yao)選(xuan)擇3.1版本(ben)(ben),請在這里選(xuan)擇。

2.保(bao)活時間:MQTT的心跳(tiao)時間,最(zui)少為10秒,默認為60秒。

3.服務器清除(chu)訂閱(yue):客戶端斷線后服務器是否清除(chu)訂閱(yue)信息(xi)。

4.是否(fou)啟用遺愿:是否(fou)有遺愿。

5.遺(yi)愿主(zhu)題:遺(yi)愿主(zhu)題。

6.遺(yi)(yi)愿信(xin)息:遺(yi)(yi)愿的信(xin)息。

7.是否(fou)保存遺愿:服務(wu)器是否(fou)需要保持客戶端異(yi)常離線時發送給客戶端的遺愿消息。

8.遺愿質量:服(fu)務器發(fa)送的遺愿消息的交付質量級別(bie)。

9.訂閱質量:訂閱的交付(fu)質量級別。

10.發(fa)布質量:客戶端發(fa)布消息的交付質量級別。

11.是否(fou)保存發布:服務器是否(fou)保持最后一(yi)條消息(如果有新的客戶端訂閱(yue)則發送給客戶端)。

我們這里不修改高級參數(shu)。直接(jie)點擊“保存MQTT設置”。然后(hou)點擊“下載”

下載

下載完畢點擊確(que)定,此時(shi)會(hui)回到(dao)設(she)備管理(li)對話框,看(kan)到(dao)設(she)備的目的IP、工作模式、目的端(duan)口(kou)已經(jing)自動(dong)修改(gai)為MQTT的設(she)置:

自動修改

如果沒有自動(dong)修改(gai)則需要在設(she)備編輯對話(hua)框下,設(she)置目(mu)的IP、工作模式、目(mu)的端口。然后點擊“修改(gai)設(she)置”。

IP配置

這樣配置就完成了。

3.2.數據測試

連接完成后設(she)備的LINK燈(deng)(一(yi)般為(wei)中間的藍(lan)色燈(deng))變亮。說明設(she)備正常連接上MQTT服務(wu)器。

現在打開串口工具:

串口發送和接收

使(shi)用和設備(bei)一樣(yang)的波(bo)特率打開串口(kou),并發送(song)數(shu)據“dev send”,此(ci)后在(zai)接(jie)收(shou)窗口(kou)看到返回的數(shu)據“dev send”。這(zhe)(zhe)(zhe)是由于我(wo)們將(jiang)dev send這(zhe)(zhe)(zhe)個(ge)(ge)信(xin)息以(yi)zlansub的主(zhu)題發布給MQTT服務器。但是同時我(wo)們的設備(bei)也訂閱了(le)zlansub這(zhe)(zhe)(zhe)個(ge)(ge)主(zhu)題,所(suo)以(yi)服務器立刻(ke)會(hui)給我(wo)們發送(song)一個(ge)(ge)訂閱信(xin)息,訂閱信(xin)息的內容就是dev send。這(zhe)(zhe)(zhe)個(ge)(ge)信(xin)息作為MQTT的載(zai)荷發送(song)下載(zai),通過透傳的方式從串口(kou)輸出。

如果其(qi)它設備發布信息過來,這個設備也能夠收(shou)到數據。

一般來說(shuo),用戶可(ke)(ke)以直(zhi)接將串口指令(比如Modbus RTU)指令直(zhi)接透傳給(gei)MQTT服(fu)務器(qi)。另外也(ye)可(ke)(ke)以使用JSON功能,采(cai)用自動(dong)Modbus RTU格(ge)式采(cai)集,定時JSON格(ge)式上(shang)發的形式。另外也(ye)可(ke)(ke)以找上(shang)海卓嵐(lan)定制一些非標(biao)的儀表和(he)上(shang)位機協議(yi)格(ge)式。

4.MQTT+JSON轉Modbus RTU

將上(shang)述的(de)JSON和MQTT相(xiang)組合可(ke)以(yi)實現如下(xia)的(de)功能:

1.采用(yong)MQTT為(wei)基礎的協議和服務器建立連接,采用(yong)訂閱發布的形式進行(xing)數據通訊。

2.支持Modbus RTU寄存器(qi)的自主設計和(he)自動采(cai)集。

3.支持將特定的Modbus寄存器內容轉化為JSON格式(shi)定時主動上發(fa)。

4.支持在(zai)JSON格式(shi)中(zhong)加入設備ID,方便云(yun)端識別設備。

如果(guo)需要(yao)MQTT+JSON轉Modbus RTU功(gong)能的,可以分別設(she)計(ji)MQTT和(he)JSON,不分先(xian)后次序。設(she)計(ji)完一(yi)種不要(yao)點擊“清除設(she)計(ji)”按(an)鈕,兩個設(she)計(ji)完,一(yi)起點擊“下(xia)載(zai)”按(an)鈕下(xia)載(zai)到(dao)設(she)備(bei)內容。

一般可以(yi)下載后(hou)手動重啟設(she)備,加載設(she)置。