方案特點
系統(tǒng)將影響水質(zhì)的參數(shù)數(shù)據(jù)以及歷史數(shù)據(jù)、船只檢測的運動軌跡、船只周邊的攝像監(jiān)控情況等統(tǒng)一展示在大屏上,清晰明了。
數(shù)據(jù)都是通過對應(yīng)的監(jiān)測儀和傳感器實時上傳的,實時且精準。
通過GPS技術(shù)獲取船只的經(jīng)緯度上傳,結(jié)合監(jiān)測的水質(zhì)參數(shù),能精準的獲取船只在每個監(jiān)測點的位置以及每個監(jiān)測點對應(yīng)的水質(zhì)、氣象數(shù)據(jù)。
通過大屏的圖表數(shù)據(jù)可知道近一周的水質(zhì)變化情況以及監(jiān)測情況。
想要監(jiān)測其他區(qū)域水質(zhì)情況,綁定不同的設(shè)備即可。
系統(tǒng)整體預(yù)覽效果

應(yīng)用場合
需要進行水質(zhì)監(jiān)測的區(qū)域都適用。
系統(tǒng)說明
系統(tǒng)通過海創(chuàng)可視化開發(fā)微微服務(wù)平臺采集數(shù)據(jù)上傳至阿里云平臺,海創(chuàng)可視化平臺再接收阿里云平臺的數(shù)據(jù)進行使用。結(jié)合大數(shù)據(jù)可視化看板,主要用于展示當(dāng)天監(jiān)測區(qū)域的水質(zhì)參數(shù)、當(dāng)天監(jiān)測不同區(qū)域水質(zhì)的變化程度、監(jiān)測次數(shù)、監(jiān)測船周圍的情況、近幾天水質(zhì)類別的變化情況以及檢測船的監(jiān)測軌跡生成等。
解決問題
- 采集水質(zhì)分析儀數(shù)據(jù)
- 攝像頭監(jiān)控控制
- 氣象儀數(shù)據(jù)分析
- 設(shè)備數(shù)據(jù)上云
- 船舶在湖上定位
- 等直線預(yù)測算法數(shù)據(jù)模型分析
- 運用網(wǎng)格式的方法將湖面劃分為若干個網(wǎng)格
- 預(yù)測該網(wǎng)格的水質(zhì)變化情況
系統(tǒng)解析
系統(tǒng)環(huán)境
軟件:海創(chuàng)可視化平臺、海創(chuàng)微服務(wù)、阿里云平臺、海創(chuàng)云平臺
硬件:水質(zhì)檢測儀、測深儀、氣象檢測儀、GPS、攝像頭、無人機
創(chuàng)建產(chǎn)品
在阿里云平臺分別創(chuàng)建產(chǎn)品“氣象數(shù)據(jù)”、“水質(zhì)監(jiān)測”,添加對應(yīng)屬性。


創(chuàng)建設(shè)備

剛創(chuàng)建的設(shè)備處于未激活狀態(tài)

數(shù)據(jù)采集和上傳
水質(zhì)數(shù)據(jù)采集
登錄海創(chuàng)可視化開發(fā)平臺,點擊服務(wù)開發(fā),選擇對應(yīng)項目,創(chuàng)建微服務(wù)“水質(zhì)監(jiān)測”,從左邊的節(jié)點列表選擇http、function、阿里云IOT、海創(chuàng)IOT和調(diào)試節(jié)點,填寫數(shù)據(jù)信息并連接。

- HTTP(請求指定數(shù)據(jù)接口,并返回數(shù)據(jù))


- function(數(shù)據(jù)轉(zhuǎn)換)

由于水質(zhì)分類需要依托不同的參數(shù)進行判斷以及將獲取到的數(shù)據(jù)賦值給對應(yīng)的設(shè)備屬性,需要用function節(jié)點進行數(shù)據(jù)轉(zhuǎn)換。


- 阿里云IOT(連接阿里云平臺指定產(chǎn)品下的指定設(shè)備)


- 海創(chuàng)可視化平臺(接收阿里云平臺下發(fā)的數(shù)據(jù))


- 調(diào)試(查看節(jié)點下發(fā)的數(shù)據(jù)內(nèi)容)

顯示當(dāng)前連接的節(jié)點下發(fā)的數(shù)據(jù)內(nèi)容,默認顯示msg.payload,調(diào)試節(jié)點可以接在任何節(jié)點的后端,用于查看節(jié)點的輸出數(shù)據(jù)是否有問題,便于調(diào)試。

氣象數(shù)據(jù)采集

