謝李祥,邢傳璽,萬興舉,吳耀文,張東玉
(云南民族大學(xué) 電氣信息工程學(xué)院,云南 昆明 650500)
海洋擁有豐富的自然資源,同時也是影響全球環(huán)境和氣候變化的主要動力因素.精準地獲取淺海信息和開發(fā)利用海洋資源已成為人類文明持續(xù)發(fā)展的關(guān)鍵[1].目前國內(nèi)傳統(tǒng)的環(huán)境參數(shù)采集設(shè)備通常為定點浮標、潛標或者水面調(diào)查船等.這些設(shè)備在具體實施的過程中存在許多問題:數(shù)據(jù)采集完成后,通常將其存儲在自身的存儲介質(zhì)中,需要工作人員后期進行回收和對數(shù)據(jù)進行分析,不能及時、直觀的獲取淺海信息而且需要花費大量的人力物力[2].此外浮標和潛標等傳統(tǒng)采集設(shè)備,安放地點固定,對于大面積監(jiān)測海域時,測量結(jié)果存在偶然性,不易具有代表性.
本文結(jié)合當(dāng)前淺海所面臨的環(huán)境污染、資源匱乏等問題和水聲信號采集的運用背景,設(shè)計了一種由數(shù)據(jù)采集終端為核心的淺海環(huán)境參數(shù)采集系統(tǒng).數(shù)據(jù)采集終端集多種傳感器、存儲模塊、無線傳模塊和電源管理模塊為一體.其通過驅(qū)動多種傳感器獲取淺海環(huán)境參數(shù),并將結(jié)果存儲和通過無線通信模塊發(fā)送到遠程監(jiān)控中心進行分析,避免了人工回收數(shù)據(jù)所消耗的人力物力和不能及時、直觀獲取淺海信息的缺點.為了實現(xiàn)大面積海域的數(shù)據(jù)采集,將數(shù)據(jù)采集終端搭載在自動巡航的監(jiān)測平臺上,避免了單點測量數(shù)據(jù)不具代表性的缺點.
本系統(tǒng)將多個傳感器搭載在自動巡航的監(jiān)測平臺上,作為系統(tǒng)的數(shù)據(jù)采集終端[3-4],采集終端通過多個傳感器獲取數(shù)據(jù)后使用NB-IoT無線傳輸模塊進行環(huán)境參數(shù)回傳,使得遠程控制中心能夠及時獲取數(shù)據(jù)[5];在獲取到數(shù)據(jù)后,對數(shù)據(jù)進行分析處理,并在用戶端進行可視化,便于更好的使用數(shù)據(jù)與監(jiān)測海洋.系統(tǒng)的整體結(jié)構(gòu)設(shè)計圖如圖1所示.
圖1 系統(tǒng)整體結(jié)構(gòu)設(shè)計圖
其中每個單個節(jié)點均搭載在獨立的移動浮標上,且包括控制中心、GPS天線、溫濕度模塊、NB-IoT模塊和多傳感器模塊,并使用太陽能板給蓄電池進行充電,具體結(jié)構(gòu)設(shè)計如圖2所示.
圖2 單節(jié)點結(jié)構(gòu)設(shè)計圖
數(shù)據(jù)采集終端主要由主控模塊、數(shù)據(jù)采集模塊、存儲模塊、GPS模塊、電源控制模塊和無線通信模塊組成[6].數(shù)據(jù)采集終端結(jié)構(gòu)如圖3所示.
圖3 數(shù)據(jù)采集終端結(jié)構(gòu)圖
主控模塊采用STM32系列處理器,主要負責(zé)主控程序的運行,各模塊初始化和接口函數(shù)程序加載,以及對采集的數(shù)據(jù)進行存儲和發(fā)送;數(shù)據(jù)采集模塊主要負責(zé)采集所測區(qū)域的各種參數(shù),包括溫濕度、PH值、水溫和水深等環(huán)境信息[6-7],通過RS485、RS232和IIC等總線與主控芯片連接,實現(xiàn)數(shù)據(jù)回傳和接收主控芯片的控制信息[8-9];無線通信模塊采用NB-IoT模塊,主要負責(zé)將終端采集的數(shù)據(jù)上傳到遠程控制中心;GPS模塊主要負責(zé)獲取所測區(qū)域經(jīng)緯度和當(dāng)前時刻 的UTC時間和日期.
其中電源模塊主要負責(zé)給整個系統(tǒng)供電,采用電池容量為 7 500 mAh/12 V 的鋰聚合物電池,并同時使用18V.5 W的太陽能板進行充電.根據(jù)太陽能的轉(zhuǎn)換效率,每天光照 8 h 左右,產(chǎn)能為[2]:
Q產(chǎn)能=5 W×8 h×50%=20 Wh.
(1)
整個系統(tǒng)采用低功耗方案設(shè)計[10],系統(tǒng)工作時最大功耗為900 mW,若每天按24 h使用,則總耗能為:
Q耗能=900 mW×24 h=21.6 Wh.
(2)
通過上式計算使用太陽能供電也可基本滿足系統(tǒng)供電需求,此外在蓄電池一次完全充電的情況下,系統(tǒng)可以使用的時長為:
T=12 V×7.5 Ah/900 mW=120 Wh/0.9 W=100 h.
(3)
則正常情況下,可連續(xù)采集4天以上,滿足連續(xù)采集和低功耗需求.
主控模塊采用STM32F407芯片,該芯片具有高性能、低功耗、實時性的特征[11],同時具有豐富的外設(shè),包括多達15個通信接口和17個定時器[12],滿足系統(tǒng)開發(fā)要求和接口需求.其主控芯片主要負責(zé)對系統(tǒng)進行初始化,初始化完成后通過規(guī)定的時序依次驅(qū)動多種傳感器對所測區(qū)域的水文環(huán)境參數(shù)進行采集,并將采集數(shù)據(jù)通過SPI口存儲到外部FLASH中和通過無線通信模塊發(fā)送到遠程控制中心,其工作流程如圖4所示.
圖4 主控程序工作流程
數(shù)據(jù)采集模塊主要為采集水文環(huán)境參數(shù)的多個傳感器,通過各種通信接口與主控芯片相連接,其中PH值通過PH電極和PH變送器獲取、水深通過GPS秒脈沖觸發(fā)換能器垂直向下發(fā)射單一波束聲波,并根據(jù)來自水底反射回波的接收時間、發(fā)射時間與聲速計算獲取、水溫參數(shù)通過DS18B20數(shù)字溫度傳感器獲取、所測區(qū)域溫濕度參數(shù)通過SHT31溫濕度傳感器獲取[6].各傳感器都滿足性能穩(wěn)定、耐腐蝕能力強和精度高的特點,這將進一步更好的保障數(shù)據(jù)采集模塊準確、正常的工作.
以溫濕度傳感器SHT31為例,該傳感器通過IIC接口與主控芯片相連接,并通過內(nèi)置的溫度和濕度傳感器元件、A/D轉(zhuǎn)換器、信號處理電路和數(shù)據(jù)校準模塊實現(xiàn)溫濕度的獲取.并且該傳感器通過PTFE膜與傳感器封裝緊密的粘合在一起,有效的避免了海水與灰塵的進入,使得傳感器可以在惡劣環(huán)境下使用[6].其數(shù)據(jù)采集軟件流程如圖5所示.
圖5 數(shù)據(jù)采集流程
無線通信模塊主要負責(zé)將數(shù)據(jù)采集終端獲取的數(shù)據(jù)發(fā)送到遠程控制中心.采用谷雨有限公司的NB-IoT模塊,該模塊主要由BC_35模塊、復(fù)位電路、SIM卡槽和濾波天線組成[13].并且該模塊與短距離通信技術(shù)Zigbee、Wi-Fi、藍牙、Z-wave等相比較有著傳輸距離遠、低功耗、成本低等優(yōu)點[14-16],適合工作于寬廣的海面.
NB-IoT模塊通過USART與STM32芯片相連接,STM32通過發(fā)送AT指令對BC_35進行控制,實現(xiàn)初始化、網(wǎng)絡(luò)附著、創(chuàng)建TCP/UDP Socket、連接服務(wù)器和發(fā)送數(shù)據(jù)等操作,最后通過850MHz的SMA天線將數(shù)據(jù)上傳到Internet網(wǎng),再由Internet網(wǎng)發(fā)送到遠程控制中心,其上傳流程圖6所示.
從圖6中可以看出,當(dāng)系統(tǒng)上電后先對串口初始化,實現(xiàn)NB-IoT模塊和主控芯片正常通信.通過主控芯片給NB-IoT模塊發(fā)送AT指令,實現(xiàn)NB模塊初始化,包括查詢網(wǎng)絡(luò)狀態(tài)、附著網(wǎng)絡(luò)等.
圖6 NB-IoT通信流程
網(wǎng)絡(luò)附著成功后,按照如下步驟上傳數(shù)據(jù)并周期性檢測設(shè)備信號值、附著狀態(tài)等指標,提高傳輸可靠性.
Step1 使用AT+NSOCR=STREAM,6,10000創(chuàng)建TCP Socket.STREAM和6確定為TCP連接,本地監(jiān)聽端口號為10000,創(chuàng)建成功后NB模塊返回主動碼socket ID,其值為0~7的一個整型數(shù)值;
由于高原湖泊的湖泊環(huán)境和面臨問題與淺海類似,因此本文在云南民族大學(xué)校園內(nèi)的雨花湖中進行了驗證性實現(xiàn),測試系統(tǒng)的可行性與可靠性.將數(shù)據(jù)采集終端搭載在移動浮標上,放置于湖泊中,其姿態(tài)如圖7所示,使用無人船實現(xiàn)浮標移動.
圖7 現(xiàn)場測試圖
為了更加直觀的遠程監(jiān)測淺海環(huán)境和采集設(shè)配,在遠程控制中心使用LabVIEW軟件創(chuàng)建TCP客戶端訪問服務(wù)器,獲取終端使用NB-IoT無線傳輸模塊上傳的數(shù)據(jù)與節(jié)點地址,并將數(shù)據(jù)可視化于用戶端,其設(shè)備基本信息如圖8(a)所示,環(huán)境參數(shù)可視化如圖8(b)所示.
圖8 設(shè)備基本信息與環(huán)境參數(shù)可視化界面
從圖8(a)中可以清楚觀測到設(shè)備的工作溫度、工作電壓和運行狀等,能實時查看設(shè)備運行狀態(tài),避免設(shè)備出現(xiàn)故障,影響環(huán)境監(jiān)測;同時可以實時查看終端信號值與連接服務(wù)器狀態(tài),確保通信流暢.從圖8(b)中可以直觀看到經(jīng)緯度、水溫等基本環(huán)境參數(shù),避免了觀測分析不及時與人工回收數(shù)據(jù)成本高的缺點.
實際實驗中將多傳感器置于水下10 cm處,每1 S采集一次,并將采集的數(shù)據(jù)存儲于SD卡中,遠程控制中心距離采集點 1.5 km,同時為了更好的測量湖底地形,在實驗過程中布設(shè)了8條測線進行測量,每條測線長為 80 m,測線間距 5 m,其巡航軌跡與具體測線布設(shè)如圖9(a)和9(b)所示.
圖9 巡航軌跡與測線布設(shè)圖
從圖9(a)中可以明顯觀測到巡航軌跡,與實際無人船行駛軌跡一致,因而可以確定終端采集數(shù)據(jù)準確,且移動浮標可正常使用.
此外,遠程控制中心接收到基本環(huán)境參數(shù)后,對數(shù)據(jù)進行分析處理,并在PC端進行可視化,其溫濕度變化趨勢如圖10(a)所示,水溫度變化趨勢如圖10(b)所示.
從圖10中可以觀測到溫濕度與水溫在一天之內(nèi)的變化趨勢,和實際情況相符合.因此可以判斷該采集系統(tǒng)采集性能良好,連續(xù)性強和可靠性高,可以滿足淺海環(huán)境參數(shù)采集的需求.
圖10 溫濕度與水溫變化趨勢圖
最后,為了進一步驗證采集的深度環(huán)境參數(shù)為有效數(shù)據(jù),經(jīng)過地形鏈算法[17]進行異常值剔除后,雨花湖水下地形仿真圖如圖11所示.
圖11 實測數(shù)據(jù)水下地形仿真圖
從圖11中可以直觀看到所測區(qū)域湖底地形為中間高于兩則,達到了湖底地形測繪目的,說明該采集數(shù)據(jù)準確有效.
本文基于傳統(tǒng)水文環(huán)境參數(shù)采集設(shè)備處理數(shù)據(jù)不及時、成本高和采集數(shù)據(jù)不具代表性等缺點的考慮,設(shè)計了一套高可靠性、低功耗、低成本的采集系統(tǒng),該系統(tǒng)由多個采集傳感器組成,能更加全面準確的獲取所測區(qū)域的淺海水文信息,并將采集結(jié)果通過NB-IoT模塊及時回傳,避免了人工回收數(shù)據(jù)處理不及時和成本高的缺點;將數(shù)據(jù)采集終端搭載自動巡航的監(jiān)測平臺上,可以對大面積海域進行采集,更好的提高采集數(shù)據(jù)可靠性,進一步避免了數(shù)據(jù)的偶然性.最后經(jīng)試驗證明:采集系統(tǒng)能長時間正常工作,采集數(shù)據(jù)能及時、準確反映所測區(qū)域環(huán)境現(xiàn)狀.