楊亞軍 張辛波 吳必造


摘要:本文研究的重點(diǎn)為RTU部分,首先詳細(xì)介紹了系統(tǒng)的河流監(jiān)測(cè)系統(tǒng)的核心部分RTU的硬件設(shè)計(jì)流程,包括硬件的整體設(shè)計(jì)和硬件各模塊的設(shè)計(jì);然后是軟件實(shí)現(xiàn)過(guò)程,包括軟件的整體設(shè)計(jì),并詳細(xì)介紹了采集模塊和傳輸模塊的軟件業(yè)務(wù)流程。最后結(jié)合云端對(duì)整個(gè)系統(tǒng)的性能進(jìn)行了綜合測(cè)試,證明了本文設(shè)計(jì)的河流監(jiān)測(cè)系統(tǒng)能實(shí)現(xiàn)實(shí)時(shí)采集和無(wú)線上傳數(shù)據(jù),并在云端展示的功能。
[關(guān)鍵詞]物聯(lián)網(wǎng)河流監(jiān)測(cè)單片機(jī)嵌入式
1引言
隨著物聯(lián)網(wǎng)的發(fā)展,每個(gè)真實(shí)的物體都可以通過(guò)電子標(biāo)簽連入互聯(lián)網(wǎng),形成一個(gè)龐大的物聯(lián)網(wǎng),最保守的預(yù)測(cè)認(rèn)為在2045年將會(huì)有超過(guò)1千億的設(shè)備連接在互聯(lián)網(wǎng)上。因此物聯(lián)網(wǎng)未來(lái)將會(huì)改變和影響我們的工作生活各個(gè)方面。水是生命之源,隨著我國(guó)工業(yè)化進(jìn)程的逐步加速,隨之而來(lái)的水污染問(wèn)題也是不容忽視的。綠樹(shù)青山就是金山銀山,也就是水污染問(wèn)題已經(jīng)成為制約我國(guó)經(jīng)濟(jì)發(fā)展和人民健康長(zhǎng)壽的關(guān)鍵問(wèn)題。而我國(guó)在在水污染治理這方面相較于發(fā)達(dá)國(guó)家起步晚且存在一定的差距。雖然市場(chǎng)上目前存在許多水質(zhì)監(jiān)測(cè)儀,能監(jiān)測(cè)水質(zhì)的綜合指標(biāo),但我國(guó)目前多數(shù)河流的監(jiān)測(cè)都是采用儀器采集人工讀取的方式。這樣并不能完全做到實(shí)時(shí)監(jiān)控河道情況,也增加了人員開(kāi)銷(xiāo),還不便于綜合數(shù)據(jù)后期對(duì)河道水質(zhì)進(jìn)行綜合分析。
為了解決實(shí)時(shí)智能監(jiān)測(cè)河流中水的溫度、PH、電導(dǎo)率、溶解氧、濁度、氨氮、總磷、總氮、COD、葉綠素、藍(lán)綠藻等;以及河岸的岸線雨量、河道水位與流量。綜合了嵌入式技術(shù)以及物聯(lián)網(wǎng)技術(shù),設(shè)計(jì)了一個(gè)基于嵌入式的低功耗河流監(jiān)測(cè)系統(tǒng)。系統(tǒng)主要分為RTU(RemoteTerminalUnit)遠(yuǎn)程終端設(shè)備和云端系統(tǒng)兩部分。RTU的主控模塊采用M6Y2C核心控制板和ARM控制芯片;采集模塊預(yù)留ADC接口,RS485接口以及I0接口三種類(lèi)型的傳感器接口,外接傳感器來(lái)采集河流的水位、水量以及水質(zhì)等信息;然后將采集到的數(shù)據(jù)暫存在存儲(chǔ)模塊中;并通過(guò)通信模塊將數(shù)據(jù)通過(guò)4G、2G或NB三種模式向云端發(fā)送數(shù)據(jù);最終在云端可以查看RTU傳輸上來(lái)的各項(xiàng)河流數(shù)據(jù)。
2河流監(jiān)測(cè)系統(tǒng)的硬件設(shè)計(jì)
RTU設(shè)備硬件要實(shí)現(xiàn)對(duì)水中的溫度、PH、電導(dǎo)率、溶解氧、濁度、氨氮、總磷、總氮、COD、葉綠素、藍(lán)綠藻等;以及河岸的岸線雨量、河道水位與流量進(jìn)行監(jiān)測(cè),并通過(guò)傳輸模塊實(shí)現(xiàn)實(shí)時(shí)上傳到云端服務(wù)器上。因此本小節(jié)首先根據(jù)需求設(shè)計(jì)架構(gòu),再具體分析每個(gè)模塊的功能。
2.1RTU設(shè)備整體架構(gòu)方案
RTU設(shè)備要實(shí)現(xiàn)對(duì)水中狀態(tài)進(jìn)行監(jiān)測(cè)就需要采集傳感器,要實(shí)現(xiàn)實(shí)時(shí)上傳到云端就需要設(shè)計(jì)傳輸模塊。在進(jìn)行系統(tǒng)設(shè)計(jì)時(shí)要注意以下幾個(gè)要點(diǎn):
(1)要根據(jù)待采集的水質(zhì)特征選擇不同的傳感器,并統(tǒng)計(jì)不同傳感器的接口類(lèi)型在RTU設(shè)備中預(yù)留一定數(shù)量的冗余采集接口;
(2)要確保RTU設(shè)備所采集到的數(shù)據(jù)能最大可能的傳送到云端服務(wù)器,因此在進(jìn)行系統(tǒng)設(shè)計(jì)時(shí)要考慮到向云端傳輸數(shù)據(jù)模塊的冗余;
(3)選擇核心處理器時(shí)要考慮處理器能性能,在性能上能支撐同時(shí)處理多傳感器的數(shù)據(jù)的情況下盡量控制成本。下一小節(jié)中將具體介紹RTU系統(tǒng)的硬件模塊的設(shè)計(jì);
(4)要充分的考慮模塊的供電冗余問(wèn)題,保障模塊的運(yùn)行穩(wěn)定性。
2.2RTU設(shè)備的硬件節(jié)點(diǎn)設(shè)計(jì)
根據(jù)2.1章節(jié)的設(shè)計(jì)要求,RTU設(shè)備的硬件節(jié)點(diǎn)的整體架構(gòu)如圖1所示。主要包含如下幾個(gè)重要的部分:
(1)主控模塊:主控模塊負(fù)責(zé)系統(tǒng)的流程控制,綜合考慮性能的成本,本文選用NXPi.MX6ULL,該主控SoC基于Cortex-A7核心,帶有8路串口接口、2路百兆以太網(wǎng)接口、2路ADC接口和豐富的存儲(chǔ)接口,能充分滿足本文的設(shè)計(jì)要求。
(2)接口部分:采集傳感器接口包括ADC接口,RS485接口以及IO接口。其中ADC接口用以外接模擬傳感器;RS485接口用以外接基于Modbus協(xié)議的傳感器,如水紋傳感器、水質(zhì)傳感器;IO接口用來(lái)接開(kāi)關(guān)量傳感器,如雨量傳感器。硬件設(shè)計(jì)上最多可支持外接傳感器為64個(gè),且支持三種接口不同類(lèi)型傳感器,充分考慮了傳感器接口冗余的問(wèn)題,可擴(kuò)張展性較好。網(wǎng)絡(luò)接口為RJ45接口,用以外接網(wǎng)絡(luò)攝像頭,實(shí)時(shí)監(jiān)控河流狀態(tài)。
(3)存儲(chǔ)模塊用來(lái)本地暫時(shí)存儲(chǔ)RTU設(shè)備所采集到的各種數(shù)據(jù)然后通過(guò)傳輸模塊發(fā)送到云端,主要包括:傳感器數(shù)據(jù)、視頻圖片、以及本地視頻數(shù)據(jù)等,并且支持循環(huán)覆蓋最早的視頻。
(4)通訊模塊:通訊模塊分為傳輸模塊和Wi-Fi模塊。先介紹傳輸模塊,傳輸模塊是將RTU設(shè)備采集到的數(shù)據(jù)向云端進(jìn)行傳輸。通信模塊可用4G、2G、NB三種模式向云端進(jìn)行無(wú)線數(shù)據(jù)傳輸。在數(shù)據(jù)傳輸過(guò)程中做了健壯處理,數(shù)據(jù)首先采取4G模式進(jìn)行無(wú)線傳輸,若傳輸失敗;則采用2G模式進(jìn)行傳輸若傳輸失敗;則采用NB模式進(jìn)行傳輸。Wi-Fi模塊用于本地局域網(wǎng)連接,嵌入式Wi-Fi模塊向RTU設(shè)備附近發(fā)射一個(gè)局域網(wǎng),當(dāng)設(shè)備出現(xiàn)問(wèn)題遠(yuǎn)程不能解決時(shí),可本地登錄RTU設(shè)備的Web界面進(jìn)行狀態(tài)瀏覽,查看錯(cuò)誤代碼方便檢修,減少了設(shè)備運(yùn)維過(guò)程中的復(fù)雜度。
(5)備用電池,雖然設(shè)備運(yùn)行的地方前會(huì)先鋪設(shè)線路供電采用市電供電,但如若市電出現(xiàn)停電或者電壓不穩(wěn)等供電故障的問(wèn)題,則電源會(huì)自動(dòng)切換為電池供電。為設(shè)備的穩(wěn)定運(yùn)行提供了雙保險(xiǎn)。
3河流監(jiān)測(cè)系統(tǒng)的軟件設(shè)計(jì)與實(shí)現(xiàn)本小節(jié)主要介紹:
3.1軟件模塊設(shè)計(jì)
系統(tǒng)軟件的設(shè)計(jì)框圖如圖2所示,從下到上依次為:硬件層、操作系統(tǒng)層(開(kāi)發(fā)環(huán)境是基于Linux操作系統(tǒng))、以及應(yīng)用層。
硬件層主要包括第2小節(jié)中介紹的各模塊的硬件部分模塊這里就不再贅述;
開(kāi)發(fā)環(huán)境是基于Linux操作系統(tǒng)的將Linux操作系統(tǒng)移植到單片機(jī)上面可以減少不必要的開(kāi)發(fā),將復(fù)雜的東西交給系統(tǒng)去處理。開(kāi)發(fā)人員可以將放在關(guān)注點(diǎn)更多的放在軟件設(shè)計(jì)上而不必過(guò)多的關(guān)注底層硬件的東西;
應(yīng)用層,應(yīng)用層位于Linux操作系統(tǒng)之上,在邏輯上分為如下五個(gè)業(yè)務(wù)模塊:數(shù)據(jù)采集業(yè)務(wù)模塊、數(shù)據(jù)傳輸業(yè)務(wù)模塊、Web應(yīng)用模塊、視頻模塊以及升級(jí)模塊。由于篇幅有限本文會(huì)詳細(xì)介紹兩個(gè)應(yīng)用層的兩個(gè)核心業(yè)務(wù)模塊,分別是數(shù)據(jù)采集業(yè)務(wù)模塊和數(shù)據(jù)傳輸業(yè)務(wù)模塊。
3.2采集模塊業(yè)務(wù)模塊程序設(shè)計(jì)
采集負(fù)貴對(duì)中水的溫度、PH、電導(dǎo)率、溶解氧、濁度、氨氮、總磷、總氮、COD、葉綠素、藍(lán)綠藻等;以及河岸的岸線雨量、河道水位與流量進(jìn)行監(jiān)測(cè),監(jiān)測(cè)傳感器的業(yè)務(wù)流程圖如圖3所示。
以一次數(shù)據(jù)采集過(guò)程為例,模塊上電后流程分為如下幾步:
(1)主控模塊開(kāi)始讀取傳感器的初始信息;
(2)然后監(jiān)測(cè)傳感器信道是否空閑,如果正在傳輸數(shù)據(jù)則等待;
(3)若信道空閑則輪詢下接的所有傳感若傳感器未打開(kāi)則繼續(xù)輪詢等待;
(4)若傳感器打開(kāi)則定時(shí)采集數(shù)據(jù)時(shí)間
是否已到,本系統(tǒng)設(shè)置的采集周期是XXX,若采集周期未到則繼續(xù)輪詢等待;
(5)若采集周期時(shí)間已到則設(shè)置傳感器
通道模式為BUSY并采集傳感器數(shù)據(jù),采集完成后將數(shù)據(jù)發(fā)送到代發(fā)區(qū)等待發(fā)送;
(6)對(duì)待發(fā)區(qū)數(shù)據(jù)進(jìn)行采集,然后存儲(chǔ)在存儲(chǔ)模塊中。采集完成后將傳輸通道值設(shè)為空閑即IDLE狀態(tài)。
3.3傳輸模塊業(yè)務(wù)模塊程序設(shè)計(jì)
傳輸模塊負(fù)貴將存儲(chǔ)模塊暫存的采集到的傳感器數(shù)據(jù),通過(guò)無(wú)線的方式發(fā)送到云端。發(fā)送模塊的軟件業(yè)務(wù)流程圖如圖4所示。
以一次發(fā)送數(shù)據(jù)的過(guò)程為例:
(1)首先讀取系統(tǒng)初始配置,本模塊中初始配置為先優(yōu)先選擇4G模式發(fā)送數(shù)據(jù),其次2G,最后是NBiot模式;
(2)做發(fā)送數(shù)據(jù)前的準(zhǔn)備先和云平臺(tái)通信建立聯(lián)系;
(3)等待定時(shí)發(fā)送數(shù)據(jù)時(shí)間若時(shí)間未到則繼續(xù)等待。
(4)若定時(shí)時(shí)間到,即需要向云端傳輸數(shù)據(jù)則發(fā)送數(shù)據(jù)。
(5)若數(shù)據(jù)沒(méi)有成功傳送出去則依次再嘗試采用2G和NBiot模式傳送數(shù)據(jù)。若三次嘗試都失敗,則再次重新發(fā)送。
(6)若數(shù)據(jù)發(fā)送成功,則判定是否處于周期上報(bào)模式,若是則關(guān)閉和云端的無(wú)線通信通道,進(jìn)入休眠,等待下一個(gè)傳送周期的時(shí)間到再喚醒重復(fù)傳送過(guò)程。
(7)若不是周期上報(bào)模式,則保持與云端的數(shù)據(jù)通信通道連接,保持監(jiān)聽(tīng),需要及時(shí)向云端上傳數(shù)據(jù)。
4系統(tǒng)的性能測(cè)試
前面的第2和第3小節(jié)已經(jīng)介紹了河流檢測(cè)系統(tǒng)RTU設(shè)備的軟硬件設(shè)計(jì),本章接種我們將RTU設(shè)備通過(guò)網(wǎng)絡(luò)和云端結(jié)合并進(jìn)行測(cè)試實(shí)驗(yàn)分析。
4.1RTU實(shí)驗(yàn)裝置
RTU設(shè)備的成品如圖5所示。采用24v直流電源供電。上端有四個(gè)傳輸接口,分別是4G接口,NB接口,WiFi接口以及預(yù)留的GNSS(GlobalNavigationSatelliteSystem)衛(wèi)星導(dǎo)航定位模塊。下端是電源接口和三種不同類(lèi)型的傳感器接口,分別是ADC接口,RS485接口以及I0接口用于外接采集傳感器。
4.2結(jié)合云端的采集傳送測(cè)試
將RTU設(shè)備放置于河邊實(shí)驗(yàn)環(huán)境中,通過(guò)手機(jī)登錄云平臺(tái)查看數(shù)據(jù)可以查看采集到的各項(xiàng)數(shù)據(jù),包括水的溫度、PH、電導(dǎo)率、溶解氧、濁度、氨氮、總磷、總氮、COD、葉綠素、藍(lán)綠藻等;以及河岸的岸線雨量、河道水位與流量。但文中由于篇幅有限,此處僅以兩張水溫和PH值的圖片為例,如圖6所示。
從圖6可以看出2019年3月15日從15:57-17:53這個(gè)時(shí)間段內(nèi)每5分鐘云端收到一個(gè)河水的PH值,這段時(shí)間內(nèi)河內(nèi)的PH在7.0-7.1之間波動(dòng);從2019年3月13日從13:22-16:27這個(gè)時(shí)間段內(nèi)每5分鐘云端收到一個(gè)河水的溫度值,河水的溫度在9.0-9.1之間波動(dòng)。
通過(guò)測(cè)試結(jié)果可以看出本文設(shè)計(jì)的河流監(jiān)測(cè)系統(tǒng)是可以實(shí)現(xiàn)對(duì)河流狀態(tài)的監(jiān)控.通過(guò)RTU中的采集模塊外接各種功能的采集傳感器進(jìn)行數(shù)據(jù)采集,然后數(shù)據(jù)暫存到存儲(chǔ)模塊中,并通過(guò)傳輸模塊定時(shí)向云平臺(tái)傳輸傳感器采集到的各項(xiàng)數(shù)據(jù)。最終通過(guò)云平臺(tái)進(jìn)行展示。
5總結(jié)
文中通過(guò)對(duì)河流監(jiān)測(cè)系統(tǒng)的RTU設(shè)備的硬件部分的功能分析,和軟件部分的程序設(shè)計(jì),并結(jié)合云平臺(tái)性能測(cè)試證明,河流監(jiān)測(cè)系統(tǒng)可以達(dá)到對(duì)河流的水質(zhì)情況和河岸環(huán)境進(jìn)行監(jiān)控的目的。
將RTU設(shè)備下端的傳感器接口外接各種不同類(lèi)型的傳感器,可以采集河水的溫度、PH、電導(dǎo)率、溶解氧、濁度、氨氮、總磷、總氮、COD、葉綠素、藍(lán)綠藻等;以及河岸的岸線雨量、河道水位與流量。將采集到的傳感器數(shù)據(jù)暫存到存儲(chǔ)模塊中,然后通過(guò)傳輸模塊以4G、2G或NBIoT模式與云端連接并進(jìn)行數(shù)據(jù)傳輸。最終在云端進(jìn)行數(shù)據(jù)的展示。同時(shí)RTU設(shè)備在設(shè)計(jì)時(shí)考慮了供電冗余問(wèn)題,正常情況采用市電供電,當(dāng)市電輸入不能支持設(shè)備運(yùn)行時(shí)比如停電或者電壓不穩(wěn)時(shí),可以自動(dòng)切換為電池供電,增強(qiáng)了系統(tǒng)的可靠性。同時(shí)RTU設(shè)備還預(yù)留了網(wǎng)絡(luò)攝像頭接口可以支持網(wǎng)絡(luò)攝像頭;預(yù)留了GNSS模塊接口,在環(huán)境復(fù)雜的情況下可以定位到RTU的具體位置;RTU設(shè)備還內(nèi)置Wi-Fi模塊,當(dāng)遠(yuǎn)端不能解決模塊故障時(shí),便于運(yùn)維人員進(jìn)行現(xiàn)場(chǎng)檢修,而不需要拆掉RTU設(shè)備,就能通過(guò)RTU設(shè)備發(fā)送出的Wi-Fi登錄Web界面查看故障原因,提高了運(yùn)維人員運(yùn)維效率。
綜上,本文設(shè)計(jì)的RTU河流監(jiān)測(cè)設(shè)備可以實(shí)現(xiàn)對(duì)河流進(jìn)行實(shí)時(shí)監(jiān)測(cè)的目的,并做到了電源冗余,無(wú)線傳輸冗余,支持三類(lèi)不同類(lèi)型接口的傳感器,支持GNSS,支持本地Wi-Fi檢修等功能,具有創(chuàng)新性和較強(qiáng)工程應(yīng)用價(jià)值。
參考文獻(xiàn)
[1]杜曉通。無(wú)線傳感器網(wǎng)絡(luò)技術(shù)與工程應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2010:13-32.
[2]于含。基于物聯(lián)網(wǎng)的河流水質(zhì)監(jiān)控系統(tǒng)設(shè)計(jì)研究[D].吉林:吉林大學(xué)[碩士學(xué)位論文],2015.
[3]鄒賽,劉昌明,李法平。基于無(wú)線傳感器網(wǎng)絡(luò)的水環(huán)境,監(jiān)測(cè)系統(tǒng)[J].傳感器與微系統(tǒng),2010,9:104-109.
[4]高琪,張歌珊。我國(guó)江河污染現(xiàn)狀及治理模式[J].東北水利水電,2006,10:49-51.
[5] ZhengGengzhong, Liu Qiumei. 2010.Asurveyon topology control inwireless sensor networks [C]. ICFN,376- 380.
[6]李妍,張培玉.監(jiān)測(cè)環(huán)境污染的生物傳感器[J].環(huán)境研究與監(jiān)測(cè),2010,12:77-79.
[7]李文.2009.基于ZigBee和GPRS的遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)[J].低壓電器,2009,12.