基于無線傳感器網絡的河流自動監測站設計
2.2 節點軟件設計
考慮到傳感器網絡本身特性和應用需求,傳感器網絡部分軟件開發采用專門研發的TinyOS操作系統。其模塊化設計降低了程序規模,適用于存儲資源少和處理能力有限的傳感器。TinyOS采用事件驅動模式,任務隊列為空時,節點處于休眠狀態,有效降低能量消耗。TinyOS支持的nesC語言是對C語言的擴展,實現了組件化/模塊化思想與事件驅動執行模型的結合,開發方便。
采集節點的軟件流程如圖2所示。本文引用地址:http://cqxgywz.com/article/156536.htm

系統上電后首先完成各個模塊的初始化及對通信模塊、外圍電路、電源的檢測等。因要采集節點的數字信號和模擬信號,因此分別采用中斷和輪詢兩種方式采集感知信號。節點啟動后,設置外部中斷寄存器開啟外部中斷,設置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工作在主機狀態,整個無線傳感器網絡則可看作從設備。














評論