包敬海, 楊 迪, 侯昌華, 謝日廣
(欽州學院,廣西 欽州 535011)
基于云空間的近江牡蠣養(yǎng)殖監(jiān)控系統(tǒng)設(shè)計
包敬海, 楊 迪, 侯昌華, 謝日廣
(欽州學院,廣西 欽州 535011)
針對近江牡蠣養(yǎng)殖中自動化程度低、成本高等問題,提出一種基于云空間設(shè)計近江牡蠣養(yǎng)殖監(jiān)控系統(tǒng)。以STM32F103為底層控制核心,通過YS8166B、SIN-D0530和超聲波模塊實時采集海水的pH、溶氧(DO)、溫度和深度,并通過nRF24L01以無線方式發(fā)送到上位機。上位機采用C#多線程通信程序與云空間進行交互。系統(tǒng)采用ASP動態(tài)技術(shù)云空間,通過輕量級數(shù)據(jù)交換格式JSON與上位機、用戶進行快速通信,利用AJAX實現(xiàn)無刷新顯示。用戶通過智能手機可以隨時隨地訪問云空間,掌握養(yǎng)殖現(xiàn)場的實時信息,并結(jié)合云空間嵌入的本地天氣信息,對浮排電機、增氧機、投飼機進行遠程控制。結(jié)果表明:系統(tǒng)具有成本低廉、穩(wěn)定可靠、響應(yīng)快速等優(yōu)點?;谠瓶臻g的監(jiān)控系統(tǒng)為近江牡蠣養(yǎng)殖智能化提供了一種新方法。
云空間;近江牡蠣;監(jiān)控系統(tǒng);STM32F103;溶氧
近江牡蠣(OstrearivularisGould)是北部灣的名貴特產(chǎn),具有肉嫩鮮美、高蛋白、低脂肪、低膽固醇、低卡路里等優(yōu)點,深受群眾喜愛[1]。近江牡蠣養(yǎng)殖已經(jīng)有了700多年的歷史,也是南方沿海最主要的經(jīng)濟貝類[2]。近江牡蠣養(yǎng)殖主要采用浮排(浮閥)吊養(yǎng)方式,也就是在幼苗貝殼邊緣鉆孔,再以鐵絲等繩索串起來,吊在木排、竹排等各種浮排之下[3-4]。水環(huán)境是高效水產(chǎn)養(yǎng)殖的關(guān)鍵,水質(zhì)惡化會給養(yǎng)殖戶帶來極大的損失[5-6]。由于抽砂、淘礦和企業(yè)偷排污染物等的影響,容易出現(xiàn)水質(zhì)惡化和淤泥淤積的情況,造成幼苗大批死亡甚至顆粒無收,因此近江牡蠣養(yǎng)殖需要密切檢測水質(zhì)變化[7]。另外,近江牡蠣養(yǎng)殖還需要對浮排進行控制,如果浮排密集在岸邊,蠔苗所獲得的浮游生物較少,生長緩慢。因此,在風浪較小的時候,應(yīng)釋放繩索,使浮排能分散到更深的海域;而在風浪較大的時候,需要及時收縮繩索,將浮排集中到岸邊,以避免大風大浪的破壞。目前近江牡蠣養(yǎng)殖中的水質(zhì)監(jiān)測和浮排控制基本上還是沿用傳統(tǒng)手工操作的方式,效率低下、成本較高,難以及時發(fā)現(xiàn)隱患。為此,本設(shè)計以STM32F103為底層控制核心,通過傳感器實時獲取養(yǎng)殖現(xiàn)場的環(huán)境參數(shù),并通過上位機傳輸?shù)皆瓶臻g,使得用戶能夠通過智能手機等移動終端隨時隨地掌握現(xiàn)場情況,并結(jié)合天氣信息對蠔排進行遠程控制。
針對養(yǎng)殖戶的需求,經(jīng)過研究和比較,提出一種基于云空間的解決方案,其架構(gòu)如圖1所示。
圖1 系統(tǒng)架構(gòu)框圖
該架構(gòu)具有如下幾個特點:第一,基于云空間,能夠滿足養(yǎng)殖戶隨時隨地訪問的需求??茖W養(yǎng)殖離不開日常數(shù)據(jù)的采集和分析,而云技術(shù)是數(shù)據(jù)中心的發(fā)展趨勢[8]。云空間一般指建立在互聯(lián)網(wǎng)中的服務(wù),常見的有Amazon、阿里云[9]、百度云、新浪云以及其他動態(tài)技術(shù)空間等。第二,實時采集,遠程控制。水溫、pH、溶氧(DO)等參數(shù)的精準測量至關(guān)重要[10],需要實時采集。增氧機、投飼機是水產(chǎn)養(yǎng)殖不可或缺的設(shè)備[11-12],對其實現(xiàn)自動化遠程控制,能夠極大提高效率,更好幫助蠔苗生長,并降低勞動人力成本。第三,穩(wěn)定可靠。云服務(wù)器難免出現(xiàn)故障,而上位機可有效保障歷史記錄的完整性。有線網(wǎng)絡(luò)布線較為繁瑣;常見的GSM無法做到實時在線,GPRS要求上位機必須具有固定公網(wǎng) IP 地址及固定端口[13]。為避免延遲、不穩(wěn)定、配置復雜等問題,采用了底層nRF24L01無線通信、上層計算機網(wǎng)絡(luò)通信的結(jié)構(gòu),確保穩(wěn)定快速的數(shù)據(jù)通信。第四,低成本。常規(guī)的ASP、PHP、NET等專用云空間價格并不高,部分免費空間同樣值得嘗試;上位機主要用于數(shù)據(jù)存儲和通信,要求較低,廉價的低端計算機完全可以勝任;控制器采用性價比較高的STM32F103;傳感器采用國內(nèi)工業(yè)級產(chǎn)品,能夠有效降低系統(tǒng)成本和維護費用。
采用STM32F103作為微控制器。內(nèi)核是基于32位的ARM Cortex-M3[14],主頻高達72 MHz,SRAM可達64 KB,F(xiàn)lash可達512 KB,快速IO接口最多112個,定時器、ADC、DMA、IIC、SPI等各種資源較為豐富,低電壓低功耗,特別適合智能控制系統(tǒng)。
采用工業(yè)在線溶氧檢測儀SIN-D0530,集成了水溫的檢測功能。溶氧采集精度為±0.5% FS,溫度精度為±0.3℃,在0~60℃的環(huán)境下可以實現(xiàn)自動溫度補償。溶氧檢測儀采用Modbus協(xié)議進行通信[15]。Modbus協(xié)議一般采用RS485總線,最大傳輸距離為1 500 m。由于總線上存在多個傳感器,因此溶氧檢測儀在使用前,還需要通過對每個設(shè)備分配地址進行識別。分配好地址后,可以對設(shè)備進行溶氧、水溫的操作。其命令格式見表1。溶氧檢測儀接收到串口發(fā)送過來的命令后,會返回一組17個字節(jié)的數(shù)據(jù)。其中,溶氧數(shù)據(jù)位于3、4位字節(jié),溫度數(shù)據(jù)位于5、6位字節(jié)。例如,某次采集中,第3個字節(jié)的數(shù)值為22H,第4個字節(jié)的數(shù)值為F3H,則溶氧的含量為:O2=22H×256+F3H =8.95 mg/L
表1 溶氧檢測儀的命令格式
采用pH傳感器YS8166B檢測pH。該傳感器采用凝膠電極和玻璃敏感膜等材料,精度為±0.01,寬電壓設(shè)計,廣泛應(yīng)用于水產(chǎn)養(yǎng)殖、污水處理、大棚土壤檢測、池塘等場所。YS8166B采用Modbus協(xié)議和RS485總線進行通信,設(shè)備響應(yīng)后,返回的數(shù)據(jù)格式為:[設(shè)備地址][命令號][返回的字節(jié)個數(shù)][數(shù)據(jù)1][數(shù)據(jù)2][CRC16校驗]。例如某次獲取的數(shù)據(jù)為031EH,則轉(zhuǎn)換為十進制為:3×256+1×16+14=798,即pH為7.98。
采用超聲波技術(shù)進行水位測量[16]。其原理為:采用超聲波模塊發(fā)出40 kHz左右的超聲波,根據(jù)水面、海底兩次反射的時間差,結(jié)合聲波在海水中的速度,從而計算出水位的高低。
投飼機、增氧機是簡單的開關(guān)型設(shè)備,根據(jù)用戶指令,通過繼電器控制對應(yīng)插座的通斷即可。浮排電機的控制稍微復雜一點。由于海中浮排的阻力不是很大,為節(jié)約成本和便于控制,采用常見的大功率單相交流電機。電機與浮排之間通過繩索連接,通過控制電機的啟停、正反轉(zhuǎn),就能夠?qū)崿F(xiàn)繩索的釋放和收縮。在風浪較小的時候,用戶可以發(fā)出指令,微控制器STM32F103控制電機反轉(zhuǎn),釋放繩索,使得浮排能夠隨著海浪擴散,蠔苗能更好地獲得浮游生物。而在風浪較大的時候,用戶發(fā)出電機正轉(zhuǎn)、繩索收縮的指令,浮排會逐漸靠攏到岸邊,避免風浪毀壞。其中,STM32F103與浮排電機之間的接線如圖2所示。GPIO1是STM32F103的輸出端口,作為方向控制開關(guān),經(jīng)過繼電器RL1與電源、電機的1、3腳相接。而GPIO2作為電機的啟停開關(guān),經(jīng)過RL2與電源、電機的2腳相接。因此,引腳GPIO2-GPIO1輸出10或11均可關(guān)閉電機,輸出00為正轉(zhuǎn),01為反轉(zhuǎn)。由于STM32F103的快速端口多達112個,并行控制多個電機并不困難。
圖2 浮排電機的接線圖
nRF24L01是中短距離無線通信中使用最廣泛的無線芯片之一,具有ISM頻段、快速SPI接口、低功耗、穩(wěn)定可靠等優(yōu)點,其工作于2.4GHz,具有125個可選頻道[17],加上功率放大器(PA)天線后在海邊空曠區(qū)域傳輸距離可達千米,能夠滿足近江牡蠣養(yǎng)殖監(jiān)控的無線傳輸需求。
底層模塊程序通過Keil MDK和C語言編寫,主要任務(wù)有采集pH、溶氧、水溫、水位和控制浮排電機。由于超聲波檢測水位和電機控制并不復雜,以下主要分析其他3個關(guān)鍵參數(shù)的采集。第一步,給YS8166B分配地址0x01,SIN-D0530地址為0x02。如果還有其他的Modbus協(xié)議的傳感器,也同樣接到同一對RS485總線并分配不同地址即可。第二步,定義發(fā)送給YS8166B和SIN-D0530的命令數(shù)組pH_addr[8]和O2_addr[8],接收pH、氧氣的數(shù)組pH[8]、O2[17]。第三步,設(shè)置進程標志位flag,用于在主程序、傳感器串口通信中進行協(xié)調(diào)。其中,0表示發(fā)送氧氣傳感器地址,1為采集氧氣、水溫,2為采集氧氣完畢并發(fā)送pH傳感器地址,3為采集pH,4表示采集pH完畢并發(fā)送數(shù)據(jù)給上位機。
另外,由于傳感器無法每次都能獲得響應(yīng),因此還要設(shè)置一個時間閾值。該系統(tǒng)設(shè)置10 s內(nèi)無法正確接收到數(shù)據(jù),就自動清除所有變量并重啟傳感器模塊。
上位機程序通過Visual Studio和C#編寫,主要功能是連接云空間與微控制器。上位機工作后,會啟動4個線程(表2)。
需要注意兩個問題:一是速度控制。微控制器與上位機之間的通信較為穩(wěn)定,采用常用9 600 b/s即可。由于互聯(lián)網(wǎng)環(huán)境變化較大,必須進行延時,否則很容易出錯。根據(jù)國內(nèi)免費云空間的速度情況,每寫入一次,等待5 s后再判斷寫入是否成功;讀取用戶要求時也應(yīng)經(jīng)過2 s延時。二是數(shù)據(jù)更新控制,也就是信息有變化才發(fā)送,以減少通信量。
云空間主要用于數(shù)據(jù)存儲和用戶交互。云空間通常有C/S和B/S兩種服務(wù)模式,后者更便于用戶通過瀏覽器快捷訪問[18]。目前越來越多的水質(zhì)養(yǎng)殖監(jiān)控系統(tǒng)采用了B/S模式[19],為了獲得最大的靈活性和最低成本,本系統(tǒng)采用了動態(tài)服務(wù)器頁面(ASP)免費云空間。
不同的云空間往往采用不同的技術(shù),數(shù)據(jù)庫也大相徑庭。如果在上位機中直接訪問數(shù)據(jù)庫,很可能無法獲取權(quán)限,同時也降低了系統(tǒng)的通用性。為此,本系統(tǒng)采用輕量級數(shù)據(jù)交換格式JSON的解決方案。與傳統(tǒng)的XML相比,JSON體積更小,速度更快,解析更容易[20]。云空間模塊的主要頁面或文件見表3。
表3的關(guān)鍵頁面主要是change.asp和get.asp。一方面,上位機將motor(STM32F103控制電機的端口)、deep、PH、oxygen、temperature等5個參數(shù)的數(shù)值打包到JSON字符串,并通過HttpWebRequest發(fā)送到change.asp,從而更新數(shù)據(jù)庫。例如,某次發(fā)送的數(shù)據(jù)格式為Ostrea rivularis Gould={motor: “56”,deep:“231”,pH:“7.8”,oxygen:“9.6”,temperature:“21.3”}。另一方面,上位機通過StreamReader讀取get.asp頁面的數(shù)據(jù),經(jīng)過JSON.parse()解析后獲取養(yǎng)殖戶對浮排電機的控制要求。
表3 云空間的頁面
經(jīng)過前面的硬件配置、程序設(shè)計,可以將底層、上位機、云空間這3個模塊整合在一起,其工作流程如圖3所示。
圖3 系統(tǒng)工作流程
可以看出,該系統(tǒng)的具體功能包括:采集pH、溶氧、水溫、水位數(shù)據(jù);獲取浮排電機、增氧機、投飼機等設(shè)備的狀態(tài);底層數(shù)據(jù)經(jīng)過STM32F103、上位機進入云空間并存儲到數(shù)據(jù)庫中;通過智能手機、平板、計算機等終端,可以從云空間看到實時信息;在云空間界面進行操作,可以控制底層的電機設(shè)備。
第一步,啟動STM32F103等底層設(shè)備。如果能夠順利工作,串口通信芯片會不斷閃亮并往上位機發(fā)送信息;第二步,啟動上位機,觀察收到的數(shù)據(jù)是否正確;第三步,在上位機程序中,通過手動方式,測試底層設(shè)備能否正常響應(yīng),測試與云空間之間能否正常通信,如果系統(tǒng)正常,則對應(yīng)的底層電機會啟動,對應(yīng)的Web頁面會自動更新數(shù)據(jù),同時也會顯示從Web數(shù)據(jù)庫中獲取的信息;第四步,進入自動收發(fā)的通信狀態(tài),此時用戶通過智能手機訪問云空間,即可獲取現(xiàn)場的實時信息,并進行底層電機的控制。
近江牡蠣養(yǎng)殖監(jiān)控系統(tǒng)的云空間主要實現(xiàn)3個功能:(1)通過不同顏色區(qū)分底層設(shè)備的工作狀態(tài),默認情況下,按鈕背景為白色,設(shè)備不工作;按下按鍵后,底層設(shè)備工作;云空間獲得反饋后,頁面會自動更新。由于采用了AJAX無刷新的技術(shù),數(shù)據(jù)量少,頁面不刷新不抖動,用戶體驗良好。(2)顯示水深、pH、溶氧、水溫等環(huán)境因素。(3)提供調(diào)整時間、查看歷史數(shù)據(jù)、清空設(shè)備狀態(tài)和用戶的目標要求。其中,底層設(shè)備默認工作10 min后自動停止,也可以通過“調(diào)整時間”鏈接進行自定義設(shè)置。
由于海上風浪的變化較大,加上北部灣混合潮較為復雜[21],因此浮排電機的控制還不能完全脫離人工管理。為了方便用戶更好的制訂控制策略,云空間嵌入了天氣網(wǎng)的子頁面,被調(diào)用地址為http://i.tianqi.com/index.php? c=code&a=getcode&id=7&h=90&w=225。另外,由于免費云空間提供的是三級域名,地址較長,為了方便用戶訪問,系統(tǒng)設(shè)置了二維碼,用戶可以通過掃描快捷進入。
免費云空間可以有效降低系統(tǒng)成本,但性能是否能夠滿足監(jiān)控系統(tǒng)的需求,需要通過測試檢驗。在實際測試中,經(jīng)過算法優(yōu)化之后,性能較為穩(wěn)定,速度也還可以。用戶通過手機發(fā)出控制命令后,底層設(shè)備基本上在2 s左右就能響應(yīng);而再經(jīng)過微控制器反饋到云空間,并進行AJAX無刷新顯示,整個周期基本上能控制在10 s以內(nèi),完全可以滿足近江牡蠣監(jiān)控的需要。性能測試情況見表4。
表4 測試效果
針對近江牡蠣養(yǎng)殖自動化程度較低、成本較高的難題,設(shè)計了基于云空間的近江牡蠣養(yǎng)殖監(jiān)控系統(tǒng)。采用STM32F103、上位機、云空間的三層架構(gòu),實時采集海水的pH、溶氧、溫度和深度等參數(shù)并送入云空間。用戶通過智能手機,能夠隨時隨地訪問云空間,掌握現(xiàn)場環(huán)境信息并對底層的浮排電機、增氧機、投飼機進行遠程控制。采用云空間方式能夠有效降低系統(tǒng)成本,系統(tǒng)響應(yīng)能夠滿足近江牡蠣養(yǎng)殖監(jiān)控需求。本研究為近江牡蠣養(yǎng)殖提高智能化提供了一條新的途徑。
□
[1] 包敬海,梁廣柱,楊永蘭,等.基于LabVIEW的大蠔養(yǎng)殖智能監(jiān)測系統(tǒng)的設(shè)計[J].欽州學院學報,2017,32(5):8-13,45.
[2] LAM K,MORTON B.Mitochondrial DNA and morphological identification of a new species ofCrassostrea(Bivalvia: Ostreidae) cultured for centuries in the Pearl River Delta,Hong Kong,China[J].Aquaculture,2003,228(1/4):1-13.
[3] 檀寧,曾尚偉,陳泳先,等.近江牡蠣浮筏式養(yǎng)成技術(shù)[J].海洋與漁業(yè),2016(12):54-55.
[4] 黎小正,吳祥慶,吳明媛,等.廣西欽州近江牡蠣增養(yǎng)殖區(qū)浮游植物生物量研究[J].安徽農(nóng)業(yè)科學,2011,39(32):19867-19868,20001.
[5] 付煥森,劉立軍,吳雷,等.水產(chǎn)養(yǎng)殖環(huán)境監(jiān)控系統(tǒng)的開發(fā)與試驗[J].中國農(nóng)機化學報,2015,36(4):73-76.
[6] 周皓東,黃燕,劉煒.基于Zigbee和GPRS的水質(zhì)監(jiān)測系統(tǒng)節(jié)能設(shè)計[J].漁業(yè)現(xiàn)代化,2017,44(4):24-29.
[7] 王倩,黃鵠,佟智成.欽州茅尾海大蠔增養(yǎng)殖區(qū)水污染狀況與控制對策[J].廣西師范學院學報(自然科學版),2016,34(1):102-108.
[8] 陶迎春,劉光,龐京輝,等.構(gòu)建面向個性化服務(wù)的特大城市云空間數(shù)據(jù)中心[J].測繪通報,2017(2):10-13,24.
[9] 王爽,陳俊杰,肖錚,等.應(yīng)用阿里云搜索服務(wù)構(gòu)建圖書館站內(nèi)搜索引擎[J].現(xiàn)代圖書情報技術(shù),2013(6):85-89.
[10] 劉熙明,王義,聶思敏.基于分布式無線網(wǎng)絡(luò)的水質(zhì)監(jiān)控系統(tǒng)設(shè)計[J].漁業(yè)現(xiàn)代化,2017,44(4):50-56.
[11] 徐皓,田昌鳳,劉興國,等.養(yǎng)殖池塘增氧機制與裝備性能比較研究[J].漁業(yè)現(xiàn)代化,2017,44(4):1-8.
[12] 劉思,俞國燕.工廠化養(yǎng)殖自動投餌系統(tǒng)研究進展[J].漁業(yè)現(xiàn)代化,2017,44(2):1-5.
[13] 呂敏,李冰,鄒君.基于GPRS/GSM技術(shù)的一體化積水監(jiān)測裝置[J].人民長江,2017,48(10):6-8.
[14] 叢培田,白志強,朱星橋,等.基于STM32F103的旋轉(zhuǎn)角度測量裝置設(shè)計[J].工具技術(shù),2017,51(1):108-110.
[15] 翟健健,許四祥,王忍寶,等.基于MODBUS協(xié)議的鎂熔液含氫量自動檢測接口設(shè)計[J].有色金屬工程,2017,7(4):32-35.
[16] 朱良君,張光輝,胡國芳,等.坡面流超聲波水深測量系統(tǒng)研究[J].水土保持學報,2013,27(1):235-239.
[17] 劉婷.基于nRF24L01和STM32的定量裝車站無線控制系統(tǒng)[J].工礦自動化,2015,41(6):104-106.
[18] 馬從國,趙德安,王建國,等.基于無線傳感器網(wǎng)絡(luò)的水產(chǎn)養(yǎng)殖池塘溶解氧智能監(jiān)控系統(tǒng)[J].農(nóng)業(yè)工程學報,2015,31(7):193-200.
[19] 張滬寅,屈乾松,胡瑞蕓.基于JSON的數(shù)據(jù)交換模型[J].計算機工程與設(shè)計,2015,36(12):3380-3384.
[20] 陳波,侍茂崇,郭佩芳,等.北部灣北部潮流譜分析和余流特征研究[J].廣西科學,2014,21(1):54-63.
[21] 盛平,王英杰,倪冬瑋.基于實時水質(zhì)參數(shù)的智能養(yǎng)殖裝備設(shè)計[J].漁業(yè)現(xiàn)代化,2017,44(1):1-5.
DesignofthemonitoringsystembasedoncloudspaceforOstrearivularisGouldfarming
BAOJinghai,YANGDi,HOUChanghua,XIERiguang
(QinzhouUniversity,QinZhou,GuangXi535011,China)
In order to resolve the problems of low degree of automation,high costs,etc.inOstrearivularisGouldfarming,a monitoring system based on cloud space forOstrearivularisGouldfarming is brought up.The system adopts STM32F103 as the core of bottom control,collects real-time data of the seawater’s pH,dissolved oxygen,temperature and depth through YS8166B,SIN-D0530 and ultrasonic modules,which will be wirelessly sent to the upper computer via nRF24L01.The upper computer adopts C# multi-thread communication program to interact with cloud space.The system adopts cloud space based on the ASP dynamic technology and the lightweight data interchange format JSON to fastly communicate with the upper computer and users,and provides no refresh display by utilizing AJAX.This allows users access to cloud space anytime and anywhere via intelligent mobile phones,and obtain real-time information at the farming site.Meanwhile,according to the local weather information embedded in cloud space,users can control floating row motors,oxygen generators and dispensers remotely.Tests showed that the system has the advantages of low costs,stability and reliability,fast response and so on.This monitoring system based on cloud space provides a new method for the intellectualization ofOstrearivularisGouldfarming.
cloud space;ostrea rivularis gould;monitoring system;STM32F103;dissolved oxygen
10.3969/j.issn.1007-9580.2017.06.009
2017-09-29
廣西高??蒲许椖?KY2016YB489);欽州市重點實驗室科研項目(620174011)
包敬海(1979—),男,碩士,副教授,研究方向:智能控制系統(tǒng)。E-mail: bao535000@163.com
TP368.1
A
1007-9580(2017)06-049-06