0 引言
河流是工農業發展的重要資源,同時對區域生態資源有著重要影響。伴隨著自然條件的變化以及工業發展,頻發的洪澇災害和各種水污染問題嚴重影響河流的健康狀況。因此建立實時有效的河流監測系統對防洪及水污染治理有著重要意義。
目前,河流自動監測系統主要由前方的自動監測站點和后方的控制中心組成。自動監測站負責對河流的各項指標進行監測,并使用移動通信網絡,計算機網絡、數傳電臺等傳輸方式將監測數據發送到控制中心。
現有自動監測站大多由傳感器、數據采集器和傳輸設備組成,體積較大。監測站不同設備之間采用有線方式連接。河流監測點大多位于偏僻地區,受到布線和環境因素限制,自動監測站監測范圍有限、靈活性差,無法大量部署站點。因此,監測系統無法提供大量有效數據覆蓋河流流域。本文提出一種基于無線傳感器網絡的河流自動監測站設計方案,擴大現有自動監測站的監測面積,提高靈活性,及時提供監測區域河流的水文、水質狀況。
1 系統結構及組成
系統采用兩級結構:數據采集層和數據匯聚層。數據采集層具有采集和傳輸功能,負責采集監測區域內數據并選擇有效的路由將數據傳輸到匯聚層;數據匯聚層具有數據匯集、封裝、傳輸功能,匯聚不同通道的數據,根據通信協議封裝原始數據并發送出去。
基于無線傳感器網絡的河流自動監測站由無線傳感器網絡和自動監測站組成,分別實現數據采集和數據匯聚功能。系統組成如圖1所示。
無線傳感器節點具有可擴展、易部署的特點。可以根據監測方案的需求,攜帶不同的水文、水質傳感器,部署在河流監測斷面及沿岸。這些節點以自組織的方式形成多跳網絡,監測信息以逐跳傳遞到自動監測站的匯聚節點。自動監測站由匯聚節點和RTU組成,是整個河流監測系統的通信樞紐。自動監測站接收無線傳感器網絡發送的河流信息,并傳輸到各級主控中心;接收控制中心命令,啟動無線傳感器網絡并監測網絡運行狀況。
2 無線傳感器網絡
無線傳感器網絡作為原有自動監測站的一路擴充信號,可以根據需求調整節點部署位置和密度,提高原有監測站的監測范圍和靈活度。無線傳感器網絡設計包括節點硬件設計、軟件設計以及路由協議三個方面。
2.1 節點硬件
傳感器節點是無線傳感器網絡的基本組成單元,并且實現網絡終端和路由器雙重功能。節點一般具備信息采集、數據存儲和簡單處理、無線通信功能,并且可以與其他無線傳感器節點協作,完成指定的任務。傳感器節點通常由處理器模塊、傳感器模塊、無線通信模塊和電源模塊組成。
處理器是硬件平臺的核心,負責節點各個模塊的控制,數據處理和傳輸等重要任務。無線傳感器節點的處理器應具有功耗低、集成度高、性能良好、成本低的特點。ATmega公司開發的ATmega128L是一款低功耗、高性能的AVR 8位芯片。內部有128 KB的系統內可編程FLASH,適合反復燒寫程序。該芯片提供電源管理及睡眠模式,可以通過寄存器設置關閉MUC不使用的模塊,方便實現節點在休眠和工作狀態的切換,
降低能耗。可提供8個通道的10位ADC轉換功能以及外部中斷功能,便于外部擴展。
傳感器模塊的選擇依據水文、水質常規監測項,主要包括水位、雨量、流速、含氧量、pH值等。由于節點部署在戶外,要考慮到能量供應、壽命等因素選擇低功耗,穩定性好的傳感器。設計中使用了雨量傳感器與水位傳感器。
Delta-T Devices生產的RG2翻斗式雨量傳感器的工作原理是,在計量翻斗承受的降水量到一定量(0.2 mm)時,計量翻斗會把降水傾倒至計數翻斗,計數翻斗翻轉一次送出一個開關信號。雨量計提供兩根連接線,一根線和電源相連,另一根是信號線。傳感器的信號線與處理器的INT1引腳連接。
雨量傳感器提供數字量輸出,因此使用處理器提供的外部中斷方式采集信號。ATmega128L的中斷可以由下降沿、上升沿,或者是低電平觸發,設置外部中斷寄存器EICRA的ISC11位和ISC10位均為1,即開啟INT1引腳的上升沿異步中斷請求。SREG寄存器的1標志位以及外部中斷屏蔽寄存器EMISK的INT1置1,當INT1引腳產生電平跳變時,雨量計產生一個量程式觸發中斷。
水位傳感器采用GIobal Water的WL400水位傳感器。它適合用于嚴酷外部環境,具有極好的線性和較弱的滯后效應,能夠及時監測到微小的水位變化,提供4~20 mA電流輸出,溫度與電壓自動補償。該傳感器接口簡單,總共有兩個引腳,分別是電源和信號輸出。由于ATmega128 L的ADC端口是對電壓信號采樣,因此先使用轉換電路將傳感器的輸出信號轉換為0.5~2.5 V的平穩電壓信號。將轉化后的電壓信號與芯片的ADC引腳相連,通過軟件編程對相應引腳采樣讀取水位值。
無線傳感器網絡工作時,能量消耗主要由節點間通信產生。因此通信芯片的性能、功耗對整體能量消耗、網絡壽命至關重要。TIChipeon公司生產的CC2420芯片具有低電壓、低功耗的特點,使用IEEE 802.15.4協議能確保短距離通信的可靠性。CC2420芯片通過SPI針腳與處理器連接,處理器工作在主機模式,CC2420則是從設備。
2.2 節點軟件設計
考慮到傳感器網絡本身特性和應用需求,傳感器網絡部分軟件開發采用專門研發的TinyOS操作系統。其模塊化設計降低了程序規模,適用于存儲資源少和處理能力有限的傳感器。TinyOS采用事件驅動模式,任務隊列為空時,節點處于休眠狀態,有效降低能量消耗。TinyOS支持的nesC語言是對C語言的擴展,實現了組件化/模塊化思想與事件驅動執行模型的結合,開發方便。
采集節點的軟件流程如圖2所示。
系統上電后首先完成各個模塊的初始化及對通信模塊、外圍電路、電源的檢測等。因要采集節點的數字信號和模擬信號,因此分別采用中斷和輪詢兩種方式采集感知信號。節點啟動后,設置外部中斷寄存器開啟外部中斷,設置INT1引腳的中斷為上升沿觸發,以中斷方式記錄數字傳感器的感知事件。連接模擬傳感器的節點啟動后開啟Timer,當時間Timer.fire()觸發拋出Datdtask()任務,進行ADC采樣、封裝數據并將數據包發送到簇頭節點。
2.3 路由協議
河流監測屬于數據聚集應用,是無線傳感器網絡的一類重要應用模式。網絡的惟一目的節點是匯聚節點,所有監測節點的數據都要發送到匯聚節點。因此設計中選用LEPS(Link Estimation and Parent Select)協議,適用于數據聚集應用的TinyOS多跳路由協議。
LEPS路由協議建立以匯聚節點為根節點的樹形拓撲,每個節點維護自己與鄰居節點間的雙向鏈路質量評估,并以此為依據選擇鏈路質量最好、跳數最小的鄰居節點作為父節點。數據轉發時網路層應用程序根據LEPS路由協議完成路由決策,選擇有效路徑將數據傳輸到匯聚節點。
3 自動監測站設計
自動監測站在原有河流監測系統中只負責數據采集,而基于無線傳感器網絡的河流監測系統中的自動監測站既要實現原有的數據采集功能,還要充當無線傳感器網絡的網關實現協議轉換和通信功能。
3.1 自動監測站硬件設計
自動監測站位于整個監測系統的中部,是信息傳遞的樞紐。負責啟動、配置監測網絡,協調無線傳感器網絡和原有自動監測,實現Zig-Bee無線協議與RTU通信協議之間的轉換。
自動監測站處理大量監測數據和命令,因此設計中考慮到穩定性、可靠性等因素,自動監測站的匯聚節點使用Micaz節點。其51針擴展接口能夠連接I2C,SPI,UART等接口,易與其他設備連接,射頻模塊還具有高速傳輸速率和加密功能。將Micaz節點與Mib510板連接即可以構成一個提供RS 232接口的基站。
RTU是自動監測站的核心設備,既要作為原有系統的數據采集器,還要承擔無限傳感器網絡的網管功能。SIXNET的IPm2m RTU嵌入Linux系統,具有高級編程能力,并具有數據記錄功能。接口豐富,不僅提供數字模擬混合I/O,還有RS 232,RS 485,以太網接口各一個。設計中RS 232接口用于和上層的PC機連接。RTU則通過RS 485接口與匯聚節點連接,RTU工作在主機狀態,整個無線傳感器網絡則可看作從設備。
3.2 自動監測站軟件設計
自動監測站的主要功能就是實現協議間的轉換,將無線傳感器網絡的數據包格式解析成RTU數據格式并進行存儲。
無線傳感器網絡中傳輸的主動消息包內容包括地址(Destination Address)、句柄ID(Handler ID)、組ID(group ID)、消息長度(Message Length)和有效數據載荷(Payload)。其中最大長度(29 B)的有效數據載荷中保存監測數據及源節點號這些重要信息。RTU通信消息格式包括包長、源地址、CRC校驗位等固定部分,其中數據域內容包括消息類型、寄存器起始地址、占用寄存器的大小。數據域的大小可以根據需要進行調整。
自動監測站接收來自無線傳感器網的所有主動消息包,剔除冗余信息提取有效數據,判斷數據是否有效,無效則拋棄該數據包,有效則存儲到RTU消息包的數據域,完成數據的二次封裝,并將數據包發送到主控中心。軟件流程如圖3所示。
4 結論
無線傳感器網絡具有低成本、低功耗、與應用相關、便于部署等特點。適于在惡劣、復雜環境下完成目標監測、跟蹤等功能,因此在環境監測,戰場目標跟蹤方面具有廣泛前景。將無線傳感器網絡與原有河流監測系統結合能夠擴大監測范圍和精度。在下一步工作中將優化網絡,提高網絡的監測效率。