一、項(xiàng)目介紹
隨著中國(guó)經(jīng)濟(jì)的持續(xù)快速發(fā)展,城市進(jìn)程和工業(yè)化進(jìn)程的不斷增加,環(huán)境污染日益嚴(yán)重,國(guó)家對(duì)環(huán)保的重視程度也越來越高。近年來,由于國(guó)家加大了環(huán)保基礎(chǔ)設(shè)施的建設(shè)投資,有力拉動(dòng)了相關(guān)產(chǎn)業(yè)的市場(chǎng)需求,環(huán)保產(chǎn)業(yè)總體規(guī)模迅速擴(kuò)大,產(chǎn)業(yè)水平明顯提升。
為了響應(yīng)國(guó)家環(huán)境保護(hù)的需求號(hào)召,上海博取儀器有限公司研發(fā)了一款能夠?qū)崟r(shí)監(jiān)測(cè)水質(zhì)的變化情況的水質(zhì)監(jiān)測(cè)儀,能夠監(jiān)測(cè)包括氨氮、總磷、總氮、PH、溶解氧、電導(dǎo)率等多種水質(zhì)參數(shù),并且支持將水質(zhì)檢測(cè)數(shù)據(jù)上報(bào)至華為ROMA平臺(tái),搭建了一套針對(duì)于變電站油水混合物及外派水質(zhì)監(jiān)測(cè)解決方案
二、項(xiàng)目痛點(diǎn)和問題
1.水質(zhì)檢測(cè)主機(jī)目前僅支持現(xiàn)場(chǎng)查看水質(zhì)數(shù)據(jù),無法實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)監(jiān)測(cè),人員必須到現(xiàn)場(chǎng)才能了解水質(zhì)情況,導(dǎo)致運(yùn)維服務(wù)成本高,人工成本大,急需對(duì)接一款邊緣計(jì)算網(wǎng)關(guān),能夠?qū)崿F(xiàn)遠(yuǎn)程數(shù)據(jù)監(jiān)測(cè)和上報(bào)。
2.項(xiàng)目要求將檢測(cè)水質(zhì)監(jiān)測(cè)數(shù)據(jù)對(duì)接至國(guó)網(wǎng)湖北電科院所使用的華為ROMA平臺(tái),通過MQTT協(xié)議進(jìn)行數(shù)據(jù)上報(bào),經(jīng)過溝通后,發(fā)現(xiàn)ROMA平臺(tái)所需要的數(shù)據(jù)格式特定格式,比較復(fù)雜,市場(chǎng)上其他廠家網(wǎng)關(guān)無法滿足ROMA平臺(tái)的要求。
3.由于研發(fā)企業(yè)對(duì)平臺(tái)技術(shù)并不了解,對(duì)接ROMA平臺(tái)有很大的困難,進(jìn)行因此希望網(wǎng)關(guān)廠商能夠提供專業(yè)的對(duì)接方案,希望能夠在短時(shí)間內(nèi)實(shí)現(xiàn)數(shù)據(jù)對(duì)接。
三、方案總體設(shè)計(jì)
了解項(xiàng)目需求后,我們推薦使用藍(lán)蜂LF220網(wǎng)關(guān),與水質(zhì)檢測(cè)主機(jī)進(jìn)行設(shè)備對(duì)接,實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)監(jiān)測(cè)和上報(bào)。
藍(lán)蜂LF220網(wǎng)關(guān)作為一款支持MQTT協(xié)議的邊緣計(jì)算網(wǎng)關(guān),南向支持Modbus協(xié)議和其他多種PLC,北向支持MQTT協(xié)議,可將采集到的水質(zhì)監(jiān)測(cè)數(shù)據(jù)轉(zhuǎn)換為MQTT協(xié)議,上報(bào)給云平臺(tái),可通過腳本功能控制數(shù)據(jù)上報(bào)格式,滿足復(fù)雜的數(shù)據(jù)上報(bào)要求
平臺(tái)對(duì)接方面,通過查看ROMA平臺(tái)相關(guān)文檔和說明,與項(xiàng)目人員溝通后,我方制定了針對(duì)于ROMA平臺(tái)的上報(bào)數(shù)據(jù)協(xié)議格式,能夠在短時(shí)間內(nèi)實(shí)現(xiàn)低成本,高效率的數(shù)據(jù)對(duì)接
四、詳細(xì)方案說明
(系統(tǒng)架構(gòu)圖)
4.1硬件部署
1.水質(zhì)分析主機(jī)控制柜中安裝藍(lán)蜂網(wǎng)關(guān),使用4G卡進(jìn)行聯(lián)網(wǎng)通信
2.藍(lán)蜂網(wǎng)關(guān)使用RS485端口與水質(zhì)分析主機(jī)進(jìn)行連接,通過Modbus協(xié)議與設(shè)備進(jìn)行通訊,通過客戶提供的點(diǎn)位表設(shè)置對(duì)應(yīng)變量,實(shí)現(xiàn)邊緣側(cè)采集數(shù)據(jù)。
3.網(wǎng)關(guān)上電后,網(wǎng)關(guān)通過MQTT協(xié)議將采集到的數(shù)據(jù)通過4G卡上報(bào)至華為ROMA平臺(tái),實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)監(jiān)測(cè)和上報(bào)
4.2對(duì)接華為ROMA平臺(tái)
1.我方與ROMA平臺(tái)方約定好MQTT服務(wù)器的對(duì)接的服務(wù)器地址,賬號(hào),用戶名密碼,以及報(bào)文傳輸協(xié)議,經(jīng)過測(cè)試,順利通過MQTT協(xié)議進(jìn)行數(shù)據(jù)上報(bào)
3.我方提供藍(lán)蜂MQTT網(wǎng)關(guān)配置工具,通過藍(lán)蜂MQTT配置工具,能夠快速調(diào)試網(wǎng)關(guān)的相關(guān)MQTT參數(shù),包括服務(wù)器用戶名,地址,賬號(hào),上報(bào)數(shù)據(jù)主題,可支持遠(yuǎn)程方式進(jìn)行參數(shù)的配置和調(diào)試。
4.3配置驅(qū)動(dòng)和變量點(diǎn)位
4.3.1通過Modbus協(xié)議對(duì)接水質(zhì)檢測(cè)主機(jī)
水質(zhì)分析儀支持Modbus協(xié)議,藍(lán)蜂網(wǎng)關(guān)使用RS485端口與水質(zhì)分析主機(jī)進(jìn)行連接,通過Modbus協(xié)議與設(shè)備進(jìn)行通訊
通過藍(lán)蜂MQTT網(wǎng)關(guān)配置工具,進(jìn)行驅(qū)動(dòng)配置,可創(chuàng)建Modbus協(xié)議驅(qū)動(dòng),選擇RS485通訊口進(jìn)行配置,連接至水質(zhì)檢測(cè)主機(jī)。
4.3.2配置變量
根據(jù)項(xiàng)目需求,需要通過網(wǎng)關(guān)采集如下數(shù)據(jù)包括:COD、氨氮、總磷、總氮、PH、溶解氧、電導(dǎo)率、濁度、溫度、空調(diào)溫度、空調(diào)濕度、液位等參數(shù)
根據(jù)客戶提供的監(jiān)測(cè)水質(zhì)的點(diǎn)位表,在藍(lán)蜂MQTT網(wǎng)關(guān)配置工具中點(diǎn)擊變量管理功能,通過配置對(duì)應(yīng)的變量,用于網(wǎng)關(guān)進(jìn)行數(shù)據(jù)的采集和上報(bào)
添加變量功能中,允許用戶根據(jù)點(diǎn)位表,自行定義寄存器類型,數(shù)據(jù)類型,小數(shù)位數(shù),讀寫類型
4.4數(shù)據(jù)上報(bào)
4.4.1約定數(shù)據(jù)上報(bào)格式
根據(jù)與平臺(tái)方的溝通,平臺(tái)方提供了MQTT協(xié)議通信規(guī)范,要求按通信協(xié)議規(guī)范規(guī)定的主題和數(shù)據(jù)格式進(jìn)行數(shù)值上報(bào)
主題Topic
Topic | /v1/devices/{gatewayId}/datas |
消息發(fā)送方 | 邊設(shè)備 |
消息接收方 | 物聯(lián)網(wǎng)平臺(tái) |
參數(shù)說明
字段名 | 必選/可選 | 類型 | 參數(shù)描述 |
devices | 必選 | DeviceS[] | 設(shè)備數(shù)據(jù)。 |
DeviceS結(jié)構(gòu)體說明
字段名 | 必選/可選 | 類型 | 參數(shù)描述 |
deviceId | 必選 | String(256) | 平臺(tái)生成的設(shè)備唯一標(biāo)識(shí),對(duì)應(yīng)設(shè)備客戶端ID。 |
services | 必選 | List | 服務(wù)列表。 |
Services結(jié)構(gòu)體說明
字段名 | 必選/可選 | 類型 | 參數(shù)描述 |
serviceId | 必選 | String(256) | 服務(wù)ID。 |
data | 必選 | ObjectNode | 服務(wù)數(shù)據(jù)。 |
eventTime | 必選 | String(256) | 時(shí)間格式:yyyyMMdd’T’HHmmss’Z’ 如:20151212T121212Z。 |
JSON格式示例
{
"devices": [{
"deviceId": "D68NZxB4",
"services": [{
"data": {
"key": "value"
},
"eventTime": "20191023T173625Z",
"serviceId": "serviceName"
}]
}]
}
- 配置數(shù)據(jù)上報(bào)主題
通過藍(lán)蜂MQTT配置工具,可根據(jù)需要進(jìn)行配置上報(bào)主題和上報(bào)數(shù)據(jù)內(nèi)容,按照平臺(tái)方要求的數(shù)據(jù)格式,可使用腳本代碼編寫上報(bào)數(shù)據(jù)業(yè)務(wù)邏輯,匹配平臺(tái)方通信協(xié)議格式
為了匹配平臺(tái)方上報(bào)數(shù)據(jù)需求,做出如下配置:
- 主題內(nèi)容:/v1/devices/${sn}/datas
- 上報(bào)方式:選擇定時(shí)上報(bào),時(shí)間間隔為30秒
- 選擇自定義腳本加工方式,匹配數(shù)據(jù)上報(bào)格式
4.4.3 編寫腳本匹配上報(bào)數(shù)據(jù)格式要求
按照平臺(tái)方要求的數(shù)據(jù)格式,編寫對(duì)應(yīng)腳本,將采集到的數(shù)據(jù)轉(zhuǎn)換為對(duì)應(yīng)的JSON格式進(jìn)行數(shù)據(jù)上報(bào),腳本代碼如下:
function reportToJson(signalArray, system){
var data = {}
for(var i=0; i
var signal = signalArray[i];
data[signal.key] = signal.value
}
var dateStr = new Date().toISOString()
dateStr = dateStr.replace(/-/g, "")
dateStr = dateStr.replace(/:/g, "")
dateStr = dateStr.substr(0,15) + 'Z'
var json ={
devices: [{
deviceId: system.deviceId,
services: [{
data: data,
eventTime: dateStr,
serviceId: system.serviceId
}]
}]
}
return JSON.stringify(json);
}
4.4.4查看上報(bào)結(jié)果
通過第三方工具,訂閱數(shù)據(jù)上報(bào)的主題,可以看到網(wǎng)關(guān)已經(jīng)將采集到的數(shù)據(jù)按照通信協(xié)議格式上報(bào)給ROMA云平臺(tái)了
五、方案總結(jié)
5.1方案優(yōu)勢(shì)
- 藍(lán)蜂LF220為邊緣側(cè)計(jì)算網(wǎng)關(guān),相比傳統(tǒng)的透?jìng)骶W(wǎng)關(guān),能夠?qū)崿F(xiàn)自主采集,自主上報(bào),數(shù)據(jù)格式自動(dòng)轉(zhuǎn)換,相比市場(chǎng)上其他網(wǎng)關(guān),能夠完全滿足數(shù)據(jù)遠(yuǎn)程監(jiān)控的需求。
- 通過藍(lán)蜂MQTT網(wǎng)關(guān)腳本加工功能,能夠?qū)覴OMA平臺(tái)的MQTT通信協(xié)議,將復(fù)雜的數(shù)據(jù)上報(bào)格式
- LF220網(wǎng)關(guān)性能穩(wěn)定,功能強(qiáng)大,客戶端軟件操作簡(jiǎn)單容易上手,方便操作人員無需花費(fèi)過多時(shí)間,即可使用熟練,提升工作效率
-
變電站
+關(guān)注
關(guān)注
7文章
1198瀏覽量
41224 -
MQTT
+關(guān)注
關(guān)注
5文章
629瀏覽量
22286
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論