JSON數(shù)據(jù)采集網(wǎng)關(guān)是一種能夠?qū)⒏鞣N傳感器的數(shù)據(jù)采集后按照J(rèn)SON格式上傳服務(wù)器的網(wǎng)關(guān)。
JSON(JavaScript Object Notation)是java中的數(shù)據(jù)格式。例如{“power”:”100”, “time”:”10:12:23”}這樣的格式,由于它簡單易用,計(jì)算機(jī)和人都非常容易讀懂,所以漸漸成為一種通用的服務(wù)器數(shù)據(jù)交換格式。
介于物聯(lián)網(wǎng)的發(fā)展和云計(jì)算機(jī)、云服務(wù)器的普及,物聯(lián)網(wǎng)數(shù)據(jù)采用JSON格式上發(fā)服務(wù)器越來越受到歡迎。但是數(shù)據(jù)采集儀表一般采用RS485數(shù)據(jù)總線,采用Modbus RTU、國標(biāo)645等儀表協(xié)議,底層設(shè)備工程師熟悉此類設(shè)備協(xié)議,但是服務(wù)器開發(fā)工程師不熟悉;而底層設(shè)備工程師又不懂得如何通過網(wǎng)絡(luò)發(fā)送JSON格式數(shù)據(jù)給服務(wù)器開發(fā)工程師。所以需要一種設(shè)備能夠成為這種數(shù)據(jù)轉(zhuǎn)化的橋梁。
1.首先數(shù)據(jù)采集網(wǎng)關(guān)會(huì)根據(jù)配置,發(fā)送查詢數(shù)據(jù)給連接的RS485設(shè)備。
2.收到數(shù)據(jù)以后,網(wǎng)關(guān)會(huì)提取里面的數(shù)據(jù),并轉(zhuǎn)化為指定的格式,比如整型、小數(shù)等,然后將這個(gè)指令的返回?cái)?shù)據(jù)和json關(guān)鍵詞相對(duì)應(yīng)存儲(chǔ)起來。
3.網(wǎng)關(guān)會(huì)每隔一定時(shí)間上發(fā)json格式數(shù)據(jù)包到服務(wù)器。
1.上位機(jī)對(duì)接的協(xié)議可以為:MQTT協(xié)議+JSON、純JSON TCP/IP數(shù)據(jù)、HTTP POST+JSON和HTTP GET JSON數(shù)據(jù)。
2.下位機(jī)協(xié)議支持Modbus RTU協(xié)議、645儀表協(xié)議和非標(biāo)協(xié)議的定制。
3.所有的上發(fā)協(xié)議JSON格式和下位機(jī)協(xié)議都可以通過界面化設(shè)計(jì),無需編程。
4.支持在JSON格式中可以加入設(shè)備ID、時(shí)間、任意字符串。支持JSON格式的嵌套書寫方法。
5.上傳數(shù)據(jù)支持無符號(hào)數(shù)據(jù)和有符號(hào)數(shù)據(jù),支持小數(shù)點(diǎn)表示,支持4字節(jié)長度數(shù)據(jù),支持布爾型變量。
1.首先需要確認(rèn)設(shè)備的固件版本在1.581及其以上版本(對(duì)于2043),使用ZLVircom5.18搜索到設(shè)備后,進(jìn)入設(shè)備編輯,點(diǎn)擊“固件和配置”按鈕
2.選擇網(wǎng)頁目錄下載,選擇一個(gè)空的目錄,用于保存配置,然后點(diǎn)擊JSON配置。
3.在這里選擇上發(fā)服務(wù)器的時(shí)間間隔,以及上發(fā)的方式,比如MQTT、POST、GET等,然后點(diǎn)擊“添加/查看”按鈕,設(shè)計(jì)每個(gè)JSON和對(duì)應(yīng)的Modbus寄存器。
4.這里輸入這個(gè)JSON的關(guān)鍵詞為power,并且選擇它的Modbus地址的站地址、功能碼、寄存器地址,以及采集的數(shù)據(jù)的數(shù)據(jù)類型和小數(shù)點(diǎn)。這樣采集的這個(gè)Modbus寄存器內(nèi)容將會(huì)寫到power的后面,類似{“power”:”100”}。
5.如果還有設(shè)計(jì)則點(diǎn)擊“設(shè)計(jì)下一個(gè)”,否則點(diǎn)擊“保存設(shè)計(jì)”,在上一級(jí)對(duì)話框中點(diǎn)擊“保存JSON設(shè)置”,然后再上一級(jí)對(duì)話框中下載配置到設(shè)備內(nèi)部。
之后設(shè)備就會(huì)自動(dòng)采集站地址為1、功能碼為3、寄存器0的Modbus數(shù)據(jù),并主動(dòng)按JSON格式,每隔5秒鐘發(fā)送到服務(wù)器(當(dāng)然需要先設(shè)置設(shè)備連接到服務(wù)器)。
使用此方法設(shè)備工程師再也不用愁如何將Modbus儀表如何JSON格式對(duì)接云端了。