朱正偉,黃曉竹,劉 晨,陳 陽
(常州大學(xué)信息科學(xué)與工程學(xué)院,江蘇 常州 213164)
智能水產(chǎn)養(yǎng)殖系統(tǒng)關(guān)鍵技術(shù)研究
朱正偉,黃曉竹,劉 晨,陳 陽
(常州大學(xué)信息科學(xué)與工程學(xué)院,江蘇 常州 213164)
為解決水產(chǎn)養(yǎng)殖池環(huán)境因子的人工監(jiān)測存在的隨機(jī)性大、難以控制的問題,設(shè)計(jì)了一種基于物聯(lián)網(wǎng)的智能測控系統(tǒng)。重點(diǎn)對水產(chǎn)養(yǎng)殖智能測控系統(tǒng)中的若干關(guān)鍵技術(shù)進(jìn)行了研究。采用多跳樹型無線網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)作為系統(tǒng)底層數(shù)據(jù)采集傳輸?shù)木W(wǎng)絡(luò)結(jié)構(gòu)。通過ZigBee技術(shù)和GPRS技術(shù),對水環(huán)境溫度、溶解氧、pH等因子進(jìn)行實(shí)時(shí)采集,對增氧機(jī)、投飼機(jī)和水泵的狀態(tài)實(shí)現(xiàn)遠(yuǎn)程控制。用戶使用網(wǎng)頁或手機(jī)APP,不僅可以查看系統(tǒng)運(yùn)行中各項(xiàng)參數(shù)的歷史軌跡,還可以實(shí)時(shí)監(jiān)測與控制現(xiàn)場的各項(xiàng)參數(shù)。對監(jiān)測節(jié)點(diǎn)等軟硬件設(shè)計(jì)進(jìn)行了詳細(xì)闡述,采用卡爾曼濾波算法對模擬量數(shù)據(jù)進(jìn)行處理以提高準(zhǔn)確度。測試結(jié)果表明,模擬量數(shù)據(jù)精度和數(shù)據(jù)傳輸誤碼率均在1%以內(nèi);遠(yuǎn)程設(shè)置控制參數(shù),網(wǎng)絡(luò)延遲在10 s以內(nèi)。該系統(tǒng)穩(wěn)定可靠、數(shù)據(jù)檢測準(zhǔn)確、易于擴(kuò)展,可在水產(chǎn)養(yǎng)殖中推廣使用。
水產(chǎn)養(yǎng)殖;物聯(lián)網(wǎng);無線傳感網(wǎng)絡(luò);智能測控系統(tǒng);卡爾曼濾波算法
水產(chǎn)養(yǎng)殖中通常采用人工監(jiān)測和記錄水質(zhì)因子,隨機(jī)性大,不能根據(jù)水質(zhì)變化作出及時(shí)、有效的反應(yīng),易導(dǎo)致水產(chǎn)品大量死亡或病害發(fā)生[1],造成嚴(yán)重的經(jīng)濟(jì)損失。
Qi等利用無線傳感器網(wǎng)絡(luò)系統(tǒng),建立了水產(chǎn)養(yǎng)殖和銷售可追溯系統(tǒng)[2]。Yoneyama等建立了羅非魚膽固醇含量監(jiān)測的無線傳感器網(wǎng)絡(luò)系統(tǒng),實(shí)現(xiàn)了羅非魚膽固醇含量的在線快速監(jiān)測[3]。楊世鳳等研制了一套通過無線以太網(wǎng)連接,LabVIEW程序控制,并通過GSM網(wǎng)絡(luò)使用戶遠(yuǎn)程監(jiān)控池塘溶解氧的溶解氧無線監(jiān)測與控制系統(tǒng)[4]。楊琛等設(shè)計(jì)了物聯(lián)網(wǎng)水產(chǎn)養(yǎng)殖系統(tǒng),通過PC或手機(jī)終端遠(yuǎn)程控制喂食器、增氧機(jī)等[1]。黃有全設(shè)計(jì)了觀賞魚智能養(yǎng)魚控制系統(tǒng)[5]。上述系統(tǒng)主要對單一因子進(jìn)行了測量與控制,而本文設(shè)計(jì)了多因子水質(zhì)監(jiān)控系統(tǒng)。
系統(tǒng)主要由傳感控制層、無線傳輸網(wǎng)絡(luò)層、服務(wù)器層和應(yīng)用層組成,其結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)圖Fig 1 Structure of the system
傳感控制層節(jié)點(diǎn)主要由分布在魚塘中的參數(shù)監(jiān)測節(jié)點(diǎn)、控制節(jié)點(diǎn)、主節(jié)點(diǎn)組成,用來測量魚塘的池內(nèi)溫度、含氧量、pH值等參數(shù),通過ZigBee方式在節(jié)點(diǎn)-節(jié)點(diǎn)、節(jié)點(diǎn)-主控制器間傳輸數(shù)據(jù)。無線傳輸網(wǎng)絡(luò)層由主控制器組成,作為內(nèi)網(wǎng)和服務(wù)器之間的橋梁,其主要上傳魚塘的各個(gè)參數(shù)值和下發(fā)服務(wù)器的命令。服務(wù)器層由中國移動(dòng)物聯(lián)網(wǎng)提供的服務(wù)器(OneNet)組成。應(yīng)用層主要由計(jì)算機(jī)和移動(dòng)終端組成,用戶可以通過網(wǎng)頁和手機(jī)APP查看現(xiàn)場各個(gè)參數(shù)情況,設(shè)置不同水產(chǎn)品的不同參數(shù),以適應(yīng)不同水產(chǎn)品對水質(zhì)的不同要求。
1.1 主節(jié)點(diǎn)系統(tǒng)硬件結(jié)構(gòu)
主節(jié)點(diǎn)系統(tǒng)硬件結(jié)構(gòu)如圖2所示。
圖2 主節(jié)點(diǎn)硬件結(jié)構(gòu)圖Fig 2 Hardware structure of the master node
圖2中:MCU模塊由MSP430F5438及其外圍電路組成;CC2530模塊與MCU模塊通過RS-232接口連接;GPRS模塊由中國移動(dòng)的M2110模塊及其外圍電路組成,且與MCU通過RS-232接口連接[6]。
CC2530模塊自帶一個(gè)調(diào)試接口[7],主要用于收發(fā)溫度、溶解氧和pH傳感器數(shù)據(jù)。CC2530輸出信號(hào)經(jīng)信號(hào)放大后開啟和關(guān)閉增氧機(jī)、投飼機(jī)和循環(huán)泵等相應(yīng)接觸器。當(dāng)水體溶解氧濃度低于3.5 mg/L時(shí),CC2530獲取測量參數(shù)后,閉合與增氧機(jī)連接的接觸器線圈電路,線圈通電后吸合主觸點(diǎn),增氧機(jī)開啟;當(dāng)測量得到的水體溶解氧濃度大于6.5 mg/L時(shí),斷開接觸器線圈電路,避免在水體較高溶解氧含量情況下低效增氧。投飼機(jī)通過CC2530內(nèi)部定時(shí)器控制在規(guī)定時(shí)間工作。循環(huán)水泵既可現(xiàn)場手動(dòng)開啟,也可通過控制界面開啟。
1.2 抗干擾設(shè)計(jì)
在露天環(huán)境中,噪聲會(huì)干擾信號(hào)采集,為此,采用卡爾曼濾波法濾除干擾信號(hào)[8-9]。系統(tǒng)可用一個(gè)線性隨機(jī)微分方程來描述:
系統(tǒng)的測量值如式(2)所示:
式中:X(k)為k時(shí)刻系統(tǒng)狀態(tài);U(k)為k時(shí)刻系統(tǒng)的控制量;A和B為系統(tǒng)參數(shù),對于多模型系統(tǒng),A、B為矩陣;Z(k)為k時(shí)刻的測量值;H為測量系統(tǒng)的參數(shù),對于多測量系統(tǒng),H為矩陣;W(k)和V(k)分別為過程和測量的高斯白噪聲,協(xié)方差分別為Q、R(假設(shè)不隨系統(tǒng)狀態(tài)變化而變化)。
利用系統(tǒng)過程模型,預(yù)測系統(tǒng)下一時(shí)刻狀態(tài)。根據(jù)系統(tǒng)模型,可以基于系統(tǒng)上一時(shí)刻狀態(tài)而預(yù)測當(dāng)前時(shí)刻狀態(tài):
式中:X(k|k-1)為基于上一時(shí)刻的最優(yōu)估計(jì)對當(dāng)前時(shí)刻的預(yù)測結(jié)果;X(k-1|k-1)為上一狀態(tài)的最優(yōu)結(jié)果;U(k)為目前狀態(tài)的控制量,值為0。
用P表示協(xié)方差:
式中:P(k|k-1)和 P(k-1|k-1)分別為 X(k|k-1)和X(k-1|k-1)的協(xié)方差;Q為系統(tǒng)過程協(xié)方差。
結(jié)合測量值Z(k),得出目前狀態(tài)k的最優(yōu)化估算值 X(k|k):
X(k|k)=X(k|k-1)+Kg(k)[Z(k)-HX(k|k-1)](5)式中:Kg為卡爾曼增益。
更新 k時(shí)刻下 X(k|k)的協(xié)方差如式(7)所示,為下一時(shí)刻的估計(jì)作準(zhǔn)備。
由于本系統(tǒng)是單模型單測量,所以I=1;當(dāng)系統(tǒng)進(jìn)入 k+1 狀態(tài)時(shí),P(k|k)為式(4)中的 P(k-1|k-1)。
初始化系統(tǒng)參數(shù) A=1、B=0、H=1、P(1|1)=10,最優(yōu)估計(jì)初始值取測量初始值,即X(1|1)=Z(1)。然而Q和R的值還不確定,它們不隨系統(tǒng)狀態(tài)變化而變化,只與現(xiàn)場干擾程度有關(guān)。假設(shè)Q=0.000 001,當(dāng)R分別取0.01、0.001、0.000 1、0.000 01時(shí),對其對應(yīng)的溫度進(jìn)行比較。圖3為溫濕度卡爾曼濾波效果圖。由圖3可知,當(dāng)R=0.0001時(shí),曲線相對平滑且對原始數(shù)據(jù)具有很好的跟隨性。
圖3 溫濕度卡爾曼濾波效果圖Fig 3 Kalman filtering effects of temperature and humidity
1.3 無線感知網(wǎng)絡(luò)結(jié)構(gòu)
ZigBee組網(wǎng)可以靈活采用多種拓?fù)浣Y(jié)構(gòu)[10-11]。網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。系統(tǒng)對于單個(gè)魚塘采用星型網(wǎng)絡(luò),對于同一區(qū)域大片的魚塘采用樹型網(wǎng)絡(luò)。單個(gè)魚塘的節(jié)點(diǎn)匯聚于主節(jié)點(diǎn)組成星型網(wǎng)絡(luò),各個(gè)魚塘的主節(jié)點(diǎn)則連接成樹型網(wǎng)絡(luò)。
圖4 網(wǎng)絡(luò)結(jié)構(gòu)圖Fig 4 The network structure
2.1 MCU與CC2530模塊通信設(shè)計(jì)
GPRS網(wǎng)關(guān)程序主流程:首先初始化MSP430F5438單片機(jī)(MCU)的I/O口、片內(nèi)UART和定時(shí)器,然后進(jìn)入低功耗模式。MCU通過UART0采用9 600 bit/s的波特率與CC2530進(jìn)行通信。如果MCU收到的數(shù)據(jù)格式正確,則返回?cái)?shù)據(jù)正確響應(yīng)并存儲(chǔ)數(shù)據(jù);如果數(shù)據(jù)格式不正確,則返回?cái)?shù)據(jù)錯(cuò)誤響應(yīng)。
2.2 GPRS網(wǎng)關(guān)程序設(shè)計(jì)
MCU通過UART1采用9 600 bit/s的波特率與GPRS網(wǎng)關(guān)中的M2110模塊進(jìn)行通信。MCU通過向M2110模塊發(fā)送AT指令來達(dá)到驅(qū)動(dòng)M2110的目的。GPRS網(wǎng)關(guān)程序設(shè)計(jì)圖如圖5所示。MCU先向M2110模塊發(fā)送一系列初始化模塊的指令,如關(guān)閉M2110、定義PDP上下文等。然后開啟網(wǎng)絡(luò),并讓M2110進(jìn)入透傳模式。MCU緊接著發(fā)送心跳包,讓M2110與OneNet保持長連接。如果M2110接收到OneNet發(fā)來的指令,則將這些指令更新到MCU的指令預(yù)執(zhí)行存儲(chǔ)區(qū);如果MCU采集到的數(shù)據(jù)有更新,則通過M2110向OneNet發(fā)送這些數(shù)據(jù)。為了確保OneNet接收到M2110發(fā)送的數(shù)據(jù),每次在M2110發(fā)送數(shù)據(jù)之后,預(yù)留一定的時(shí)間來等待OneNet發(fā)回的數(shù)據(jù)響應(yīng);如果在這段時(shí)間內(nèi)沒有收到響應(yīng),則重啟網(wǎng)絡(luò)。
圖5 GPRS網(wǎng)關(guān)程序設(shè)計(jì)圖Fig 5 Program design of GPRS gateway
MCU通過10 ms中斷一次的定時(shí)器檢查指令預(yù)執(zhí)行存儲(chǔ)區(qū)。如果指令集沒有更新,結(jié)束中斷;如果指令集有更新,則通過CC2530下發(fā)指令。為了確保指令正確下發(fā),MCU用一定時(shí)間等待子節(jié)點(diǎn)發(fā)回的響應(yīng)。如果接收到正確響應(yīng),則結(jié)束中斷;如果沒能收到正確響應(yīng),則應(yīng)重發(fā)指令。在重發(fā)次數(shù)超過10次后,將錯(cuò)誤信息存儲(chǔ)到MCU并結(jié)束中斷。MCU在接下來的檢查存儲(chǔ)更新時(shí),會(huì)將這些錯(cuò)誤信息上傳至OneNet。
系統(tǒng)通過中移物聯(lián)網(wǎng)OneNet開放平臺(tái)的公開應(yīng)用連接,獲取實(shí)時(shí)運(yùn)行監(jiān)控界面。在OneNet官網(wǎng)首頁下載手機(jī)APP,收藏該應(yīng)用即可查看各種信息。
經(jīng)過濾波處理,系統(tǒng)能夠穩(wěn)定采集模擬量數(shù)據(jù),沒有出現(xiàn)數(shù)據(jù)高頻跳動(dòng)狀況。用戶在OneNet網(wǎng)頁上和手機(jī)客戶端上都能實(shí)時(shí)監(jiān)測到現(xiàn)場環(huán)境中的參數(shù),也可成功傳送命令參數(shù)。模擬量數(shù)據(jù)精度在1%以內(nèi);數(shù)據(jù)傳輸誤碼率在1%以內(nèi);用戶可遠(yuǎn)程設(shè)置控制參數(shù),網(wǎng)絡(luò)延遲在10 s以內(nèi)。數(shù)據(jù)上傳與下發(fā)誤碼率低,傳輸時(shí)延小,滿足系統(tǒng)運(yùn)行。
本文探討了水產(chǎn)養(yǎng)殖智能測控系統(tǒng)中的若干關(guān)鍵技術(shù)。通過ZigBee技術(shù)和GPRS技術(shù),實(shí)現(xiàn)了對水體溶解氧濃度、溫度、pH值、光照度等參數(shù)的遠(yuǎn)程監(jiān)測;對增氧機(jī)、投飼機(jī)等設(shè)備,實(shí)現(xiàn)了遠(yuǎn)程控制。用戶可以不受地理位置的限制,通過網(wǎng)頁或手機(jī)監(jiān)測和控制魚塘現(xiàn)場各項(xiàng)參數(shù)。系統(tǒng)數(shù)據(jù)穩(wěn)定,誤碼率低,網(wǎng)絡(luò)延遲時(shí)間小,有助于改善我國水產(chǎn)養(yǎng)殖智能化普及率及效率較低的現(xiàn)狀。
[1]楊琛,白波,匡興紅.基于物聯(lián)網(wǎng)的水產(chǎn)養(yǎng)殖環(huán)境智能監(jiān)控系統(tǒng)[J].漁業(yè)現(xiàn)代化,2014,41(1):35-39.
[2] QI L,ZHANG J,XU M,et al.Developing WSN-based traceability system for recirculation aquaculture[J].Mathematical and Computer Modelling,2011,53(11-12):2162-2172.
[3] YONEYAMA Y,YONEMORI Y,MURATA M,et al.Wireless biosensor system for real-time cholesterol monitoring in fishquot;Nile tilapiaquot;[J].Talanta,2009,80(2):909-915.
[4]楊世鳳,齊嘉琳,李洋,等.魚塘溶解氧無線監(jiān)測與控制系統(tǒng)研究[J].漁業(yè)現(xiàn)代化,2010,37(6):11-14.
[5]黃有全.智能養(yǎng)魚控制系統(tǒng)設(shè)計(jì)研究[J].機(jī)電產(chǎn)品研發(fā)與創(chuàng)新,2004,17(2):89-90.
[6]胡文翔,蔡政,郭偉瑋,等.面向RS-485控制網(wǎng)絡(luò)的Modbus協(xié)議擴(kuò)展及應(yīng)用[J].自動(dòng)化儀表,2013(4):59-61.
[7]任珍文,黃玉清.基于CC2530的無線傳感器網(wǎng)絡(luò)監(jiān)控平臺(tái)[J].電子技術(shù)應(yīng)用,2012,38(10):122-125.
[8]裴新,虞慧群,范貴生.基于ZigBee技術(shù)的井下人員定位算法研究[J].計(jì)算機(jī)工程與應(yīng)用,2014,50(15):249-254.
[9]王雙紅,聶建良.自適應(yīng)交互集合Kalman濾波和動(dòng)態(tài)精密單點(diǎn)定位[J].自動(dòng)化儀表,2013,34(5):10-12.
[10]嚴(yán)麗平,宋凱.基于ZigBee與GPRS的嵌入式水質(zhì)監(jiān)測系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)工程與設(shè)計(jì),2011,32(5):1638-1640.
[11]史俊茹,黑敏星,楊軍.一種物聯(lián)網(wǎng)數(shù)據(jù)管理框架研究[J].計(jì)算機(jī)科學(xué),2015,42(S1):294-298.
Research on the Key Technology of Intelligent Aquaculture System
ZHU Zhengwei,HUANG Xiaozhu,LIU Chen,CHEN Yang
(College of Information Science and Engineering,Changzhou University,Changzhou 213164,China)
To handle the randomness and difficulty to control in manual monitoring of aquaculture environment,an intelligent monitoring system based on internet of things has been designed.Several key technologies of this monitoring system are researched.The multi-hop tree shaped wireless network topological structure is used as the network structure for bottom layer data acquisition transmission.Based on ZigBee and GPRS techniques,the environmental parameters,such as temperature,dissolved oxygen,pH,etc.,are collected in real time;and the aerators,feeders and pumps are controlled remotely.Therefore,users are able to query the historical traces of parameters and monitor and control remotely all kinds of on-spot parameters through websites as well as mobile phone apps.The design of corresponding software and hardware of each monitoring node is described in detail.Due to Kalman filtering algorithm is used to process analog data,the accuracy is improved.The test results show that the accuracy of the analog data and the data transfer error rate are both within 1%;and the network latency is within 10 s for remote setting.The system is stable,reliable,and expandable,which can be promoted in aquaculture.
Aquaculture;Internet of things(IoT);Wireless sensor network(WSN);Intelligent measurement and control system;Kalman filter algorithm
TH86;TP273
A
10.16086/j.cnki.issn1000-0380.201711002
修改稿收到日期:2017-05-22
國家自然科學(xué)基金資助項(xiàng)目(60971090)、常州市應(yīng)用基礎(chǔ)研究計(jì)劃基金資助項(xiàng)目(CJ20159035)
朱正偉(1963—),男,博士,教授,主要從事計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)和嵌入式系統(tǒng)及應(yīng)用方向的研究。E-mail:zhuzw@cczu.edu.cn。