劉帥 朱洪海,2,3
(1.齊魯工業(yè)大學(xué)(山東省科學(xué)院),山東省科學(xué)院海洋儀器儀表研究所,山東青島 266061;2.山東省海洋環(huán)境監(jiān)測技術(shù)重點實驗室,山東青島 266061;3.國家海洋監(jiān)測設(shè)備工程技術(shù)研究中心,山東青島 266061)
海洋環(huán)境是海上空中環(huán)境、海氣邊界層環(huán)境、水下環(huán)境和目標環(huán)境等環(huán)境狀況的總稱[1],隨著沿海經(jīng)濟的快速發(fā)展,我國的海洋環(huán)境問題日益突出,當(dāng)前海洋資源的可持續(xù)開發(fā)與利用已成為共識,因此對海洋環(huán)境進行監(jiān)測具有重要意義。但我國海域廣闊,導(dǎo)致海洋環(huán)境監(jiān)測存在難度大、成本高的問題。RT-Thread是一款完全由國內(nèi)團隊開發(fā)和維護的來源RTOS,是一款組件豐富,功能強大的嵌入式實時操作系統(tǒng)。針對當(dāng)前海洋環(huán)境監(jiān)測存在的問題,結(jié)合當(dāng)下技術(shù)的發(fā)展,本文設(shè)計了一款基于RT-Thread的海洋環(huán)境監(jiān)測站系統(tǒng),能夠?qū)Q蟓h(huán)境的基本氣象要素進行監(jiān)測,同時將數(shù)據(jù)進行存儲和無線傳輸,用戶可通過主機或移動終端實時獲取海洋環(huán)境數(shù)據(jù)。
海洋環(huán)境監(jiān)測站主要實現(xiàn)氣象水文要素的監(jiān)測,如風(fēng)、溫濕度、氣壓、水溫、皮溫、鹽度等要素,系統(tǒng)整體由數(shù)據(jù)采集控制器、數(shù)據(jù)傳輸單元、海洋環(huán)境監(jiān)測終端三部分組成,同時移植RT-Thread物聯(lián)網(wǎng)實時操作系統(tǒng)。數(shù)據(jù)采集控制器主要由各種水文氣象傳感器和MCU組成,如風(fēng)傳感器、溫濕度傳感器、氣壓傳感器、溫鹽傳感器等實現(xiàn)對數(shù)據(jù)的采集,同時將數(shù)據(jù)保存至SD卡。數(shù)據(jù)傳輸單元包括LORA無線通信模塊及ESP8266模塊,將數(shù)據(jù)采集控制器得到的數(shù)據(jù)通過傳輸單元發(fā)送到海洋環(huán)境監(jiān)測終端,用戶可通過終端主機或移動云平臺對海洋環(huán)境要素實時監(jiān)測。海洋環(huán)境監(jiān)測站的總體架構(gòu)如圖1 所示。

