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