登錄海創(chuàng)可視化開發(fā)平臺,點擊服務(wù)開發(fā),選擇對應(yīng)項目,創(chuàng)建微服務(wù)“氣象監(jiān)測”,從左邊的節(jié)點列表選擇定時器、modbus、阿里云IOT、海創(chuàng)IOT和調(diào)試節(jié)點,填寫數(shù)據(jù)信息并連接。下面挑選幾個節(jié)點進行介紹。

可根據(jù)需求選擇相應(yīng)內(nèi)容設(shè)置觸發(fā)屬性,因為要實時獲取氣象數(shù)據(jù),這里選擇時間戳,并設(shè)置每隔10秒觸發(fā)一次。



配置完成后,點擊部署即可。然后返回阿里云查看設(shè)備狀態(tài)和對應(yīng)數(shù)據(jù)。



登陸海創(chuàng)云平臺,在"數(shù)據(jù)報表欄"可通過各種形式查看數(shù)據(jù),從而更有效、直觀地對數(shù)據(jù)做出判斷。
水溫等值線圖

水溫網(wǎng)格點位圖

創(chuàng)建可視化大屏
場景設(shè)計制作
在海創(chuàng)可視化組態(tài)編輯器創(chuàng)建應(yīng)用“水質(zhì)監(jiān)測”,點擊“在線編輯”進入,在設(shè)計欄創(chuàng)建文件夾存放自己設(shè)計的元素,根據(jù)需求進行設(shè)計。以下便是水質(zhì)監(jiān)測看板的靜態(tài)設(shè)計過程,平臺擁有構(gòu)建復(fù)雜應(yīng)用所需的全套基礎(chǔ)模塊和組件,通過拖拉拽方法輕松實現(xiàn)炫酷大屏。

數(shù)據(jù)綁定
選擇需要綁定數(shù)據(jù)的組件,選擇綁定的微服務(wù)。

選擇需要綁定的標簽屬性和對應(yīng)的設(shè)備屬性。

動畫設(shè)置

攝像頭跳動動畫是引用了平臺自定義的setAnimation方法,通過這個方法可以實現(xiàn)組件的上下左右跳動、隱藏顯示、放大和縮小等。當(dāng)前是通過設(shè)置組件的位置(x,y)中的y屬性實現(xiàn)上下跳動:
node.setAnimation({//node為組件的標簽
amiStart: {//定義動作對象
property: "y",//獲取組件的屬性,可以是組件的y、x、opacity、width、height等屬性
from: startNum,//讓組件從最初的數(shù)值
to: endNum,//變化到最終的數(shù)值
frames: num,//動畫幀數(shù)
next: "amiEnd"//下一個要執(zhí)行的動作,amiEnd為自定義對象名稱
}
start: ["amiStart"]//從amiStart狀態(tài)開始動畫
在鼠標移入攝像頭組件時,設(shè)置圖片標簽隱藏,通過node.s("2d.visible",true)實現(xiàn),其中node為圖片的標簽,true則表明顯示該圖片。

圓圈旋轉(zhuǎn)則是通過平臺提供的hc.Default.startAnim動畫函數(shù)實現(xiàn)的。
hc.Default.startAnim({
frames: 12, // 動畫幀數(shù)
interval: 10, // 動畫幀間隔毫秒數(shù)
easing: function(t){ return t * t; }, // 動畫緩動函數(shù),默認采用`hc.Default.animEasing`
finishFunc: function(){}, // 動畫結(jié)束后調(diào)用的函數(shù)。
action: function(v, t){ // action函數(shù)必須提供,實現(xiàn)動畫過程中的屬性變化。
let y = (Math.PI/180)*(360*v);//v的變化范圍是0-1,y的變化從0-360,即旋轉(zhuǎn)一圈
node.a('rotation1', y);//設(shè)置圓圈的外圈順時針旋轉(zhuǎn)一圈
node.a('rotation2', -y);//設(shè)置圓圈的內(nèi)圈逆時針旋轉(zhuǎn)一圈
}
});
- 船只運動軌跡

首先添加平臺提供的地圖組件,其次綁定船只設(shè)備數(shù)據(jù)集,然后設(shè)置地圖展示的中心點位置以及地圖的縮放級別,最后綁定設(shè)備經(jīng)緯度,就能方便快捷的掌握船只運動軌跡。

以上就是一個水質(zhì)監(jiān)測預(yù)警系統(tǒng)的大概了,想要了解更多相關(guān)資訊,歡迎訂閱服務(wù)號“海創(chuàng)微聯(lián)”,或者掃描下方二維碼添加。

在日常生活中,做好水質(zhì)預(yù)警防控是重中之重,但是我們也要熱愛和保護我們生活的地球呀,從身邊小事做起,約用水不浪費、不污染,為創(chuàng)建和諧美好家園盡綿薄之力。
|