圖1 海洋環(huán)境監(jiān)測站總體架構(gòu)Fig.1 Overall architecture of marine environmental monitoring station
在監(jiān)測站系統(tǒng)中,數(shù)據(jù)采集控制器是關(guān)鍵的組成部分,MCU通過串口轉(zhuǎn)換電路或直接與傳感器連接,在監(jiān)測站監(jiān)測的水文氣象要素中選取的風(fēng)傳感器、采用RS485接口,溫濕度傳感器通過單總線方式連接到主控中心,氣壓傳感器采用IIC總線的連接方式、溫鹽傳感器則采用的是RS232接口通信方式。數(shù)據(jù)采集完成后,數(shù)據(jù)保存至SD卡,同時通過數(shù)據(jù)傳輸單元中的LORA無線通信模塊將數(shù)據(jù)發(fā)送到主機,經(jīng)ESP8266 網(wǎng)絡(luò)通信模塊把數(shù)據(jù)傳送到云端。移植RT-Thread實時操作系統(tǒng),以此為基礎(chǔ)采用多線程的方式對各個功能模塊進行實現(xiàn)。
2.1.1 主控單元
傳感器采集控制器的MCU 采用ST 公司生產(chǎn)的STM32 F103VET6芯片,該芯片是以ARM32位cortex-M3架構(gòu)為基礎(chǔ)的微處理器,工作頻率可達72Mhz,其功耗低、穩(wěn)定性強,以及豐富的片上資源完全滿足本監(jiān)測站的設(shè)計需求。
2.1.2 風(fēng)傳感器單元
監(jiān)測站采用的風(fēng)傳感器為山東省科學(xué)院海洋儀器儀表研究所生產(chǎn)的XZC2-2型號,風(fēng)速測量范圍在0~75m/s,風(fēng)向測量范圍在0~360°,測量精度為±5°,采用RS485的通信接口,與MCU的連接簡單,RS485 的通信方式極大增加了通信距離與數(shù)據(jù)的抗干擾性,滿足監(jiān)測站對風(fēng)監(jiān)測精度等方面的要求。
2.1.3 溫濕度采集單元
溫濕度采集單元使用DHT11傳感器,采用單總線的傳輸方式。它是一款含有已校準數(shù)字信號輸出的溫濕度復(fù)合傳感器。其內(nèi)置電容式感濕元件、NTC 測溫元件和一個高性能8位單片機,測量相對濕度范圍為5%~95%RH,具有極高的可靠性與穩(wěn)定性,同時還具有結(jié)構(gòu)簡單、成本低等特點[2],DHT11傳感器接口如圖2所示。

圖2 DHT11 接線圖Fig.2 DHT11 Wiring diagram
2.1.4 氣壓傳感器
BMP180是一種高精度數(shù)字型壓力傳感器,在低功耗、高精度的模式下,采集數(shù)據(jù)精度 達到0.06hPa,在高線性模式時,精度可高達0.03hPa[3]。采用IIC方式進行通信,連接電路如圖3 所示。

