王詩(shī)涵,姚天灝,沈玥,黃家煒,蘇雨薇
(江南大學(xué) 物聯(lián)網(wǎng)工程學(xué)院,江蘇無(wú)錫,214000)
近年來(lái),中國(guó)的水產(chǎn)養(yǎng)殖業(yè)飛速發(fā)展,帶動(dòng)了農(nóng)業(yè)的發(fā)展。然而,水產(chǎn)養(yǎng)殖環(huán)境受到工業(yè)和人工污染的影響,造成水產(chǎn)養(yǎng)殖水域的污染。大量養(yǎng)殖產(chǎn)品的非正常死亡給整個(gè)水產(chǎn)養(yǎng)殖業(yè)帶來(lái)了巨大的經(jīng)濟(jì)損失,使得水產(chǎn)養(yǎng)殖業(yè)的發(fā)展受到阻礙。因此,水質(zhì)監(jiān)測(cè)起著至關(guān)重要的作用。況且,傳統(tǒng)水質(zhì)監(jiān)控系統(tǒng)采用有線傳輸方式傳輸水質(zhì)相關(guān)數(shù)據(jù)信息,不僅水下難以布線,線路也易于受到水底生物的破壞。針對(duì)這些問(wèn)題,本項(xiàng)目通過(guò)在水里投放水產(chǎn)養(yǎng)殖增氧機(jī),實(shí)時(shí)監(jiān)測(cè)水產(chǎn)養(yǎng)殖的水質(zhì),收集各種水產(chǎn)養(yǎng)殖的相關(guān)數(shù)據(jù),并且根據(jù)環(huán)境變化及時(shí)調(diào)控,可以在一定程度上避免養(yǎng)殖產(chǎn)品死亡。本項(xiàng)目還研制了一款水產(chǎn)養(yǎng)殖增氧機(jī)智能控制器,選取STM32 微控制器作為核心控制器,利用溫度傳感器、PH 值傳感器、溶解氧傳感器采集水質(zhì)信息[1],通過(guò)增氧機(jī)驅(qū)動(dòng)模塊(DC-AC 逆變)和NBIOT 通信模塊傳輸數(shù)據(jù)信息,通過(guò)光儲(chǔ)供電模塊不間斷地為系統(tǒng)供電,借助OneNet 物聯(lián)網(wǎng)平臺(tái)并對(duì)接APP,實(shí)現(xiàn)增氧機(jī)工作參數(shù)的遠(yuǎn)程調(diào)控,可以根據(jù)季節(jié)、天氣的變化對(duì)增氧機(jī)實(shí)現(xiàn)靈活控制。研究成果對(duì)于水產(chǎn)養(yǎng)殖,智能控制、精準(zhǔn)農(nóng)業(yè)等具有重要意義,同時(shí),在我國(guó)這樣一個(gè)農(nóng)業(yè)大國(guó),具有廣闊的市場(chǎng)前景。
水產(chǎn)養(yǎng)殖業(yè)是全球農(nóng)業(yè)發(fā)展的重點(diǎn)研究產(chǎn)業(yè)之一,具有廣闊的發(fā)展前景。其中,水質(zhì)對(duì)產(chǎn)業(yè)發(fā)展有著不可忽視的影響,受到了水產(chǎn)養(yǎng)殖業(yè)的密切關(guān)注。我們對(duì)水產(chǎn)養(yǎng)殖業(yè)的發(fā)展?fàn)顩r和水質(zhì)監(jiān)測(cè)系統(tǒng)的研究狀況進(jìn)行分析和總結(jié),一定程度上提高了研究?jī)r(jià)值,為本項(xiàng)目的主要研究依據(jù)打下了較為堅(jiān)實(shí)的基礎(chǔ)。
已有研究大多選取STM32 單片機(jī)微處理器為研究對(duì)象,通過(guò)其強(qiáng)大的功能來(lái)控制與水質(zhì)檢測(cè)有關(guān)的傳感器。選擇各種PH、溫度以及溶解氧的傳感器型號(hào),以測(cè)量準(zhǔn)確性為核心,通過(guò)分析各引腳的不同功能設(shè)計(jì)連接線路,將采集的數(shù)據(jù)與標(biāo)準(zhǔn)值進(jìn)行對(duì)比分析,得到采集精度的結(jié)果。
在海外研究的基礎(chǔ)上,國(guó)內(nèi)開(kāi)發(fā)了一個(gè)太陽(yáng)能供電模塊,其中包括支持電能存儲(chǔ)的鋰電池和一個(gè)太陽(yáng)能充放電控制器。測(cè)試結(jié)果表明,該模塊提供的電源可以維持三個(gè)雨天。但是,如果超過(guò)三天沒(méi)有太陽(yáng),系統(tǒng)將無(wú)法正常供電。因此,仍然需要進(jìn)一步完善系統(tǒng)供電功能模塊[2]。
選用GPRS 模塊作為無(wú)線傳輸模塊,通過(guò)Intemet 網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)傳輸,可有效支持遠(yuǎn)程傳輸,并可實(shí)現(xiàn)2000 米以內(nèi)的同等數(shù)據(jù)傳輸精度,有效降低開(kāi)發(fā)成本。根據(jù)水產(chǎn)養(yǎng)殖基地的區(qū)域分布,為了滿足覆蓋區(qū)域的需要設(shè)置了上百個(gè)監(jiān)測(cè)點(diǎn)。該模塊的數(shù)據(jù)傳輸主要是根據(jù)核心控制器的控制功能來(lái)編寫(xiě)相應(yīng)的程序,設(shè)計(jì)控制電路。除此之外,為了便于用戶查看數(shù)據(jù)實(shí)時(shí)信息,設(shè)計(jì)了雙向通信系統(tǒng),即由現(xiàn)場(chǎng)采集終端向遠(yuǎn)程監(jiān)控終端發(fā)送數(shù)據(jù)信息,同時(shí)向用戶手機(jī)發(fā)送數(shù)據(jù)信息[3]。
綜上所述,現(xiàn)有水產(chǎn)養(yǎng)殖水質(zhì)監(jiān)測(cè)系統(tǒng)主要在水質(zhì)監(jiān)測(cè)、系統(tǒng)供電和無(wú)線傳輸三個(gè)方面有研究成果。但是由于電池能量存儲(chǔ)較小的特點(diǎn),并不能滿足部分地區(qū)水質(zhì)監(jiān)測(cè)系統(tǒng)長(zhǎng)期工作的供電需求。水質(zhì)監(jiān)測(cè)系統(tǒng)開(kāi)發(fā)的首選工具是GPRS 無(wú)線傳輸模塊,針對(duì)此系統(tǒng),水質(zhì)信息采集方面的已有研究較多,但由于工作現(xiàn)場(chǎng)任務(wù)大,數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性受到干擾。本項(xiàng)目將在已有研究基礎(chǔ)上,采用光伏與儲(chǔ)能電池互補(bǔ)供電的模式,解決大面積水域供電困難的難題;采用NB-IoT 與APP 相結(jié)合的方式實(shí)現(xiàn)增氧機(jī)工作參數(shù)的遠(yuǎn)程設(shè)置??梢愿鶕?jù)季節(jié)、天氣的變化實(shí)現(xiàn)對(duì)增氧機(jī)的靈活控制;根據(jù)當(dāng)前的水質(zhì)參數(shù)進(jìn)行數(shù)據(jù)挖掘推送養(yǎng)殖決策指令。
研發(fā)的智能控制器的結(jié)構(gòu)框圖如圖1 所示。
圖1 控制器體統(tǒng)整體結(jié)構(gòu)框架圖
(1)基于“一線總線”的水質(zhì)參數(shù)監(jiān)測(cè):含氧量、溫度、濁度等是水質(zhì)的重要參數(shù),研究通過(guò)“一線總線”接口下掛溶解氧傳感器、溫度傳感器、濁度傳感器等,同時(shí)測(cè)量多個(gè)水質(zhì)參數(shù),一線總線結(jié)構(gòu)簡(jiǎn)潔且經(jīng)濟(jì),可以使系統(tǒng)抗干擾能力大大提高。
(2)基于NB-IoT 通信模塊的無(wú)線數(shù)據(jù)傳輸:研究通過(guò)NB-IoT 無(wú)線通訊模式,將采集到的水質(zhì)參數(shù)及時(shí)傳輸?shù)紸終端,實(shí)現(xiàn)遠(yuǎn)程顯示及監(jiān)控,為水產(chǎn)養(yǎng)殖的增氧最佳時(shí)機(jī)提供參考。
(3)基于光+儲(chǔ)互補(bǔ)的系統(tǒng)供電:研究光伏+儲(chǔ)能電池互補(bǔ)供電技術(shù),將太陽(yáng)能轉(zhuǎn)化為化學(xué)能存儲(chǔ)在蓄電池中,光照良好的情況下直接通過(guò)太陽(yáng)能供電,光照不足時(shí)則通過(guò)蓄電池供電。
(4)移動(dòng)控制終端APP 的設(shè)計(jì):研究通過(guò)APP 終端實(shí)現(xiàn)各水質(zhì)參數(shù)的遠(yuǎn)程顯示及監(jiān)控,既可以手動(dòng)根據(jù)季節(jié)和天氣變化對(duì)增氧機(jī)進(jìn)行靈活控制,又可以自動(dòng)根據(jù)當(dāng)前反饋得到的水質(zhì)參數(shù)進(jìn)行挖掘推送養(yǎng)殖指令。
該設(shè)計(jì)以STM32 單片機(jī)為核心,借助OneNet 物聯(lián)網(wǎng)平臺(tái)并對(duì)接APP 而設(shè)計(jì)的水產(chǎn)養(yǎng)殖增氧機(jī)智能控制器,設(shè)計(jì)主要由硬件、軟件、OneNet 物聯(lián)網(wǎng)管理平臺(tái)、APP 組成??梢酝瑫r(shí)檢測(cè)多個(gè)水質(zhì)參數(shù),并將數(shù)據(jù)上傳到移動(dòng)控制終端APP,通過(guò)NB-IoT 與APP 相結(jié)合的方式實(shí)現(xiàn)增氧機(jī)工作參數(shù)的遠(yuǎn)程設(shè)置,并根據(jù)當(dāng)前的水質(zhì)參數(shù)進(jìn)行數(shù)據(jù)挖掘推送養(yǎng)殖決策指令。
2.3.1 大面積水域供電困難問(wèn)題
由于增氧機(jī)須大面積安置在池塘中,并且為了不破壞水質(zhì),增氧機(jī)一經(jīng)安裝,應(yīng)盡可能減少拆除次數(shù),因此首要考慮問(wèn)題的問(wèn)題就是供電問(wèn)題。為了延長(zhǎng)供電時(shí)間,該設(shè)計(jì)采用了光伏與儲(chǔ)能電池互補(bǔ)供電模式,在傳感器測(cè)得水質(zhì)參數(shù)數(shù)據(jù)正常無(wú)需供氧時(shí),通過(guò)NB-IoT 通信控制模塊使增氧機(jī)進(jìn)入休眠或停止供電,盡可能減少電能的消耗。
2.3.2 APP 及決策推送模塊的設(shè)計(jì)
移動(dòng)控制終端APP 既需要通過(guò)NB-IoT 通信模塊控制增氧機(jī)工作參數(shù),又需要根據(jù)傳感器采集的數(shù)據(jù)進(jìn)行分析挖掘,推送養(yǎng)殖決策指令。只有保證決策推送模塊的正確性與準(zhǔn)確度才能使增氧機(jī)在無(wú)需人工調(diào)試的時(shí)間內(nèi)正常工作。
本項(xiàng)目通過(guò)理論研究、硬件設(shè)計(jì)、軟件設(shè)計(jì)等步驟進(jìn)行研究,以期達(dá)到預(yù)設(shè)目標(biāo)。下面圍繞主要研究?jī)?nèi)容及關(guān)鍵問(wèn)題進(jìn)行詳細(xì)技術(shù)方案的描述。
氧氣檢測(cè)調(diào)理單元收集、轉(zhuǎn)換和放大信號(hào)并輸出易于檢測(cè)的電壓信號(hào),處理單元完成輸入信號(hào)的模數(shù)轉(zhuǎn)換、顯示和串行輸出三方面的實(shí)現(xiàn)。網(wǎng)絡(luò)傳輸單元將串行輸出轉(zhuǎn)換為網(wǎng)絡(luò)輸出并傳輸?shù)骄W(wǎng)絡(luò)上[4]。遠(yuǎn)程處理顯示單元實(shí)時(shí)顯示從網(wǎng)絡(luò)傳輸單元收到的網(wǎng)絡(luò)數(shù)據(jù)。報(bào)警單元完成報(bào)警單元完成對(duì)超標(biāo)濃度的報(bào)警任務(wù),其報(bào)警值是由軟件預(yù)設(shè)的。
圖2 含氧量測(cè)量模塊結(jié)構(gòu)圖
通過(guò)使用STM32 主控芯片的溫度傳感器進(jìn)行實(shí)時(shí)溫度檢測(cè)和顯示,可以快速檢測(cè)環(huán)境溫度,并能根據(jù)需求設(shè)置報(bào)警溫度的上下限。
圖3 溫度測(cè)量模塊結(jié)構(gòu)圖
用STM32 作為測(cè)控系統(tǒng)的核心來(lái)完成數(shù)據(jù)采集、處理、顯示等功能,并用數(shù)字溫度傳感器對(duì)輸出信號(hào)進(jìn)行完全數(shù)字化處理,有利于單片機(jī)進(jìn)行處理及控制。
硅光電池作為傳感器接受器,它能感受光信號(hào),并將光信號(hào)轉(zhuǎn)換成電信號(hào),但是這個(gè)電流信號(hào)非常微弱,單片機(jī)不易識(shí)別,所以將轉(zhuǎn)換得來(lái)的電流信號(hào)經(jīng)過(guò)放大,然后將放大后的電流信號(hào)輸入到A/D 轉(zhuǎn)換器中進(jìn)行模數(shù)轉(zhuǎn)換,將A/D轉(zhuǎn)換后得到的數(shù)字信號(hào)傳輸?shù)絾纹瑱C(jī)并進(jìn)行計(jì)算以及存儲(chǔ),對(duì)測(cè)量得到的濁度值進(jìn)行顯示。
對(duì)檢測(cè)到的不同含氧量、不同溫度、不同濁度與該條件下測(cè)得的電壓值進(jìn)行曲線擬合,并且與該條件下的最優(yōu)條件進(jìn)行對(duì)比給APP 使用者推薦一個(gè)推薦值。
圖4 濁度測(cè)量模塊
圖5 參數(shù)標(biāo)定流程圖
采集的數(shù)據(jù)通過(guò)NB-IoT 通信模塊,傳輸?shù)揭苿?dòng)控制終端APP。頂層app 可以根據(jù)季節(jié)、天氣的變化來(lái)完成對(duì)增氧機(jī)的靈活控制。頂層控制可以對(duì)系統(tǒng)的自動(dòng)控制進(jìn)行人工干預(yù),從而達(dá)到一些特殊的需求。
本系統(tǒng)采用光伏+儲(chǔ)能蓄電池互補(bǔ)的供電方式,并分別對(duì)單片機(jī)和增氧機(jī)進(jìn)行供電。太陽(yáng)能給系統(tǒng)供電的同時(shí)給儲(chǔ)能電池充電,儲(chǔ)能電池也能夠直接外加電源進(jìn)行充電,在沒(méi)有光照的時(shí)候由蓄電池供電。在保證裝置正常所需電能供給的同時(shí),光伏電板的加入也能夠體現(xiàn)本系統(tǒng)的環(huán)保意識(shí)。
圖6 數(shù)據(jù)傳輸模塊結(jié)構(gòu)圖
圖7 STM32 供電模塊結(jié)構(gòu)圖
圖8 增氧機(jī)供電模塊結(jié)構(gòu)圖
圖9 是單片機(jī)電路原理圖設(shè)計(jì)。
圖9 主電路原理圖設(shè)計(jì)
網(wǎng)絡(luò)通信程序是用C 語(yǔ)言編寫(xiě)的。源程序采用模塊化編程,下位機(jī)每隔30 分鐘采集一次數(shù)據(jù),每次采集后立刻關(guān)閉電源來(lái)減少能源消耗;當(dāng)發(fā)送時(shí)間到,服務(wù)器接收下位機(jī)采集的數(shù)據(jù),隨后直接存儲(chǔ)到指定的數(shù)據(jù)庫(kù)中。軟件可以達(dá)到將接收的數(shù)據(jù)直接存儲(chǔ)到指定數(shù)據(jù)庫(kù)中的目的,下面是服務(wù)器端接收軟件的部分源代碼。
圖10 網(wǎng)絡(luò)通信程序設(shè)計(jì)
本項(xiàng)目有以下創(chuàng)新點(diǎn):
(1)采用光伏與儲(chǔ)能電池互補(bǔ)供電的模式,解決了大面積水域供電困難的難題。
傳感器所安裝的魚(yú)塘水域面積大,遙控中心距離較遠(yuǎn),在設(shè)備已經(jīng)安裝好的情況下,不適合定期拔出和更換電池,對(duì)水產(chǎn)養(yǎng)殖環(huán)境造成干擾。該項(xiàng)目采用光伏和電池互補(bǔ)的供電模式,并將傳感器的耗電量降到最低,為實(shí)現(xiàn)長(zhǎng)時(shí)間進(jìn)行野外作業(yè)提供了可能性。該模式提高了遠(yuǎn)程數(shù)據(jù)采集的穩(wěn)定性和連續(xù)性,解決了大面積水域供電困難的難題。
(2)采用NB-IoT 與APP 相結(jié)合實(shí)現(xiàn)增氧機(jī)工作參數(shù)的遠(yuǎn)程設(shè)置,可以根據(jù)季節(jié)、天氣的變化對(duì)增氧機(jī)實(shí)現(xiàn)靈活控制。
本系統(tǒng)采用目前較先進(jìn)的無(wú)線通信技術(shù)NB-IoT。與2G技術(shù)相比,NB-IoT 技術(shù)具有較低功耗、更廣覆蓋、更低成本等優(yōu)勢(shì)。主控制器會(huì)將采集到的傳感器數(shù)值按照固定的協(xié)議打包,并經(jīng)過(guò)NB 模塊發(fā)送至云平臺(tái),然后平臺(tái)解析出所接收到的數(shù)據(jù),并且顯示相應(yīng)的參數(shù)。此外,NB 模塊接收來(lái)自云平臺(tái)或者APP 發(fā)送的控制命令通過(guò)串口傳送給主控制器,達(dá)到實(shí)時(shí)且靈活多變地控制增氧機(jī)的效果[5]。
(3)根據(jù)當(dāng)前的水質(zhì)參數(shù)進(jìn)行數(shù)據(jù)挖掘推送養(yǎng)殖決策指令。
信息傳輸無(wú)疑是精確漁業(yè)系統(tǒng)至關(guān)重要的組成部分。本項(xiàng)目設(shè)計(jì)的基于NB-IoT 的水產(chǎn)養(yǎng)殖增氧機(jī)可以實(shí)時(shí)監(jiān)測(cè)水中氧度、溫度、濁度等,決策人員通過(guò)遠(yuǎn)程服務(wù)器查看增氧機(jī)采集的水質(zhì)參數(shù),及時(shí)根據(jù)具體情況改善水質(zhì),提高水產(chǎn)養(yǎng)殖的工作效率,從而達(dá)到極大地提高漁業(yè)生產(chǎn)的效率和收益的目的。