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