圖3 BMP180 接線圖Fig.3 BMP180 Wiring diagram
2.1.5 溫鹽傳感器
溫鹽傳感器采用日本JFE生產(chǎn)的型號ACTW-CAR,水溫測量范圍為-5℃~45℃,測量精度為±0.01℃,分辨率可達0.001℃,鹽度測量范圍在2~70ms/cm之間,測量精度達到±0.01mS/cm(2~65mS/cm),采用RS232的通信方式。
數(shù)據(jù)傳輸單元包括LORA 通信模塊和ESP8266 模塊兩部分,其中LORA 模塊負責(zé)將數(shù)據(jù)傳輸至主機顯示,ESP8266 模塊將數(shù)據(jù)上傳至云端。
LORA通信單元主要采用Semtech公司的SX1278射頻芯片實現(xiàn)LORA數(shù)據(jù)的傳輸,該芯片用于超長距離擴頻通信,抗干擾性強,能夠最大限度降低電流消耗。相較傳統(tǒng)調(diào)制技術(shù),LORA 調(diào)制技術(shù)在抗阻塞和選擇性方面也具有明顯優(yōu)勢,解決了傳統(tǒng)設(shè)計方案無法同時兼顧距離、抗干擾和低功耗的問題[4]。
ESP8266 是一款集成32位MCU的WIFI芯片,內(nèi)置AT指令,通過AT指令,可以快速的開發(fā)網(wǎng)絡(luò)應(yīng)用,不需要關(guān)心具體的網(wǎng)絡(luò)協(xié)議棧的內(nèi)容,ESP8266 WiFi模塊為樂鑫公司開發(fā)的一款物聯(lián)網(wǎng)專用芯片,利用ESP8266模塊只需要對串口設(shè)備進行對應(yīng)的串口配置,即可將數(shù)據(jù)通過WIFI傳輸,實現(xiàn)物聯(lián)功能。ESP8266 具備COM-AP 模式、COM-STATIOM 模式和COM-STA+AP 模式,每個模式都有各自的功能和應(yīng)用場合[5],STA模式通過路由器和英特網(wǎng)相連,屬于英特網(wǎng)內(nèi)通信;AP模式將ESP8266作為一個熱點,上位機通過連接此熱點通信,屬于局域網(wǎng)內(nèi)通信;STA 混合AP模式是以上兩種模式的混合,用戶既可在局域網(wǎng)內(nèi)通信,也可使用英特網(wǎng)通信[6]。
移動終端選用OneNET 平臺,該平臺是中國移動基于物聯(lián)網(wǎng)產(chǎn)業(yè)打造的生態(tài)平臺,具有高并發(fā)可用、多協(xié)議接入、豐富API支持、數(shù)據(jù)安全存儲、快速應(yīng)用孵化等特點。可以適配各種網(wǎng)絡(luò)環(huán)境和協(xié)議類型,現(xiàn)在支持的協(xié)議有LWM2M(NB-IOT)、EDP、MQTT、HTTP、MODBUS、JTT808、TCP透傳、RGMP等。用戶可以根據(jù)不同的應(yīng)用場景選擇不同的接入?yún)f(xié)議。同時RT-Thread 針對OneNET平臺做了軟件包的適配,通過這個軟件包可以讓設(shè)備在RT-Thread上非常方便的連接OneNet平臺完成數(shù)據(jù)的發(fā)送、接收、設(shè)備的注冊和控制等功能。
RT-Thread,全稱是Real Time-Thread,它是一個嵌入式實時多線程操作系統(tǒng),相較于Linux 操作系統(tǒng),RTThread體積小,成本低,功耗低、啟動快速,除此以外RTThread還具有實時性高、占用資源小等特點,非常適用于各種資源受限(如成本、功耗限制等)的場合。RT-Thread與其他很多RTOS如FreeRTOS、uC/OS的主要區(qū)別之一在于它不僅僅是一個實時內(nèi)核,還具備豐富的中間層組件。
系統(tǒng)軟件在集成開發(fā)環(huán)境RT-Thread Studio上開發(fā),采用模塊化設(shè)計包括數(shù)據(jù)采集模塊、數(shù)據(jù)傳輸模塊和數(shù)據(jù)上傳模塊三部分,在軟件設(shè)計過程中通過移植RT-Thread物聯(lián)網(wǎng)操作系統(tǒng),其具有的體積小、啟動快速、實時性高、占用資源小等優(yōu)良特性完全符合該系統(tǒng)的設(shè)計需求。根據(jù)模塊的功能分割成若干個獨立的任務(wù),每個任務(wù)相互獨立,互不干擾,同時該操作系統(tǒng)還提供了豐富的組件和軟件包資源,結(jié)合RT-Thread的豐富資源,海洋環(huán)境監(jiān)測站的軟件架構(gòu)如圖4 所示。

圖4 軟件架構(gòu)Fig.4 Software Architecture
數(shù)據(jù)采集控制器是該海洋環(huán)境監(jiān)測站的核心部分,主要功能是完成對各水文氣象傳感器水文數(shù)據(jù)的采集,數(shù)據(jù)的保存、實現(xiàn)環(huán)境監(jiān)測終端對風(fēng)、溫濕度、氣壓、溫鹽等要素的監(jiān)測,同時數(shù)據(jù)采集控制器將數(shù)據(jù)通過LORA無線通信模塊及ESP8266網(wǎng)絡(luò)通信模塊將數(shù)據(jù)上傳至主機和云端。系統(tǒng)的軟件流程如圖5 所示。

圖5 軟件流程圖Fig.5 Software flow chart
本文以RT-Thread操作系統(tǒng)為基礎(chǔ),STM32為主控核心,應(yīng)用各種水文氣象傳感器包括XZC2-2風(fēng)傳感器、DHT11 溫濕度傳感器、ACTW-CAR 溫鹽傳感器、BMP180氣壓傳感器等儀器設(shè)計了開發(fā)了海洋環(huán)境監(jiān)測站系統(tǒng),詳細闡述了軟件硬件的設(shè)計思路,RT-Thread 支持多任務(wù)的屬性使程序運行更加高效,同時其內(nèi)部豐富組件和軟件包資源使程序設(shè)計更加簡捷。數(shù)據(jù)傳輸單元采用無線傳輸?shù)姆绞娇梢杂行Ы鉀Q有線傳輸對數(shù)據(jù)采集帶來的不便,簡單實用,可以實現(xiàn)海洋環(huán)境信息的實時監(jiān)測,有一定的推廣價值。