劉傳領(lǐng),陳 明,池 濤
(上海海洋大學(xué) 信息學(xué)院/農(nóng)業(yè)農(nóng)村部漁業(yè)信息重點(diǎn)實(shí)驗(yàn)室,上海 201306)
大面積水產(chǎn)養(yǎng)殖發(fā)展迅速,信息化、數(shù)字化、智慧化監(jiān)測(cè)技術(shù)手段的研發(fā)與應(yīng)用對(duì)實(shí)現(xiàn)優(yōu)質(zhì)、高效、安全、環(huán)保的養(yǎng)殖目標(biāo)尤為重要[1-2]。在針對(duì)溶解氧、酸堿度、溫度、鹽度、氨氮等水體環(huán)境關(guān)鍵因子構(gòu)建基于物聯(lián)網(wǎng)技術(shù)的水體環(huán)境在線實(shí)時(shí)監(jiān)測(cè)系統(tǒng)的研究方面,黃建清等[3]在水產(chǎn)養(yǎng)殖水質(zhì)監(jiān)測(cè)系統(tǒng)開發(fā)中通過nRF905射頻芯片實(shí)現(xiàn)水質(zhì)數(shù)據(jù)的傳輸,使中短程無線數(shù)據(jù)傳輸創(chuàng)新性在水產(chǎn)養(yǎng)殖中得到實(shí)際應(yīng)用;李鑫星等[4]針對(duì)ZigBee多跳通信的特點(diǎn)提出了一種基于JN5139的ZigBee無線模塊,實(shí)現(xiàn)對(duì)溶解氧、pH、電導(dǎo)率和溫度的監(jiān)測(cè)。多跳通信的遠(yuǎn)距離數(shù)據(jù)傳輸會(huì)增大數(shù)據(jù)的丟失概率。金光等[5]對(duì)ZigBee與LoRaWAN的網(wǎng)絡(luò)拓?fù)鋸?fù)雜度、能耗、部署3部分進(jìn)行了對(duì)比分析,在拓?fù)浣Y(jié)構(gòu)方面ZigBee為多跳路由將數(shù)據(jù)傳輸?shù)絽R聚節(jié)點(diǎn)建立簇樹形的無線傳感網(wǎng),LoRaWAN網(wǎng)絡(luò)節(jié)點(diǎn)單跳即可覆蓋終端節(jié)點(diǎn)從而建立星型低功耗廣域網(wǎng),得出LoRa在大范圍覆蓋通信場(chǎng)景優(yōu)于ZigBee。林永君等[6]發(fā)展了水產(chǎn)養(yǎng)殖數(shù)據(jù)監(jiān)測(cè)領(lǐng)域的無線通信方式,將基于商業(yè)化的GPRS無線通信媒介應(yīng)用到了監(jiān)測(cè)領(lǐng)域,借助互聯(lián)網(wǎng)對(duì)現(xiàn)場(chǎng)設(shè)備信息進(jìn)行遠(yuǎn)程監(jiān)控;但GPRS通信依賴于電信運(yùn)營(yíng)商,若監(jiān)測(cè)目的地離運(yùn)營(yíng)商基站較遠(yuǎn),GPRS信號(hào)差或無信號(hào)的情況下實(shí)際通信質(zhì)量較低,導(dǎo)致通信丟包率高甚至無法完成正常通訊需求[7]。
針對(duì)大面積水產(chǎn)養(yǎng)殖中水質(zhì)監(jiān)測(cè)所面臨的節(jié)點(diǎn)分布廣且分散,偏遠(yuǎn)郊野地帶商用通信信號(hào)較差的問題,本文結(jié)合LoRa無線通信距離遠(yuǎn)的特點(diǎn),設(shè)計(jì)了一款實(shí)現(xiàn)低功耗遠(yuǎn)距離無線傳輸?shù)亩嗨|(zhì)因素監(jiān)測(cè)系統(tǒng),并開發(fā)了在線監(jiān)測(cè)平臺(tái),在覆蓋較大規(guī)模目標(biāo)監(jiān)測(cè)水域面積的前提下實(shí)現(xiàn)對(duì)目標(biāo)監(jiān)測(cè)水體溫度、溶解氧、pH、氨氮和鹽度5種關(guān)鍵環(huán)境理化因素的在線監(jiān)測(cè)。文中對(duì)系統(tǒng)采集終端的誤差進(jìn)行了比對(duì)及對(duì)系統(tǒng)整體水質(zhì)因素采集進(jìn)行了整體測(cè)試,以期為水質(zhì)環(huán)境監(jiān)測(cè)的相關(guān)研究提供新的參考。
水質(zhì)監(jiān)測(cè)設(shè)備主要包括數(shù)據(jù)采集模塊、通信接口電路、控制核心、LoRa無線發(fā)送模塊、遠(yuǎn)程LoRa無線接收模塊和上位機(jī)端可視化平臺(tái)等。在水質(zhì)數(shù)據(jù)采集端,分別使用溶解氧/溫度傳感器、酸堿度傳感器、氨氮傳感器、鹽度傳感器實(shí)現(xiàn)對(duì)水質(zhì)多重因素的采集。各節(jié)點(diǎn)采集的數(shù)據(jù)通過RS485總線經(jīng)由通信接口電路傳送至控制核心進(jìn)行下一步處理。由于水體環(huán)境比較復(fù)雜,通信線路面臨多種形式的干擾源,以通信接口電路的形式實(shí)現(xiàn)電路保護(hù)。數(shù)據(jù)傳輸單元(Data transfer unit,DTU)把采集到的數(shù)據(jù)通過LoRa無線數(shù)據(jù)通信方式向外發(fā)送,遠(yuǎn)程接收模塊實(shí)現(xiàn)對(duì)采集數(shù)據(jù)的接收,至此完成一個(gè)水質(zhì)數(shù)據(jù)采集發(fā)送與遠(yuǎn)程接收端的收發(fā)周期。系統(tǒng)整體框架圖見圖1。
圖1 監(jiān)測(cè)系統(tǒng)結(jié)構(gòu)圖Fig. 1 Structure diagram of monitoring system
系統(tǒng)水質(zhì)數(shù)據(jù)采集終端的控制核心采用TI公司具有16位總線的MSP430F149型微控制器[8-10]。該芯片包括60 kb閃存、256字節(jié)FLASH、2 kb RAM,以及基本時(shí)鐘模塊、看門狗定時(shí)器、帶3個(gè)捕獲/比較寄存器和PWM輸出的16位定時(shí)器、帶7個(gè)捕獲/比較寄存器和PWM輸出的16位定時(shí)器、2個(gè)具有中斷功能的8位并行端口、4個(gè)8位并行端口、模擬比較器、12位A/D轉(zhuǎn)換器、2個(gè)串行通信接口等模塊?;咀钚】刂齐娐芬妶D2。
通過查閱文獻(xiàn)[11-13],本系統(tǒng)的水質(zhì)數(shù)據(jù)采集采用了對(duì)水質(zhì)溫度、溶解氧、pH、鹽度、氨氮5個(gè)關(guān)鍵因子進(jìn)行監(jiān)測(cè)的4個(gè)傳感器,各傳感器型號(hào)、量程及精度如表1所示。
以上4種傳感器通過RS485總線傳輸采集的數(shù)據(jù)信號(hào),以連接到采集設(shè)備控制核心進(jìn)行數(shù)據(jù)的無線傳輸。圖3為探測(cè)器實(shí)物圖。
圖2 監(jiān)測(cè)系統(tǒng)控制核心電路Fig. 2 Control core circuit of monitoring system
表1 數(shù)據(jù)采集傳感器及相關(guān)參數(shù)Table 1 Data acquisition sensors and related parameters
圖3 各探測(cè)傳感器實(shí)物圖Fig. 3 Physical map of each detecting sensor
具有代表性的無線通信方式主要包括長(zhǎng)距離無線廣域網(wǎng)代表技術(shù) GPRS、NB-IOT[14]、LoRa[15],短距離無線局域網(wǎng)代表技術(shù)WiFi、Zigbee[16]。表2對(duì)各技術(shù)從通信頻段、傳輸距離、傳輸速度方面進(jìn)行了綜合對(duì)比。本系統(tǒng)采用LoRa無線通信方式進(jìn)行采集端與匯聚節(jié)點(diǎn)間的數(shù)據(jù)傳輸。
2.3.1 網(wǎng)關(guān)節(jié)點(diǎn) LoRa匯聚網(wǎng)關(guān)端采用SX1301數(shù)字基帶芯片[17],該芯片具備對(duì)應(yīng)8個(gè)頻點(diǎn)的8個(gè)通道,每個(gè)通道支持SF7到SF12 六種速率,LoRa Std可以對(duì)49個(gè)LoRa信號(hào)解碼,網(wǎng)關(guān)容量大,理論上可支持多達(dá)10 000個(gè)終端接入。結(jié)合Mediatek(聯(lián)發(fā)科)的MT7688AN芯片進(jìn)行數(shù)據(jù)處理構(gòu)成匯聚網(wǎng)關(guān)。通過采取LoRaWAN協(xié)議標(biāo)準(zhǔn)實(shí)現(xiàn)網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換。本系統(tǒng)網(wǎng)關(guān)節(jié)點(diǎn)保留了GPRS通信方式作為備選,網(wǎng)關(guān)節(jié)點(diǎn)實(shí)物圖見圖4。
2.3.2 組網(wǎng)方式及數(shù)據(jù)格式 文中采用主機(jī)輪詢方式組網(wǎng),從機(jī)編號(hào)為 1、2、3、4、5、6、7、8、9,分別對(duì)應(yīng)9個(gè)養(yǎng)殖水塘,主機(jī)根據(jù)從機(jī)地址不同分別訪問各從機(jī)節(jié)點(diǎn)。各從機(jī)在接收到主機(jī)數(shù)據(jù)傳輸命令后,對(duì)應(yīng)從機(jī)將數(shù)據(jù)打包開始數(shù)據(jù)傳送。單一節(jié)點(diǎn)的數(shù)據(jù)接收完成后,主機(jī)以同樣的輪詢方式獲取其他從機(jī)的待傳輸數(shù)據(jù)。
數(shù)據(jù)傳輸過程中,采用MODBUS RTU通信協(xié)議。報(bào)文傳輸格式如下。開始:T1-T2-T3-T4,4位起始符;地址:8 bits,表示設(shè)備地址,即主站要訪問的從站地址,范圍為 0~247;功能:8 bits,表示功能代碼占位,主要區(qū)分為“讀”、“寫”功能,即具體讀取從站哪塊區(qū)域的數(shù)據(jù)以及具體將數(shù)據(jù)寫到從站的哪塊區(qū)域,不同從站的數(shù)據(jù)區(qū)對(duì)應(yīng)有不同的功能碼;數(shù)據(jù):N*8 bits,對(duì)所發(fā)送數(shù)據(jù)進(jìn)行整8位的分配空間;校驗(yàn):16 bits,2個(gè)字節(jié)的差錯(cuò)校驗(yàn),即CRC校驗(yàn)低位8 bits,CRC校驗(yàn)高位8 bits;終止:T1-T2-T3-T4,4位結(jié)束符。
表2 無線通信技術(shù)對(duì)比分析Table 2 Comparative analysis of wireless communication technology
圖4 網(wǎng)關(guān)節(jié)點(diǎn)實(shí)物圖Fig. 4 Gateway node physical map
2.3.3 數(shù)據(jù)發(fā)送與遠(yuǎn)程接收 監(jiān)測(cè)終端數(shù)據(jù)的采集與發(fā)送。系統(tǒng)通過各傳感器設(shè)備采集水質(zhì)數(shù)據(jù)后,按照數(shù)據(jù)幀的格式傳輸?shù)絃oRa發(fā)送模塊,LoRa模塊發(fā)送前一直處于待機(jī)狀態(tài),在初始化Tx模塊后,將FifoPtrAddr設(shè)置為FifoTxPtrBase,并把PayloadLength寫入FIFO(RegFifo)。然后方可將待發(fā)送數(shù)據(jù)(Payload)寫入FIFO,通過發(fā)送Tx模式請(qǐng)求切換到發(fā)送狀態(tài)將數(shù)據(jù)通過LoRa調(diào)制成信號(hào)幀發(fā)送出去,等到發(fā)送完成后,會(huì)產(chǎn)生TxDone中斷,同時(shí)再次切換為待機(jī)狀態(tài),完成一個(gè)發(fā)送流程[18]。發(fā)送流程如圖5a所示。
圖5 數(shù)據(jù)收發(fā)流程Fig. 5 Data sending and receiving processes
遠(yuǎn)程無線接收端的數(shù)據(jù)接收。該監(jiān)測(cè)系統(tǒng)采取連續(xù)接收模式,LoRa調(diào)制解調(diào)器首先會(huì)持續(xù)地掃描信道搜索前導(dǎo)碼,如果檢測(cè)到,LoRa會(huì)在收到數(shù)據(jù)之前對(duì)該前導(dǎo)碼進(jìn)行檢測(cè)及跟蹤,然后繼續(xù)等待檢測(cè)下一前導(dǎo)碼。如果前導(dǎo)碼長(zhǎng)度超過RegPreambleMsb和RegPreambleLsb設(shè)定的預(yù)計(jì)值(按照符號(hào)周期測(cè)量),則前導(dǎo)碼會(huì)被丟棄,并重新開始搜索前導(dǎo)碼,但這種場(chǎng)景不會(huì)產(chǎn)生中斷標(biāo)志。與單一Rx模式相反,在連續(xù)Rx模式下,當(dāng)產(chǎn)生RxTimeout中斷時(shí),設(shè)備不會(huì)進(jìn)入待機(jī)模式,這時(shí)用戶必須在設(shè)備繼續(xù)等待有效前導(dǎo)碼的同時(shí)直接清除中斷信號(hào)。接下來開始數(shù)據(jù)包接收,在睡眠或待機(jī)模式下,選擇RxCOUNT模式;在收到有效報(bào)頭Header后,緊接著會(huì)產(chǎn)生RxDone中斷。芯片一直處于RxCOUNT模式,等待下一個(gè)LoRa數(shù)據(jù)包;檢查PayloadCrcError標(biāo)志,以驗(yàn)證數(shù)據(jù)包的完整性。如果數(shù)據(jù)包被正確接受,則可以讀取FIFO;之后不斷判斷是否有新的數(shù)據(jù)包待接收。接收流程圖如圖5b所示。
為滿足系統(tǒng)遠(yuǎn)程監(jiān)測(cè)需求,參考文獻(xiàn)[19-21]開發(fā)了服務(wù)器端的監(jiān)測(cè)平臺(tái)。依據(jù)權(quán)限不同,平臺(tái)提供2個(gè)進(jìn)入系統(tǒng)的端口,用戶登錄時(shí)可以選擇以普通用戶或管理員身份登錄。管理員可以進(jìn)入系統(tǒng)用戶管理頁面,功能包括已注冊(cè)成員的增刪改查等。普通用戶直接進(jìn)入數(shù)據(jù)可視化平臺(tái),實(shí)現(xiàn)對(duì)水體環(huán)境關(guān)鍵因素的實(shí)時(shí)監(jiān)察。服務(wù)器端采用Linux系統(tǒng)搭建,通過JetBrains下的IntelliJ IDEA開發(fā)工具創(chuàng)建,編程語言為Java。該線上平臺(tái)采用SpringMVC框架,數(shù)據(jù)庫連接通過HiBernate對(duì)象關(guān)系映射框架連接操作,通過Tomcat部署在Linux系統(tǒng)上。數(shù)據(jù)展示界面通過調(diào)用開源可視化庫Echarts實(shí)現(xiàn),其中包括對(duì)中國氣象平臺(tái)應(yīng)用程序接口(Application programming interface,API)的調(diào)用,實(shí)現(xiàn)平臺(tái)的天氣預(yù)報(bào)功能。圖6為服務(wù)器云平臺(tái)的架構(gòu)。
作為大面積水產(chǎn)養(yǎng)殖水質(zhì)環(huán)境因素監(jiān)測(cè)設(shè)備這一應(yīng)用實(shí)例,為了進(jìn)一步驗(yàn)證系統(tǒng)整體的實(shí)際應(yīng)用效果,水質(zhì)參數(shù)在線監(jiān)測(cè)系統(tǒng)于2019年5月開始在楊進(jìn)浜水產(chǎn)養(yǎng)殖基地部署進(jìn)行水質(zhì)環(huán)境因素監(jiān)測(cè),截至2020年6月已經(jīng)正常完成了13個(gè)月有余的時(shí)間。圖7為設(shè)備實(shí)際部署的位置情況。
圖6 服務(wù)器云平臺(tái)的架構(gòu)Fig. 6 Architecture of server cloud platform
圖7 采集節(jié)點(diǎn)設(shè)備部署Fig. 7 Collection node equipment deployment
本文給出了2019年10月4日13:00—16:00對(duì)1號(hào)水塘水體水文數(shù)據(jù)的實(shí)際采集情況與誤差分析。數(shù)據(jù)采集周期為10 min,監(jiān)測(cè)時(shí)段內(nèi)系統(tǒng)運(yùn)行狀態(tài)正常。圖8為單一采集終端實(shí)物及電路封裝圖。
圖8 單一采集終端實(shí)物圖及電路封裝Fig. 8 Physical map of single acquisition end and circuit package
為分析本系統(tǒng)采集數(shù)據(jù)的精度,采用HANNA公司研發(fā)的HI98319型電導(dǎo)EC法鹽度測(cè)定儀、HI9146型飽和溶解氧測(cè)定儀、HI98121型手持酸度pH-氧化還原ORP-溫度測(cè)定儀分別測(cè)出水體的鹽度、溶解氧、pH、溫度4個(gè)要素,與本系統(tǒng)設(shè)備實(shí)際所測(cè)數(shù)據(jù)進(jìn)行誤差分析。如圖9所示,在所測(cè)時(shí)段內(nèi),水質(zhì)數(shù)據(jù)采集系統(tǒng)實(shí)際所測(cè)水體溶解氧含量的絕對(duì)誤差為0.12 mg/L,鹽度的絕對(duì)誤差為0.001%,pH的絕對(duì)誤差為0.017,溫度的絕對(duì)誤差為0.05 ℃。
根據(jù)實(shí)際需求,本系統(tǒng)的監(jiān)測(cè)平臺(tái)如圖10所示,主要功能包括但不限于:
1)對(duì)匯聚網(wǎng)關(guān)節(jié)點(diǎn)接收到的數(shù)據(jù)包進(jìn)行數(shù)據(jù)合法性檢驗(yàn),應(yīng)答空中入網(wǎng)請(qǐng)求,提取有效傳感器數(shù)據(jù)信息傳輸?shù)浇K端監(jiān)測(cè)模塊,進(jìn)行數(shù)據(jù)繪圖處理。
2)網(wǎng)絡(luò)氣象服務(wù)。實(shí)時(shí)校驗(yàn)系統(tǒng)與傳輸節(jié)點(diǎn)間時(shí)間,并提供滿足基地所處區(qū)域最近7天天氣的監(jiān)測(cè)端服務(wù)需求。
圖9 部分監(jiān)測(cè)時(shí)段內(nèi)各要素?cái)?shù)據(jù)Fig. 9 Element data during partial monitoring period
3)終端監(jiān)測(cè)功能。對(duì)數(shù)據(jù)獲取模塊經(jīng)過校驗(yàn)后的有效信息進(jìn)行進(jìn)一步處理并對(duì)當(dāng)前水體溶解氧濃度、氨氮濃度、溫度、pH、鹽度5種環(huán)境因素進(jìn)行實(shí)時(shí)顯示。
另外,為測(cè)試采集設(shè)備用電情況,試驗(yàn)采用5 200 mA電池為設(shè)備供電,于10月4日16:06放置在水域,開始數(shù)據(jù)采集測(cè)試,設(shè)備于10月5日20:37左右電量耗盡而停止工作,持續(xù)工作約28.5 h。
本文針對(duì)水產(chǎn)養(yǎng)殖的環(huán)境因素動(dòng)態(tài)變化,尤其是多種水體環(huán)境監(jiān)測(cè)因素綜合影響的特點(diǎn),采用動(dòng)態(tài)自檢測(cè)技術(shù)方案,設(shè)計(jì)了一種基于MSP430F149微控制器的可同時(shí)采集水體溶解氧、鹽度、pH、氨氮和溫度5種參數(shù)數(shù)據(jù)的設(shè)備。設(shè)備通過LoRa無線通信技術(shù)與上位機(jī)端數(shù)據(jù)可視化平臺(tái)相結(jié)合的設(shè)計(jì),增強(qiáng)了遠(yuǎn)距離水質(zhì)監(jiān)測(cè)技術(shù)的可靠性,解決了動(dòng)態(tài)實(shí)時(shí)測(cè)量中監(jiān)測(cè)數(shù)據(jù)長(zhǎng)距離傳輸問題及數(shù)據(jù)同步上位機(jī)端平臺(tái)展示問題。
系統(tǒng)在楊進(jìn)浜水產(chǎn)養(yǎng)殖基地應(yīng)用中取得了良好的效果。系統(tǒng)實(shí)際所測(cè)水體溶解氧含量絕對(duì)誤差為0.12 mg/L,鹽度的絕對(duì)誤差為0.001%,pH的絕對(duì)誤差為0.017,溫度的絕對(duì)誤差為0.05 ℃,可以達(dá)到實(shí)際水質(zhì)監(jiān)測(cè)應(yīng)用中的需求。單一采集設(shè)備功耗測(cè)試中,5 200 mA電池可持續(xù)為終端設(shè)備供電28.5 h。
考慮到大面積養(yǎng)殖漁業(yè)環(huán)境監(jiān)測(cè)的實(shí)際需求,為實(shí)現(xiàn)監(jiān)測(cè)端長(zhǎng)時(shí)間持續(xù)地工作,下一步將在現(xiàn)有研究的基礎(chǔ)上為系統(tǒng)搭載太陽能供電系統(tǒng),以避免頻繁更換供電電源;另外需要在水產(chǎn)養(yǎng)殖中智能控制及通信距離與質(zhì)量上進(jìn)行更深層次的研究。
致謝:特此感謝上海海洋大學(xué)農(nóng)業(yè)農(nóng)村部漁業(yè)信息重點(diǎn)實(shí)驗(yàn)室提供的實(shí)驗(yàn)平臺(tái)以及課題組指導(dǎo)老師們的幫助!