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