基于無線傳感器網絡的河流自動監(jiān)測站設計
2.2 節(jié)點軟件設計
考慮到傳感器網絡本身特性和應用需求,傳感器網絡部分軟件開發(fā)采用專門研發(fā)的TinyOS操作系統(tǒng)。其模塊化設計降低了程序規(guī)模,適用于存儲資源少和處理能力有限的傳感器。TinyOS采用事件驅動模式,任務隊列為空時,節(jié)點處于休眠狀態(tài),有效降低能量消耗。TinyOS支持的nesC語言是對C語言的擴展,實現了組件化/模塊化思想與事件驅動執(zhí)行模型的結合,開發(fā)方便。
采集節(jié)點的軟件流程如圖2所示。本文引用地址:http://www.2s4d.com/article/156536.htm
系統(tǒng)上電后首先完成各個模塊的初始化及對通信模塊、外圍電路、電源的檢測等。因要采集節(jié)點的數字信號和模擬信號,因此分別采用中斷和輪詢兩種方式采集感知信號。節(jié)點啟動后,設置外部中斷寄存器開啟外部中斷,設置INT1引腳的中斷為上升沿觸發(fā),以中斷方式記錄數字傳感器的感知事件。連接模擬傳感器的節(jié)點啟動后開啟Timer,當時間Timer.fire()觸發(fā)拋出Datdtask()任務,進行ADC采樣、封裝數據并將數據包發(fā)送到簇頭節(jié)點。
2.3 路由協議
河流監(jiān)測屬于數據聚集應用,是無線傳感器網絡的一類重要應用模式。網絡的惟一目的節(jié)點是匯聚節(jié)點,所有監(jiān)測節(jié)點的數據都要發(fā)送到匯聚節(jié)點。因此設計中選用LEPS(Link Estimation and Parent Select)協議,適用于數據聚集應用的TinyOS多跳路由協議。
LEPS路由協議建立以匯聚節(jié)點為根節(jié)點的樹形拓撲,每個節(jié)點維護自己與鄰居節(jié)點間的雙向鏈路質量評估,并以此為依據選擇鏈路質量最好、跳數最小的鄰居節(jié)點作為父節(jié)點。數據轉發(fā)時網路層應用程序根據LEPS路由協議完成路由決策,選擇有效路徑將數據傳輸到匯聚節(jié)點。
3 自動監(jiān)測站設計
自動監(jiān)測站在原有河流監(jiān)測系統(tǒng)中只負責數據采集,而基于無線傳感器網絡的河流監(jiān)測系統(tǒng)中的自動監(jiān)測站既要實現原有的數據采集功能,還要充當無線傳感器網絡的網關實現協議轉換和通信功能。
3.1 自動監(jiān)測站硬件設計
自動監(jiān)測站位于整個監(jiān)測系統(tǒng)的中部,是信息傳遞的樞紐。負責啟動、配置監(jiān)測網絡,協調無線傳感器網絡和原有自動監(jiān)測,實現Zig-Bee無線協議與RTU通信協議之間的轉換。
自動監(jiān)測站處理大量監(jiān)測數據和命令,因此設計中考慮到穩(wěn)定性、可靠性等因素,自動監(jiān)測站的匯聚節(jié)點使用Micaz節(jié)點。其51針擴展接口能夠連接I2C,SPI,UART等接口,易與其他設備連接,射頻模塊還具有高速傳輸速率和加密功能。將Micaz節(jié)點與Mib510板連接即可以構成一個提供RS 232接口的基站。
RTU是自動監(jiān)測站的核心設備,既要作為原有系統(tǒng)的數據采集器,還要承擔無限傳感器網絡的網管功能。SIXNET的IPm2m RTU嵌入Linux系統(tǒng),具有高級編程能力,并具有數據記錄功能。接口豐富,不僅提供數字模擬混合I/O,還有RS 232,RS 485,以太網接口各一個。設計中RS 232接口用于和上層的PC機連接。RTU則通過RS 485接口與匯聚節(jié)點連接,RTU工作在主機狀態(tài),整個無線傳感器網絡則可看作從設備。
評論