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