材料,全工業布線。此外,模塊具有抗靜電、防反接、過流等多重電源保護,能在露天、野外等惡劣環境中正常運行。ARM板通過連接中心ZigBee獲取傳感器采集的水質數據,利用NB-IoT模塊實現與外網通信。
3 系統軟件設計
3.1 水質數據抗干擾設計
水質環境復雜多變,所需測量的溶解氧、PH、水溫等數據易受各種因素干擾,導致數據不精準,影響到系統精度及可靠性。為保證系統的可靠性與精準性,在水質測量中加入濾波算法提高系統工作的穩定性。因水質參數變化過程較緩慢,所以采用遞推平均濾波算法和限幅濾波算法消除干擾因素[14]。
3.2 嵌入式軟件設計
嵌入式網關由NB-IoT模塊和嵌入式ARM板等設備組成。網關主要是收集水質數據并上傳數據庫,完成遠程控制。ARM板通過ZigBee無線傳感網絡獲取傳感器數據[15],使用HTTP協議將數據上傳至數據服務中心,存入mysql中[16]。此模塊通過獲取通信服務器傳達的指令,解析后執行相應操作,控制增氧機、水泵等設備,如圖5所示。
(1)監聽:接受iOS移動端發送的數據查詢、設備控制等指令,作出相應操作后向客戶端返回結果。
(2)斷線重連:檢測嵌入式設備與服務器的長鏈接情況。若設備連接中斷,則重新與服務器建立連接,以保證嵌入式設備一直在線。
(3)定時:使用時鐘模塊檢測與用戶設定的設備運作時間是否匹配。若時間匹配,則執行相應操作。
(4)自動控制:每5分鐘收集一次數據,經過分析過濾后,與用戶設定的自動控制值相比較。若達到要求,則執行相應操作,直到收集的數據不在自動控制范圍內,關閉相應操作。
(5)數據上傳:每5分鐘收集一次數據,經過分析過濾后,上傳到數據庫服務器存儲。
3.3 數據服務中心設計
為發揮軟件設計思想中高內聚低耦合優點,系統將數據服務中心按功能模塊分為通信服務器和數據庫服務器。兩個服務器分開獨立設計,使數據庫服務與通訊服務互不干擾。
通信服務器采用開源的即時通信系統openFire,將其部署在阿里云服務器上,實現客戶端與嵌入式網關建立間接通信、保持長鏈接,相互之間傳送控制指令和實時數據信息。還可通過Openfile系統,在PC端或移動端查看設備在線情況與離線時長,方便用戶對設備進行管理。
數據庫服務器負責保存嵌入式網關上傳的所有數據,使用Mysql數據庫,適用于小型數據存儲,方便易用。使用Java語言編寫Web service,將其發布到阿里云服務器的tomcat上,嵌入式網關將采集到的數據通過HTTP協議上傳到服務器,保存在Mysql數據庫中,以供移動端查看數字或圖表類型的實時數據和歷史數據。
3.4 移動端軟件設計
使用移動端APP的展示、自動控制、定時功能控制數據,方便用戶隨時隨地掌握水質情況??蛻舳耸褂肵MPP協議連接通信服務器,并通過通信服務器向在線的嵌入式網關發送指令。網關回復當前水質數據信息給客戶端,客戶端使用AFNetworking框架中的post方法,從數據庫服務器中調取溶解氧、PH、水溫等歷史參數,通過折線圖方式將歷史數據展示出來;用戶設定溶解氧參數下限。當溶解氧參數值低于設定值時,增氧機設備自動開啟進行增氧,當溶解氧參數值高于設定值時自動關閉,增氧機或水泵工作時間由用戶設定。
4 功能測試與實驗分析
4.1 丟包率測試
為驗證系統的穩定可靠性,測試NB-IoT的丟包率。系統采用TCP/IP協議,經過3次握手建立連接,減少系統丟包率,保證上傳到服務器數據的完整性。3天測試,平均每天由NB-IoT向服務器發送288個數據包,服務器模塊每天平均收到286.3個來自NB-IoT的數據包,測試結果平均丟包率不足1%,滿足系統穩定性要求。
4.2 實驗分析
為驗證系統水質測控效果,在江蘇鎮江一水產養殖實驗中心進行了實地測試。圖6描述了從2017年9月20日到2017年9月22日共3天的溶解氧數據,當晚間溶解氧下降至低于5.5mg/L時,增氧機自動打開,增氧30分鐘后再次檢測魚塘中溶解氧的值。當溶解氧達到6mg/L時,增氧機關閉,當溶解氧仍不足6mg/L時,繼續增氧30分鐘,如此循環,使魚塘中溶解氧不低于5.5mg/L,從而滿足魚的生長環境需求。
5 結語
本文構建了基于NB-IoT的水質測控系統。通過對水質的監控保障水產生物的健康生長,提升了水質測控的科學性,減少了水產生物生病帶來的損失,推進了水質測控的自動化、智能化,大大減少了勞動力成本;建立了水質測控數據存儲平臺,使科學養殖有據可依。
參考文獻:
[1] 黃建清,王衛星.基于無線傳感器網絡的水產養殖水質監測系統開發與試驗[J].農業工程學報,2013,29(4):183-190.
[2] 劉萬學.互聯網在水產養殖中的應用[J].黑龍江水產,2016(5):9-11.
[3] 劉熙明,王義.基于分布式無線網絡的水質監控系統設計[J].漁業現代化,2017,44(4):50-56.
[4] 劉星橋,駱波.基于物聯網和GIS的水產養殖測控系統平臺設計[J].漁業現代化,2016,43(6):16-20.
[5] 宋良圖,胡曉波.基于ZigBee及ARM的漁業養殖水質實時監控系統[J].儀表技術,2014(7):19-22.
[6] 楊寧生,袁永明,孫英澤.物聯網技術在我國水產養殖上的應用發展對策[J].中國工程科學,2016(3):57-61.
[7] 郭榮.淺談軟件設計模式中的設計原則[J].信息安全與技術,2014(11):28-30.
[8] 錢小聰.NB-IoT的標準化、技術特點和產業發展[J].信息化研究,2016,42(5):23-26.
[9] 鄒玉龍,丁曉進.NB_IoT關鍵技術及應用前景[J].中興通訊技術,2017,23(1):43-46.
[10] 陳娜娜,周益明.基于ZigBee和GPRS的水產養殖環境無線監控系統的設計[J].傳感器與微系統,2011,10(3):380-387.
[11] 嚴麗萍,宋凱.基于ZigBee與GPRS的嵌入式水質監測系統設計[J].計算機工程與設計,2011,32(5):1638-1640.
[12] 趙冉,趙志英.一種應用于獨立光伏發電系統的復合式DC/DC變換器[J].南昌工程學院學報,2010,29(6):18-20.
[13] 張開生,程盼.基于MPPT的太陽能照明控制器研究[J].陜西科技大學學報,2015(1):160-164.
[14] 李麗華.雞蛋體溫與生產性能參數動態監測關鍵技術研究及應用[D].保定:河北農業大學,2014.
[15] 王士明,楊維衛.基于ZigBee的大水域水質環境監測系統設計[J].傳感器與微系統,2014,33(11):102-105.
[16] 毛靜波.計算機軟件數據庫設計原則探討[J].電腦知識與技術,2016(8).
(責任編輯:杜能鋼)