無線傳感器網絡智能建筑節能系統數據傳輸協議設計與實現
2.2.2 優先級ACK機制
IEEE 802.15.4標準中規定,發送信標幀或確認幀時,應將MAC幀頭確認請求子域設置為0,不要求目標接收設備確認,發送任何廣播幀確認請求子域都設置為0;MAC數據幀或MAC命令幀發送時,幀控制域確認請求子域應設置為1,接收設備將對發送幀進行確認,若目標接收設備正確接收到該幀將發送一個確認幀,該確認幀的數據順序編號與所確認的MAC數據幀或MAC命令幀數據順序編號相同。
若每一個MAC數據幀都要求接收方回復ACK幀,ACK幀在網絡中的傳輸量將不可忽略。同時,若接收方正確接收MAC數據幀后回復的ACK幀在傳輸過程中丟失,導致MAC數據幀發送方認為上一次數據幀傳輸失敗而重發數據幀,這類現象將引發不必要的數據重傳,造成能量浪費。因此需要對IEEE 802.15.4MAC協議ACK機制進行改進。
當網絡穩健運行,監測環境中無特殊事件發生時,普通數據周期性由無線傳感器網絡向外界報告,這部分信息通常具有一定的冗余性。例如,無線傳感器網絡在一個小時內甚至更長的一段時間內采集建筑物室內的溫度數據、光強數據,小量普通數據包的丟失不會對整個建筑節能系統的總體性能產生很大的影響。同時,在無人為等干擾情況下,無線鏈路狀態良好,普通數據傳輸成功率很高,并不需要每一跳都有ACK確認回復。因此,對數據包的確認采用以下策略:
(1)LP低優先級數據包:不進行ACK確認;
(2)MP中優先級數據包:逐跳的ACK確認;
(3)HP高優先級數據包:逐跳的ACK確認+端到端的ACK確認。
對于低優先級數據包,不進行ACK確認,直接發送或者轉發;對于中優先級數據包,進行逐跳的ACK確認,這也是IEEE 802.15.4標準的原先處理方式;對于高優先級數據包,源端發送高優先級數據后并不立即清除,而是將其放至特定緩存區,直到收到來自目的端的ACK確認信息方可清空緩存區,如果在一定時間內沒有收到來自目的端的確認信息,則啟動重傳機制。
3 實際測試環境的搭建與測試
本文利用北京交通大學下一代互聯網互聯設備國家工程實驗室自主開發和研制的微型傳感路由器MSRLab6進行驗證,MSRLab6節點采用ATmega128作為處理器、射頻芯片采用CC2420芯片,能量供應模塊使用直流9 V電壓供電或直接采用3.3 V干電池供電。驗證系統如圖6所示,主要是在機械樓7層實際場景部署。其中紅色圓形節點(如7011等)為普通節點,紅色三角形節點(如1951等)為中繼節點,五角星節點(8919)為網關節點。各普通節點在收集每個房間的溫濕度、光強等傳感信息,通過中繼節點以多跳的方式將數據發送至網關節點,網關節點將協議進行轉換把數據發送給服務器并保存在本地數據庫。在服務器端,用戶可以在用戶管理端的圖形界面上發送命令,通過網關節點發送給普通節點,可以實現改變普通節點的配置,獲取節點信息等功能。本文引用地址:http://www.104case.com/article/161132.htm
測試所發送的數據包如圖7所示,前4位為適配頭,轉換為二進制為前16位,其中第12及13位表示數據包的優先級。“11”代表HP數據,“01”代表MP數據,“00”代表LP數據,對應到圖中就分別為“18”,“08”,“00”。
圖8是丟包率測試結果,由圖可以看出,由于采用了端到端的確認機制可以保證高優先級數據的可靠傳輸;同時使得中優先級和低優先級數據的丟包率在5跳以內都低于傳統的數據傳輸協議;在6跳以后,由于實際應用環境的復雜性(電磁以及人的干擾等),網絡性能不太穩定,數據傳輸的丟包率增加明顯。因此本文提出的智能建筑數據傳輸協議滿足實際應用中不同的應用需求。
圖9是時延測試結果,由圖可以看出,在數據傳輸少于3跳的情況下,可靠傳輸機制對數據時延影響并不大,但在數據傳輸大于3跳后,可靠傳輸協議對時延的影響增大,特別是對HP數據,由于優先級高,省去了列隊等待的時間,發送時延得到了有效減少。
4 結語
本文首先對無線傳感器網絡的智能建筑節能系統進行了系統介紹,討論了研究無線傳感器網絡數據傳輸技術的必要性,并結合智能建筑節能的特點和實際需求,設計和實現了一個基于優先級隊列及優先級ACK的數據傳輸方案,對重要信息提供端到端的保證,實現了控制信息的及時、可靠傳輸。最后,本文通過實際測試平臺對提出的協議進行了驗證,并證明與傳統的傳輸協議相比,在本傳輸協議影響下,對于重要的數據,丟包率減少,發送時延減少,各種優先級的數據均得到了更加可靠的傳輸。
評論