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





