基于ZigBee的無線傳感器網(wǎng)絡(luò)數(shù)據(jù)管理平臺(tái)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1 數(shù)據(jù)管理平臺(tái)設(shè)計(jì)
數(shù)據(jù)管理平臺(tái)允許用戶在客戶端瀏覽器上實(shí)時(shí)監(jiān)測來自ZigBee無線傳感器網(wǎng)絡(luò)傳來的數(shù)據(jù),工作原理,如圖l所示。文中搭建的ZigBee無線傳感器網(wǎng)絡(luò)采用TI公司的CC2430芯片以及Figure8 Wireless ZigBee Protocol Stack協(xié)議棧來實(shí)現(xiàn),采用樹形(Cluster一Tree)組網(wǎng)方式,網(wǎng)絡(luò)節(jié)點(diǎn)包括協(xié)調(diào)器、路由器和終端節(jié)點(diǎn),協(xié)調(diào)器負(fù)責(zé)收集各終端節(jié)點(diǎn)上傳的數(shù)據(jù)。
數(shù)據(jù)管理平臺(tái)分為兩大部分:一是數(shù)據(jù)的采集、分析與計(jì)算,由通信計(jì)算機(jī)完成這部分工作;二是運(yùn)行于客戶端瀏覽器的Web頁面,主要完成數(shù)據(jù)的查詢及顯示。這種基于B/S結(jié)構(gòu)設(shè)計(jì)的數(shù)據(jù)管理平臺(tái),結(jié)合了asp.net在Web應(yīng)用上的優(yōu)勢,很好的實(shí)現(xiàn)了遠(yuǎn)程終端瀏覽器在線監(jiān)測、分析和處理傳感器節(jié)點(diǎn)數(shù)據(jù)的功能。
協(xié)調(diào)器發(fā)布廣播,要求終端節(jié)點(diǎn)上傳各自的信息數(shù)據(jù),終端節(jié)點(diǎn)在收到協(xié)調(diào)器下發(fā)的命令后,將傳感器采集到的數(shù)據(jù)通過路由器轉(zhuǎn)發(fā)或者直接發(fā)送給協(xié)調(diào)器。終端節(jié)點(diǎn)上傳數(shù)據(jù)包的結(jié)構(gòu)為:包頭+命令類別+數(shù)據(jù)內(nèi)容+包尾,數(shù)據(jù)包為16進(jìn)制編碼,如圖1所示。
協(xié)調(diào)器通過串口與通信控制計(jì)算機(jī)連接,通信控制計(jì)算機(jī)首先完成數(shù)據(jù)采集工作。數(shù)據(jù)采集采用定時(shí)響應(yīng)模式,采集周期時(shí)間可以預(yù)先設(shè)定,每隔一個(gè)采集周期,協(xié)調(diào)器將收集到的數(shù)據(jù)通過串口傳輸?shù)酵ㄐ趴刂朴?jì)算機(jī)。通信控制計(jì)算機(jī)接下來將數(shù)據(jù)進(jìn)行分析、計(jì)算,處理后的數(shù)據(jù)再通過以太網(wǎng)傳輸?shù)綌?shù)據(jù)庫服務(wù)器上,寫入自定義的數(shù)據(jù)庫。
運(yùn)行于客戶端瀏覽器的Web頁面是基于.net框架開發(fā)的,開發(fā)工具主要有Visual Studio 2005和SQL Server 2000。Web頁面主要功能模塊包括即時(shí)數(shù)據(jù)、歷史數(shù)據(jù)、設(shè)備管理、用戶管理。即時(shí)數(shù)據(jù)模塊允許用戶查看當(dāng)天各個(gè)終端節(jié)點(diǎn)上傳的數(shù)據(jù),歷史數(shù)據(jù)模塊允許用戶選擇時(shí)間范圍查看各個(gè)終端節(jié)點(diǎn)上傳的數(shù)據(jù),設(shè)備管理模塊允許用戶對設(shè)備節(jié)點(diǎn)進(jìn)行重命名、新增、刪除操作,用戶管理模塊允許用戶更改密碼,管理員用戶可以進(jìn)行新增用戶、刪除用戶、授予權(quán)限等操作。普通用戶不具備設(shè)備管理、用戶管理權(quán)限。
2 客戶端軟件設(shè)計(jì)
2.1 數(shù)據(jù)庫設(shè)計(jì)
根據(jù)需要,在數(shù)據(jù)庫的設(shè)計(jì)中,主要包含以下數(shù)據(jù)表:Station_Info、Ark_Info、Node_Info、Device_Info、User_Info、Temperature_Record。Station_Info為站點(diǎn)信息表,Ark_Info為監(jiān)測點(diǎn)信息表,Node_Info為終端節(jié)點(diǎn)信息表,它們的數(shù)據(jù)庫關(guān)系圖,如圖2所示。Device_Info為節(jié)點(diǎn)關(guān)系表,User_Info為用戶信息表,Temperature_Record為溫度日志表。
數(shù)據(jù)庫的設(shè)計(jì)比較繁雜,在這里僅以節(jié)點(diǎn)關(guān)系表I)evice_Info為例進(jìn)行說明。Device_Info表能大致但不能嚴(yán)格地反映出ZigBee無線傳感器網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),這是由于終端節(jié)點(diǎn)位置的關(guān)系,上報(bào)數(shù)據(jù)的過程中,有可能要經(jīng)過二級以上路由轉(zhuǎn)發(fā)到協(xié)調(diào)器。如表2所示,l#監(jiān)測點(diǎn)是指實(shí)際的地點(diǎn),它下面的各個(gè)終端節(jié)點(diǎn)上報(bào)數(shù)據(jù)經(jīng)過的路徑可能并不完全一致,也即是說實(shí)際的網(wǎng)絡(luò)拓?fù)淇赡軙?huì)更加復(fù)雜一些。在實(shí)際應(yīng)用中,并不需要十分關(guān)注網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),更多的關(guān)注點(diǎn)是終端節(jié)點(diǎn)上傳數(shù)據(jù)的實(shí)際情況。因此,在設(shè)計(jì)節(jié)點(diǎn)關(guān)系表Device_Info時(shí),不用把ZigBee無線網(wǎng)絡(luò)的每個(gè)節(jié)點(diǎn)都反映出來,這樣可以進(jìn)行簡化設(shè)計(jì),它的結(jié)構(gòu)類似于,如表2所示結(jié)構(gòu)。
Device_Info表用于構(gòu)造生成節(jié)點(diǎn)樹形邏輯視圖,節(jié)點(diǎn)樹的葉子節(jié)點(diǎn)與ZigBee無線傳感器網(wǎng)絡(luò)的終端節(jié)點(diǎn)一一對應(yīng)。節(jié)點(diǎn)樹形邏輯視圖的生成達(dá)到了將無線傳感器網(wǎng)絡(luò)上數(shù)據(jù)的邏輯視圖和網(wǎng)絡(luò)的物理實(shí)現(xiàn)分離的目的。
使用.net Framework2.0的TreeView控件,綁定節(jié)點(diǎn)關(guān)系表Device_Info,遞歸生成節(jié)點(diǎn)樹。
2.2 數(shù)據(jù)的查詢與顯示
運(yùn)行于客戶端瀏覽器的Web頁面可以方便用戶查詢各個(gè)終端節(jié)點(diǎn)上傳的數(shù)據(jù)。Web頁面采用上方固定,左側(cè)嵌套的框架結(jié)構(gòu)。上方為Head-form.a(chǎn)spx頁面,用于功能菜單的選擇。
(1)功能菜單選擇。選擇“即時(shí)數(shù)據(jù)”菜單,下方子框架執(zhí)行realtemp.html頁面,若選擇“歷史數(shù)據(jù)”菜單,則下方子框架執(zhí)行history.html頁面。realtemp.html和history.html都為左側(cè)固定的框架結(jié)構(gòu),左側(cè)重用TreeShowPage.a(chǎn)spx頁面,Tree-ShowPage.a(chǎn)spx頁面用于顯示節(jié)點(diǎn)樹形邏輯視圖;
(2)若進(jìn)行即時(shí)數(shù)據(jù)查詢,勾中節(jié)點(diǎn)樹葉子節(jié)點(diǎn)的Checkbox,可選擇多個(gè),右側(cè)子框架執(zhí)行Re—altemper.a(chǎn)spx頁面;若進(jìn)行歷史數(shù)據(jù)查詢,勾中節(jié)點(diǎn)樹葉子節(jié)點(diǎn)的Checkbox,可選擇多個(gè),然后選擇日期范圍,右側(cè)子框架執(zhí)行HistoryTemper.a(chǎn)spx頁面;
(3)遍歷節(jié)點(diǎn)樹,統(tǒng)計(jì)所有Checkbox為選中狀態(tài)的葉子節(jié)點(diǎn)并傳值;
(4)根據(jù)獲取的頁面間傳送的值進(jìn)行查詢,并分頁顯示查詢結(jié)果。
查詢即時(shí)數(shù)據(jù)主要算法如下:
查詢歷史數(shù)據(jù)與查詢即時(shí)數(shù)據(jù)類似,不同之處是多了一個(gè)日期范圍的判斷。使用.net Frame-work2.0的GridView控件,綁定查詢結(jié)果集,可以分頁顯示結(jié)果。
3 測試結(jié)果
如圖3所示,頁面上方為功能菜單選擇子框架頁面,下方左側(cè)子框架頁面為設(shè)備節(jié)點(diǎn)樹形視圖,下方右側(cè)為數(shù)據(jù)顯示框架頁面。選取MAC地址分別為E280、1480、0703的3個(gè)終端節(jié)點(diǎn),查看它們上傳溫度數(shù)據(jù)的詳細(xì)信息。數(shù)據(jù)采集頻率大約為兩分鐘一次,實(shí)際應(yīng)用中可根據(jù)需要設(shè)置數(shù)據(jù)采集的時(shí)間間隔。用戶可以方便地查看3個(gè)終端節(jié)點(diǎn)工作的具體情況,為對監(jiān)測環(huán)境的分析提供比較直觀的參考數(shù)據(jù)。
4 結(jié)束語
為解決當(dāng)前大多數(shù)ZigBee無線傳感器網(wǎng)絡(luò)應(yīng)用層數(shù)據(jù)的監(jiān)測及管理系統(tǒng)受空間限制的問題,設(shè)計(jì)了一種基于B/S結(jié)構(gòu)的數(shù)據(jù)管理平臺(tái),它將網(wǎng)絡(luò)的物理實(shí)現(xiàn)和數(shù)據(jù)的邏輯視圖有效的分離,實(shí)現(xiàn)了遠(yuǎn)程終端瀏覽器在線監(jiān)測終端節(jié)點(diǎn)數(shù)據(jù)的功能。同時(shí)該數(shù)據(jù)管理平臺(tái)交互性良好,能夠直觀地反映每個(gè)終端節(jié)點(diǎn)的工作情況,為用戶進(jìn)一步分析提供依據(jù),它的通用性強(qiáng),可以適當(dāng)調(diào)整數(shù)據(jù)庫結(jié)構(gòu),設(shè)計(jì)出滿足自身需求的客戶端軟件??偟膩碚f,該數(shù)據(jù)管理平臺(tái)普遍適用于基于ZigBee的無線傳感器網(wǎng)絡(luò)。