主頁 > 軟體設計 > 無線傳感器網路筆記

無線傳感器網路筆記

2021-10-04 07:54:37 軟體設計

目錄

一 無線傳感器網路簡介

二 無線傳感器網路體系結構

三 路由協議

四 MAC協議

五 拓撲控制

六 WSN定位技術

七 時間同步

八 協議標準

九 ZigBee硬體平臺

十 NesC語言

十一 TinyOS作業系統


無線傳感器網路簡介

  1. 短距離無線通信特點:通信距離短,覆寫距離一般為10~200m,無線發射器的發射功率較低,發射功率一般小于100mW,作業頻率多為免付費、免申請的全球通用的工業、科學、醫療頻段,
  2. 短距離無線通信技術的概念:指集資訊采集、資訊傳輸、資訊處理于一體的綜合型智能資訊系統,并且其傳輸距離限制在一個較短的范圍內,
  3. 低成本低功耗對等通信是短距離無線通信技術的三個重要特征和優勢,
  4. 常見的無線通信技術有IrDA技術、藍牙技術、WIFI技術、RFID技術、UWB技術、Zigbee技術
  5. 以資料傳輸為主要功能的無線網路技術稱為無線資料網路,
  6. ALOHA協議是一種使用無線廣播技術的分組交換計算機網路協議,也是最早最基本的無線資料通信協議,
  7. ALOHA協議分為純ALOHA和時隙ALOHA兩種,
  8. ALOHA技術的特點:原理非常簡單,特別便于無線設備實作,
  9. 無線局域網是在各作業站和設備之間,不再使用通信電纜,而采用無線的通信方式連接的局域網,
  10. 無線局域網的傳輸媒體主要有兩種:無線電波和紅外線,
  11. 根據調制的方式不同,無線電波方式可分為擴展頻譜方式和窄帶調制方式,
  12. 擴展頻譜方式是指用來傳輸資訊的射頻帶寬遠大于資訊本身帶寬的一種通信方式,它雖然犧牲了頻帶帶寬,卻提高了通信系統的抗干擾能力和安全性,
  13. 窄帶調制方式是指資料基帶信號的頻譜不做任何擴展即被直接搬移到射頻發射出去,與擴展頻譜方式相比,窄帶調制方式占用頻帶少,頻帶利用率高,但是通信可靠性較差,
  14. 紅外線方式最大的有限是不受無線電干擾,且紅外線的使用不受國家無線電管理委員會限制,但是紅外線對非透明物體的透過性較差,傳輸距離受限,
  15. 無線個域網是一種與無線廣域網、無線城域網、無線局域網并列但覆寫范圍較小的無線網路,是為了實作活動半徑小、業務型別豐富、面向特定群體、無線無縫的連接而提出的新興無線通信網路技術,
  16. 無線自組織網路是一個由幾十到上百個節點組成的、采用無線通信方式的、動態組的多跳的移動性對等網路,其目的是通過動態路由和移動管理技術傳輸具有服務質量要求的多媒體資訊流,
  17. 無線傳感器網路的主要組成部分是集成有傳感器、資料處理單元和通信模塊的節點,各節點通過協議自組成一個分布式網路,再將采集來的資料通過優化后經無線電波傳輸給資訊處理中心,
  18. 傳感器網路的特點:
    1. 大規模網路
    2. 自組織網路
    3. 多跳路由
    4. 動態性網路
    5. 以資料為中心的網路
    6. 兼容性應用的網路
  19. 傳感器節點的限制
    1. 電源能量有限
    2. 通信能量有限
    3. 計算和存盤能力有限
  20. 拓撲控制是無線傳感器網路研究的核心技術之一,
  21. 傳感器網路中的拓撲控制按照研究方向可分為:節點功率控制和層次型拓撲結構組織,
  22. 無線傳感器網路最基本的安全機制:機密性、點到點的訊息認證、完整性鑒別、新鮮性、認證廣播和安全管理,
  23. 時間同步是需要協同作業的傳感器網路系統的一個關鍵機制,
  24. 三個基本的時間同步機制:RBS、TINY/MINI-SYNC和TPSN,
  25. RBS機制是基于接收者-接收者的時鐘同步一個節點廣播時鐘參考分組,廣播域內的兩個節點分別采用本地時鐘記錄參考分組的到達時間,通過交換記錄時間來實作它們之間的時鐘同步,
  26. TINY/MINI-SYNC是簡單的輕量級的同步機制:假設節點的時鐘漂移遵循線性變化,那么兩個節點之間的時間偏移也是線性的,可通過級訓時標分組來估計兩個節點之間最優匹配偏移量,
  27. TPSN采用層次結構實作整個網路節點的時間同步:所有節點按照層次結構進行邏輯分級,通過基于發送者-接收者的節點對方式,每個節點能夠與上一級的某個節點進行同步,從而實作所有節點都與根節點的時間同步,
  28. 基于距離的定位機制:通過測量相鄰節點間的實際距離或方位來確定未知節點的位置,通常采用測距、定位和修正等步驟實作,
  29. 根據測量節點間距離或方位時所用的方法,基于距離的定位分為基于TOA的定位、基于TDOA的定位、基于AOA的定位、基于RSSI的定位,
  30. 傳感器網路的資料管理系統的結構主要有集中式、半分布式、分布式以及層次式結構,目前大多數研究作業集中在半分布式結構方面,
  31. 傳感器網路中資料的存盤采用網路外部存盤、本地存盤和以資料為中心的存盤三種方式,
  32. 查詢操作可以按照集中式、分布式或流水線式查詢進行設計,
  33. IEEE 802.15.4標準設計的主要目標是:低功耗、低成本,
  34. 傳感器節點兩個突出的特點:并發性密集、傳感器節點模塊化程度很高,
  35. 應用層的作用:研究各種傳感器網路應用系統的開發和多任務之間的協調,
  36. 無線傳感器網路的應用:
    1. 軍事應用
    2. 智能家居
    3. 環境監測
    4. 建筑物質量監控
    5. 醫療護理
    6. 其他方面應用

無線傳感器網路體系結構

  1. 無線傳感器網路是由大量的密集部署在監控區域的智能傳感器節點構成的一種網路應用系統,
  2. 自組織網路拓撲結構傳感器節點通過區域的資料采集、預處理以及節點間的資料互動來完成全域任務,
  3. 多跳、對等通信方式比傳統的單跳、主從通信方式更適合在無線傳感器網路中使用,由于每跳的距離較短,無線收發器可以在較低的能量級別上作業,另外,多跳通信方式可以有效地避免在長距離無線信號傳播程序中遇到的信號衰減和干擾等各種問題,
  4. 無線傳感器網路包括4類基本物體物件:目標、觀測節點、傳感節點和感知視場,
  5. 傳感節點具有原始資料采集、本地資訊處理、無線資料傳輸及與其他節點協同作業的能力,依據應用需求,還可能攜帶定位、能源補給或移動等模塊,節點可采用飛行器撒播、火箭彈發射或人工埋置等方式部署,
  6. 目標是網路感興趣的物件及其屬性,有時特指某類信號源,
  7. 觀測節點身份觀測節點有雙重身份一方面在網內作為接收者和控制者被授權監聽和處理網路的事件訊息和資料,可向傳感器網路發布查詢請求或派發任務;另一方面,面向網外作為中繼和網關完成傳感器網路與外部網路間信令和資料的轉換,是連接傳感器網路與其他網路的橋梁,
  8. 無線傳感器網路系統通常包括:傳感器節點、匯聚節點和管理節點,
  9. 匯聚節點:匯聚節點處理能力、存盤能力和通信能力相對較強,它連接傳感器網路和Internet等外部網路,實作兩種協議堆疊之間的通信協議的轉換,同時發布管理節點的監測任務,并把收集的資料轉發到外部網路上,
  10. 管理節點:即用戶節點,用戶通過管理節點對傳感器網路進行配置和管理,發布監測任務以及收集監測資料,
  11. 傳感器節點的功能模塊:
    1. 資料采集模塊它是硬體平臺中真正與外部信號量接觸的模塊一般包括傳感器探頭和變送系統兩部分負責對感知物件的資訊進行采集和資料轉換
    2. 處理控制模塊:它是無線傳感器網路節點的核心,負責控制整個傳感器節點的操作、存盤與處理自身采集的資料以及其他節點發來的資料,
    3. 無線通信模塊用于傳感器網路節點間的資料通信負責與其他傳感器節點進行無線通信交換控制資訊和收發采集資料
    4. 能量供應模塊:是整個無線傳感器網路節點的基礎模塊,為傳感器節點提供運行所需的能量,是節點正常順利作業的保證,
  12. 無線傳感器網路應用系統架構:管理和資訊安全縱向貫穿于各個層次的技術架構,最底層是無線傳感器網路基礎設施層,逐漸向上展開的是應用支撐層、應用業務層、具體的應用領域——軍事、環境、健康和商業等,
  13. 無線傳感器網路中間件和平臺軟體體系結構主要分為4個層次:網路適配層、基礎軟體層、應用開發層和應用業務適配層,
  14. 無線傳感器網路中間件和平臺軟體體系結構:
    1. 網路適配層:在網路適配層中,網路配接器是對無線傳感器網路底層的封裝,
    2. 基礎軟體層:基礎軟體層包含無線傳感器網路各種中間件,這些中間件構成無線傳感器網路平臺軟體的公共基礎,并提高了高度的靈活性、模塊化和可移植性,
    3. 網路中間件:完成無線傳感器網路接入服務、網路生成服務、網路自愈合服務、網路連通性服務等,
    4. 配置中間件:完成無線傳感器網路的各種配置作業,例如路由配置,拓撲結構的調整等,
    5. 功能中間件:完成無線傳感器網路各種應用業務的共性功能,提供各種功能框架介面,
    6. 管理中間件:為無線傳感器網路應用業務實作各種管理功能,例如目錄服務、資源管理、能量管理、生命周期管理,
    7. 安全中間件:為無線傳感器網路應用業務實作各種安全功能,例如安全管理、安全監控、安全審計,
  15. 無線傳感器網路的協議堆疊包括物理層、資料鏈路層、網路層、傳輸層和應用層,還包括能量管理、移動管理和任務管理等平臺,
  16. 無線傳感器網路通信體系結構各層次功能:
    1. 物理層:負責資料傳輸的介質規范,規定了作業頻段、作業溫度、資料調制、信道編碼、定時、同步等標準,
    2. 資料鏈路層:負責資料流的多路復用、資料幀檢測、媒體介入和差錯控制,以保證無線傳感器網路中節點之間的連接,
    3. 網路層:負責路由發現、路由維護和路由選擇,實作資料融合,使得傳感器節點可以實作有效的相互通信,
    4. 傳輸控制層:負責資料流的傳輸控制,實作將傳感器網路的資料提供給外部網路,是保證通信服務質量的重要部分,
    5. 應用層:包括一系列基于監測任務的應用層軟體,

路由協議

  1. 路由協議的基本概念:無線傳感器網路的路由協議設計是無線傳感器自組網中的一個核心環節,路由協議負責將資料分組從源節點通過網路轉發到目的節點,它主要包括尋找源節點和目的節點間的優化路徑、并沿此優化路徑正確轉發資料包等兩個方面的功能,
  2. 路由協議的固有特點:在WSN中,節點能量有限且一般沒有能量補充,因此路由協議需以節約能源為主要目標,高效利用能量,延長網路壽命,
  3. 路由協議新的問題和挑戰:
    1. 節點沒有統一的標志
    2. 能量受限
    3. 面向特定應用
    4. 頻繁變化的拓撲結構
    5. 容錯性
    6. 可擴展性
    7. 連通性
    8. 資料融合
    9. 服務質量
    10. 安全機制
  4. 路由協議設計要求:
    1. 能量高效:傳感器網路路由協議不僅要選擇能量消耗小的訊息傳輸路徑,而且要從整個網路的角度考慮,選擇能使整個網路能量均衡消耗的路由,傳感器節點的資源有限,傳感器的路由機制要能夠簡單而且高效的實作資訊傳輸,
    2. 可擴展:在WSN中,檢測區域范圍或節點密度不同,都會造成網路規模大小不同,節點失敗、新節點加入以及節點移動等,都會使得網路拓撲結構動態發生變化,這就要求路由機制具有可擴展性,能夠適應網路結構的變化,
    3. 具有魯棒性:能量用盡或環境因素造成的傳感器網路節點的失敗,周圍環境影響無線鏈路的通信質量以及無線鏈路本身的缺點等,這些WSN的不可靠特性要求路由機制具有一定的容錯能力,
    4. 快速收斂性:傳感器網路的拓撲結構動態變化,節點能量和通信帶寬等資源有限,因此要求路由機制能夠快速收斂,以適應網路拓撲的動態變化,減少通信協議開銷,提高訊息傳輸的效率,
  5. 路由協議標準:WSN路由協議負責在sink點和其余節點間可靠地傳輸資料,
  6. 路由協議型別:

網路的拓撲結構

平面路由協議

層次路由協議

資料傳輸的路徑條數

單路徑路由協議

多路徑路由協議

路由是否由源節點指定

基于源路徑路由協議

非基于源路徑路由協議

路由建立是否與查詢相關

查詢驅動路由協議

非查詢驅動路由協議

節點是否編制、是否以地址標識目的地

基于地址路由協議

非基于地址路由協議

是否以地理位置來標識目的地

基于地址路由協議

非基于地址路由協議

路由建立時機與資料發送的先后關系

主動路由協議

按需路由協議

混合路由協議

路由選擇是否考慮QoS約束

保證QoS路由協議

非保證QoS路由協議

是否以資料型別來尋找路徑

基于資料路由協議

非基于資料路由協議

  1. 平面路由簡單,健壯性號,但建立、維護路由的開銷大,資料傳輸跳數多,適合小規模網路,
  2. 層次路由擴展性好,適合大規模網路,但簇的維護開銷大,且簇頭是路由的關鍵節點,其失效將導致路由失敗,
  3. Rumor協議:Rumor協議的優點是避免了大量擴散,顯著節省能量,適用于資料傳輸量較小的情況,但如果網路拓撲結構頻繁變動,則Rumor協議的性能會大幅下降,
  4. EAR協議:EAR協議是一個反應式路由協議,其主要目的是用于延長網路的生存時間,
  5. HREEMR協議:HREEMR協議利用多路徑技術實作了能源有效的故障修復,并解決了DD協議為提高協議的健壯性,采用周期低速率擴散資料而帶來的能源浪費問題,
  6. SMECN協議:SMECN協議是節點定位的路由協議,它是針對Ad hoc網路設計的MECN協議基礎上進行改進的,該協議通過構建具有ME屬性的子圖來降低傳輸資料所消耗的能量,從而更好地滿足了WSN對節能性的需求,
  7. GEM協議:GEM路由協議是一種適用于資料中心存盤方式的基于位置的路由協議,其基本思想是建立一個虛擬極坐標系統,用來表示實際的網路拓撲結構,
  8. Flooding/Gossiping協議:在Flooding協議中,節點產生或收到資料后向所有鄰節點廣播,直到資料包過期或到達目的地,Gossiping協議是對Flooding協議的改進,節點將產生或收到的資料隨機轉發,而不是用廣播,這種方式避免了以廣播形式進行資訊傳播的能量消耗,節約能量,在一定程度上解決了資訊的內爆問題,但增加了資訊的資料傳輸平均時延,傳輸速度變慢,并且無法解區域分交疊現象和盲目利用資源問題,
  9. DD路由協議:DD協議是以資料為中心的路由演算法,是一種基于查詢的路由機制,整個程序分為興趣擴散、梯度建立以及路徑加強三個階段,
  10. SPIN協議:SPIN路由演算法是一種以資料為中心的自適應通信路由協議,節點僅廣播采集資料的屬性描述資訊而不是資料本身,當有相應的請求時,才有目的地發送資料資訊,其目標是通過使用節點間的協商制度和資源自適應機制,解決傳統泛洪法存在的不足之處,
  11. SPIN協議中使用的三種訊息型別:
    1. ADV,用于新資料廣播,
    2. REQ,用于請求發送資料,
    3. DATA,包含了元資料頭,傳感器節點采集資料的資料包,
  12. SPIN協議的優缺點:

優點:元資料的傳輸耗能相對較少;只廣播其他節點沒有的資料,減少了能耗;不維護鄰居節點資訊,適應節點移動的情況,

缺點:健壯性差,會出現資料盲點,它的擴展受限,如果sink對網路中的多個事件感興趣,sink周圍的節點能量會很快耗盡,不適用于高密度節點分部的情況,

  1. SAR協議:SAR協議是第一個具有QoS的路由協議,該協議通過構建以sink的單跳鄰居節點為根節點的多播樹實作傳感器節點到Sink的多跳路徑,它的特點是路由決策不僅要考慮到每條路徑的能源,還涉及到端到端的延遲需求和待發送資料包的優先級,
  2. 層次結構基本概念:將所有節點劃分為若干簇,每個簇按照一定規則來選舉一個簇頭,各個節點采集的資料在簇頭節點進行融合,再由簇頭節點與sink節點進行通信,
  3. 層級機制的優點:
    1. 簇頭融合了成員節點的資料之后再進行轉發,減少了資料通信量,從而節省了網路能量,
    2. 成員節點大部分時間可以關閉通信模塊,由簇頭構成一個更上一層的連通網路來負責資料的長距離路由轉發,這樣既保證了原有覆寫范圍內的資料通信,也在很大程度上節省了網路能量,
    3. 成員節點的功能比較簡單,無須維護復雜的路由資訊,這大大的減少了網路中路由控制資訊的數量,減少了通信量,
    4. 分簇拓撲結構便于管理,有利于分布式演算法的應用,可以對系統變化做出快速反應,具有較好的可擴展性,適合大規模網路,
    5. 與平面路由相比,更容易克服傳感器節點移動帶來的問題,
  4. 層級機制的缺點:簇頭節點容易成為網路的瓶頸,因此要求路由演算法具有一定的容錯性;同時簇的負載均衡也是分布式成簇的一大挑戰,
  5. LEACH協議基本思想: 通過等概率地隨機回圈選擇簇頭,將整個網路的能量負載平均分配到每個傳感器節點,從而達到降低網路能量耗費、延長網路生命周期的目的,
  6. PEGASIS協議:PEGASIS協議要求每個節點都知道網路中其他節點的位置,通過貪婪演算法選擇最近的鄰節點形成鏈,
  7. TEEN協議:TEEN協議根據資料傳輸模式的不同,通常可以簡單地把WSN分為主動型和回應型兩種型別,主動型WSN持續監測周圍環境,并以恒定速率發送監測資料;而回應性WSN只是在被監測物件發生突變時才傳送監測資料,
  8. GAF協議:GAF路由協議是基于位置資訊的能量感知路由協議,其最初是應用在Ad hoc網路中,但對于很多傳感器網路同樣適用,協議的基本思想是將網路區域劃分成很多小區,每個小區內的節點相互協作,一部分節點保持正常作業狀態,完成資料收集和轉發等任務;另一部分節點可以處于睡眠狀態以節省能量,延長網路整體壽命,

缺點:每個節點都需要通過GPS得到自己的地理資訊,這大大的增加了節點的成本和復雜度,不適用于很多場合,

  1. GEAR協議:GEAR協議是一種基于位置資訊的能量感知路由,并將整體網路按地理區域劃分成多個小區域,GEAR路由機制根據時間區域的地理位置資訊,建立匯聚節點到事件區域的優化路徑,避免了泛洪傳播,從而減少了路由建立的開銷,
  2. SPAN協議:SPAN協議是一種基于位置的路由協議,協議根據各個節點的地理位置,從中選取出一些協調點,協調點將組成一個骨干網;傳感器節點將手機的資訊沿著協調點組成的骨干網傳送到sink點,
  3. 協調點的選取原則:如果兩個鄰居節點不能直接通信,并且通過現有的一個或者兩個協調點依然無法連接通信,那么這個節點將成為協調點,
  4. SOP協議:SOP協議將網路中的節點分成兩類,即傳感器節點和路由節點,協議中的傳感器節點是可以移動的,但路由節點不能移動,

四 MAC協議

  1. MAC研究現狀:研究如何將節能策略引入傳統自組網MAC協議,并避免對協議性能產生不利影響,以及如何使無業務節點最大可能進入休眠而避免能耗,
  2. MAC研究趨勢:業務流的方向性、節點的不同轉發角色、監測資訊在時間和空間上的相關性以及監測資訊冗余,針對應用需求或業務特點量身設計,或者與節能策略相結合,以進一步提高能量有效性或在多個其他特殊需求中權衡取舍逐漸成為MAC協議的研究趨勢;
  3. MAC協議分類:
    1. 根據采用分布式控制還是集中控制,可分為分布式執行的協議和集中控制的協議,這類協議與網路的規模直接有關,在大規模網路中通常采用分布式的協議,
    2. 根據使用的信道數,可分為單信道、雙信道和多信道,
    3. 根據信道的分配方式,可分為基于TDMA的時分復用固定模式、基于CSMA的隨機競爭式和混合式三種,
    4. 根據接收節點的作業方式,可分為偵聽、喚醒和調度三種,
  4. 影響WSN的MAC協議因素
    1. WSN的MAC協議設計主要問題
      1. 能量有效性
      2. 可擴展性
      3. 沖突避免
      4. 信道利用率
      5. 延遲
      6. 吞吐量
      7. 公平性
    2. 能耗因素分析
      1. 空閑偵聽
      2. 訊息碰撞
      3. 竊聽
      4. 控制報文開銷
      5. 發送失效
      6. 在控制節點之間的信道分配時,如果控制訊息過多,也會消耗較多的網路能量
    3. 通信模式
      1. 廣播模式:通常在由基站向整個網路節點發送訊息時使用,
      2. 會聚模式:WSN中的節點在感知到興趣的事件時,所有監測到事件的節點都把所感知的資訊發送給資訊中心,
      3. 本地通信:監測同一個事件的節點之間,在本地的相互通信,
      4. 多播模式:節點把資訊發送給一組特定的節點,
  5. MAC協議的特點
    1. 采用基于TDMA的接入方式
    2. 利用分群結構群首區域集中控制的機制
    3. 與多跳轉發相關的資源分配策略
    4. 冗余相關資料的隱聚合
  6. 吞吐量:在給定的時間內發送端能夠成功發送給接收端的資料量,
  7. C-TDMA協議將WSN的節點劃分為4種狀態:感應、轉發、感應并轉發、非活動,
  8. SMACS/EAR協議:SMACS協議主要用于靜止的節點之間連接的建立,而對于靜止節點與運動節點之間的通信,則需要通過EAR協議進行管理,其基本思想是,為每一對鄰居節點分配一個特有頻率進行資料傳輸,不同節點對間的頻率互補干擾,從而避免同時傳輸的資料之間產生碰撞,
  9. S-MAC協議:S-MAC協議設計的主要目標是減少能量消耗,提供良好的可擴展性,
  10. S-MAC減少能耗的技術措施:
    1. 周期性偵聽和休眠
    2. 訊息分割和突發傳輸
    3. 避免接收不必要訊息
  11. T-MAC協議:在保持周期偵聽長度不變的情況下,根據通信流量動態調整節點活動時間,用突發方式發送訊息,減少空閑偵聽時間,
  12. PMAC協議的主要思想:用一串二進制字符來代表某一節點所處的模式,節點把各自的模式資訊通告給其相鄰節點,根據收到的鄰居節點模式資訊節點調整其睡眠與作業時間,
  13. LPL協議的主要思想:使每個發送節點知道鄰居接收節點的具體抽樣調度,從而縮短Preamble的長度,
  14. LMAC協議:通過在時間上把信道分成許多時隙,形成一個固定長度的幀結構,一個時隙包含一個業務控制時段和固定長度的資料時段,
  15. Z-MAC協議的主要特點:節點根據網路的信道競爭程度,自適應地調整信道的接入方式,以CSMA作為基本的接入方式,而利用TDMA解決競爭等級高的情況下節點間對信道的競爭,
  16. 節能研究策略:隨著微電子機械技術的發展,低能、低成本、集成具有多信道或兩個不同頻率無線模塊的收發器已經成為可能,合理地使用多個信道的資源,基于區域節點協作的方法,進行信道的動態分配,可以實作節能和改進網路性能,
  17. 跨層優化設計:WSN網路由于受到節點的資源限制,分層的協議堆疊已不適應能量、記憶體等節點資源的有效利用,將MAC層、物理層以及網路層的設計相結合,根據區域網路的拓撲資訊,采用綜合各層的設計方法,實作對節點作業模式的有效控制,減少控制開銷,從而取得更好的網路性能,
  18. 應用特點和業務模式:WSN應用領域的廣泛性和特殊性,意味著MAC協議的設計面臨著各種各樣與應用相關的業務特性和需求,這些正是刺激MAC協議研究不斷發展的原動力,隨著WSN研究的逐漸深入,不可能針對各種具體應用一一進行業務特性和需求的分析,有必要對傳感器網路特殊的應用特點和業務模式進行深入分析和總結,抽象出通用的分析模型,
  19. 能量有效性和其他性能指標權衡:通常為解決作為研究核心的能量有效性問題,對WSN的MAC協議其他性能都進行了一定折中,隨著各種具體應用的發展,WSN的應用需求不單是能量有效性的問題,還同時存在著對某個或某些指標作特別優化的需求,
  20. 安全問題:由于WSN具有無線傳播、能量受限、分布式控制等特點,使其更加容易受到被動竊聽、主動干擾、拒絕服務、剝奪休眠、偽造資料等各種形式的網路攻擊,從而使安全問題成為WSN網路研究的一個重點,

五 拓撲控制

  1. 拓撲控制的重要性:
    1. 拓撲控制是一種重要的節能技術
    2. 拓撲控制保證覆寫質量和連通質量
    3. 拓撲控制能夠降低通信干擾,提高MAC協議和路由協議的效率,為資料融合提供拓撲基礎
    4. 拓撲控制能夠提高網路的可靠性、可擴展性等其他性能
  2. 拓撲控制的發展和研究方向:功率控制和睡眠調度,

功率控制:為傳感器節點選擇合適的發射功率

睡眠調度:控制傳感器節點在作業狀態和睡眠狀態之間的轉換

  1. 靜態節點、不可控部署:靜態節點隨機地部署到給定的區域,這是大部分拓撲控制研究所作的假設,對稀疏網路的功率控制和對密集網路的睡眠調度室兩種主要的拓撲控制技術,
  2. 動態節點、不可控部署:這樣的系統稱為移動自組織網路,其挑戰是無論獨立自治的節點如何運動,都要保證網路的正常運轉,功率控制是主要的拓撲控制技術,
  3. 靜態節點、可控部署:節點通過人或機器人部署到固定的位置,拓撲控制主要是通過控制節點的位置來實作的,功率控制和睡眠調度雖然可以使用,但已經是次要的了,
  4. 動態節點,可控部署:在這類網路中,移動節點能夠相互定位的,拓撲控制機制融入移動和定位策略中,因為移動是主要的能量消耗,所以節點間的能量高效通信不再是首要問題,因為移動節點的部署不太可能是密集的,所以睡眠調度也不重要,
  5. 拓撲控制要考慮的設計目標和相關概念:
    1. 覆寫:覆寫可以看成是對傳感器網路服務質量的度量,在覆寫問題中,最重要的因素是網路對物理世界的感知能力,
    2. 連通:傳感器網路一遍是大規模的,所以傳感器節點感知到的資料一般要以多跳的方式傳送到匯聚節點,
    3. 網路生命期:一般講網路生命期定義為直到死亡節點的百分比低于某個閾值時的持續時間,
    4. 吞吐能力:通過功率控制減小發射半徑和通過睡眠調度減小作業網路的規模,在節省能量的同時,可以在一定程度上提高網路的吞吐能力,
    5. 干擾和競爭:減小通信干擾、減少MAC層的競爭和延長網路的生命期基本上是一致的,功率控制可以調節發射范圍,睡眠調度可以調節作業節點的數量,
    6. 網路延遲(功率控制和網路延時的關系):當網路負載較高時,低發射功率會帶來較小的端到端延遲;而在低負載情況下,低發射功率會帶來較大的端到端延遲,
    7. 拓撲性質:在設計拓撲控制方案時,往往退而追求良好的拓撲性質,除連通性之外,對稱性、平面性、稀疏性、節點度的有界性、有限伸展性等,都是希望具有的拓撲性質,
  6. 功率控制型拓撲研究方向:
    1. 與路由協議結合的功率控制
    2. 基于節點度的功率控制
    3. 基于方向的功率控制
    4. 基于鄰近圖的功率控制
  7. 基于鄰近圖的功率控制演算法的基本思想:設所有節點都使用最大發射功率發射時形成的拓撲圖是G,按照一定的鄰居判別條件求出該圖的鄰近圖G,每個節點以自己所鄰接的最遠節點來確定發射功率,
  8. 睡眠調度型拓撲研究方向:
    1. 非層次型網路的睡眠調度演算法
    2. 層次型網路的睡眠調度演算法
  9. 單位圓圖UDG:假定網路中N個節點構成了二維平面中的節點集V,所有節點都以最大功率作業時所生產的拓撲結構稱為單位圓圖,
  10. 準規則單位圓圖QUDG:假設V,R是兩個空間平面的節點集,且V?R,設引數d∈[0,1],則對稱的歐氏圖(V,E)被稱為以d為引數的準規則單位圓圖,
  11. Gabriel圖:在傳輸功率正比傳輸距離的平方時,GG是最節能的拓撲模型,
  12. 相關鄰近圖:RNG是有GG產生的,RNG稀疏程度和連通性均介于MST與GG之間,由于MST,且沖突干擾優于GG,易于用分布式演算法構造,
  13. 最小生成樹:MST是RNG的子圖,其特征是連通但不形成回路,任意兩個節點均可以相互通信,每個節點出現在樹上,鏈路總長度最小,
  14. 概率分析法:在節點按照某種概率密度分布的情況下,計算使拓撲滿足某些性質所需要的最小發射功率和最小鄰節點個數,
  15. 計算幾何法:以某些幾何結構為基礎構建網路拓撲結構,以,滿足某些性質,
  16. 采用支配集的層次型網路:在網路中選出一些虛擬骨干節點組成虛擬骨干網,這些節點又稱做支配集,
  17. 基于引導信號的功率控制:在建立初始的分簇結構之后,簇首在引導信號和資料通信中使用功率控制,如果基于這些引導信號,所有節點都加入了同一個簇,那么就可以使用引導信號功率控制來控制簇的成員,
  18. Adhoc網路設計演算法:Ad hoc演算法允許簇首通過功率控制來控制簇的大小,并且匯出了一些具體的規則以盡可能延長網路的生存期,
  19. CLUSTERPOW的基本思想:簡單的假設一組離散的發射功率值,在每個功率值處,簇都是獨立形成的,而且對于每個功率值都有單獨的路由表,如果用最小功率就能保證到達目的節點,那么就發送資料,一旦資料進入了包含節目的節點的最小功率簇后,功率值就會被降低,

六 WSN定位技術

  1. 節點定位是WSN的關鍵技術之一,
  2. WSN定位的基本概念:對于一組未知位置坐標的網路節點,依靠有限的位置已知的錨節點,通過測量未知節點至其余節點的距離或跳數,或者通過估計節點可能處于的區域范圍,結合節點間交換的資訊和錨節點的已知位置,來確定每個節點的位置,
  3. WSN定位評價指標:
    1. 定位精度
    2. 規模
    3. 錨節點密度
    4. 節點密度
    5. 容錯性和自適應性
    6. 功耗
    7. 代價
  4. WSN定位基本術語:
    1. 鄰居節點:傳感器節點通信半徑內的所有其他節點,也就是說,在一個節點通信半徑內,可以與其直接通信的所有其他點,
    2. 跳數:兩個節點之間間隔的跳段總數,
    3. 跳段距離:兩個節點間隔的各跳段距離之和,
    4. 接收信號強度指示:節點接收到無線信號的強度大小,
    5. 到達時間:信號從一個節點傳播到另一個節點所需要的時間,
    6. 到達時間差:兩種具有不同傳播速度的信號從一個節點傳播到另一個節點所需要的時間之差,
    7. 達到角度:節點接收到的信號相對于自身軸線的角度,
    8. 視線關系:兩個節點間沒有障礙物間隔,能夠直接通信,
    9. 非視線關系:兩個節點之間存在障礙物,
    10. 基礎設施:協助傳感器節點定位的已知自身位置的固定設備,
  5. 測距類和非測距類:
    1. 測距類:利用測量得到的距離或角度資訊來進行位置計算,
    2. 非測距類:利用節點的連通性和多跳路由資訊交換等方法來估計節點間的距離或角度,并完成位置估計,
  6. 基于錨節點和非基于錨節點:
    1. 基于錨節點:各節點在定位程序結束后可以獲得相對于某個全域坐標系的坐標,
    2. 非基于錨節點:只能產生相對坐標,在需要和某全域坐標系保持一致的時候可以通過引入少數幾個錨節點和進行坐標變換的方式來完成,
  7. 遞增式和并發式:
    1. 遞增式:通常是從3-4個節點開始,然后根據未知節點與已經完成定位的節點之間的距離或角度等資訊采用簡單的三角法或區域最優策略逐步對未知節點進行位置估計,
    2. 并發式:節點以并行的方式同時開始計算位置,
  8. 集中式計算和分布式計算
    1. 集中式計算:把所需資訊傳送到某個中心節點,并在那里進行節點定位計算,
    2. 分布式計算:依賴節點間的資訊交換和協調,由節點進行定位計算,
  9. 絕對定位和相對定位
    1. 絕對定位:定位結果是一個標準的坐標位置,如經緯度,
    2. 相對定位:以網路中部分節點為參考,建立整個網路的相對坐標系統,
  10. 到達角法 AOA:通過配備天線陣列或多個接收器來估測其他節點發射的無線信號的到達角度,
  11. 接收信號強度指示法 RSSI:接識訓通過測量射頻信號的能量來確定與發送機的距離,

不足:遮蓋或折射會引起接收端產生嚴重的測量誤差,因此精度較低,

  1. 到達時間法 TOA:通過測量信號的傳輸時間來估算兩節點之間的距離,精度較高,

缺點:無線信號的傳輸速度快,時間測量上的很小誤差可導致很大的距離誤差值,另外要求傳感器節點的計算能力較強,

  1. 到達時間法的兩種測量方法:
    1. 一種用來測量信號傳輸時間的方法是測量信號單向傳播時間,這種方法測量發送并到達接收方的絕對時間差,發送方和接收方的本地時間需精確同步,
    2. 一種是測量信號往返時間差,接收節點在收到信號后直接發回,發送節點測量收發的時間差,由于僅使用發送節點的時鐘,因此避免節點間時間同步的要求,
  2. 達到時間差發:測量不同的接收節點接收到同一個發射信號的時間差,
  3. 極大似然估計法:
  4. Active Badge定位系統:最早為大樓內定位而設計的便攜式定位系統,采用紅外光,
  5. Active Office:采用超聲波定位,
  6. SPA相對定位:選擇網路中密度最大處的一組節點作為建立網路全域坐標系統的參考點,并在其中選擇連通度最大的一個節點作為坐標系統的原點,首先根據節點間的測距結果對各個節點建立區域坐標系統,通過節點間的資訊交換與相互協調,以參考點為基準通過坐標變換建立全域坐標系統,
  7. APIT 近似三角形內點測驗法:APIT演算法是一種適用于大規模無線傳感器網路的分布式無需測距的定位演算法,利用了電磁波強度大小與距離的相對關系,相比其他無需測距定位演算法有著定位精度高、對節點密度要求低、通信量小等優點,且適用于電磁波不規則模型,
  8. DV-Hop定位演算法步驟:首先使用典型的距離矢量交換協議,使網路中所有節點獲得錨節點的跳數,第二階段,在獲得其他錨節點位置和彼此的相隔跳距之后,錨節點計算網路平均每跳距離,然后將其作為一個校正值廣播至網路中,

缺點:僅在各向同性的密集網路中,利用校正值才能合理地估算平均每跳距離,

  1. DV-Distance定位演算法:相鄰節點使用RSSI測量節點間點到點距離,然后利用類似于距離矢量路由的方法傳播與錨節點的累計距離,
  2. 定位演算法設計的注意問題:
    1. 未知節點必須與錨節點直接相鄰,錨節點密度過高,
    2. 定位精度依賴于網路部署條件,
    3. 沒有對距離/角度測量誤差采取抑制措施,造成誤差傳播和誤差累積,定位精度依賴于距離/角度測量的精度,
    4. 依靠回圈求精程序抑制測距誤差和提高定位精度,雖然回圈求精程序可以明顯地減小測距誤差的影響,但不僅產生了大量的通信和計算開銷,而且因無法預估回圈的次數而增加了演算法的不確定性,
    5. 演算法收斂速度較慢,

時間同步

  1. 時間同步的意義和作用:不同的節點都有自己的本地時間,由于不同節點的晶體振蕩器頻率存在偏差,以及受溫度變化和電磁波干擾等影響,即使在某個時刻所有的節點都達到時間同步,它們的作業時間也會逐漸出現偏差,因此為了讓WSN能協調地作業,必須進行節點間的時間同步,
  2. 演算法設計的影響因素:
    1. 傳感器節點需要彼此并行操作和協作去完成復雜的傳感任務,
    2. 許多節能方案是利用時間同步來實作的,
  3. 訊息傳遞程序分解:
    1. Send time:發送節點構造一條訊息所需要的時間,包括內核協議處理和緩沖時間等,它取決于系統呼叫開銷和處理器當前負載,
    2. Access Time:訊息等待傳輸信道空閑所需時間,即從等待信道空閑到訊息發送開始時的延遲,它取決于網路當前負載情況,
    3. Transmission Time:發送節點按位發送訊息所需時間,該時間取決于訊息長度和發送速率,
    4. Propagation Time:訊息在兩個節點之間傳輸介質中的傳播時間,該時間主要取決于節點間的距離,
    5. Reception Time:接收節點按位接收訊息并傳遞給MAC層所需的時間,這個程序和3相對應,
    6. Receive Time:接收節點重新組裝訊息并傳遞給上層應用所需的時間,
  4. 演算法的性能指標:
    1. 能量效率
    2. 可擴展性
    3. 精確度
    4. 健壯性
    5. 壽命
    6. 有效范圍
    7. 成本和尺寸
    8. 直接性
  5. RBS時間同步演算法的原理和優缺點:

原理:利用無線鏈路層廣播信道特點,一個節點發送廣播訊息,在同一個廣播域的其他節點同時接收廣播訊息,并記錄該點的時間戳,之后接收節點通過訊息交換它們的時間戳,通過比較和計算達到時間同步,

優缺點:精度高,能廣泛應用于商用硬體設備和無線傳感器網路中已有的軟體,不需要訪問作業系統的底層,缺點是節點間必須交換含有時間資訊的附加訊息,復雜度高,

  1. TPSN演算法該演算法分兩步分級和同步

分級:目的是建立分級的拓撲網路,每個節點有個級別,只有一個節點定為零級,叫做根節點,

同步:i級節點與i-1級節點同步,最后所有的節點都與根節點同步,從而達到整個網路的時間同步,

  1. Tiny-Sync演算法:該演算法假設每個時鐘能夠與固定頻率的振蕩器近似,采用傳統的雙向訊息設計來估計節點時鐘間的相對漂移和相對偏移,
  2. LTS演算法:該演算法的目的是減小時間同步的復雜度,分為兩種演算法:集中式演算法和多跳LTS演算法,
  3. DMTS演算法:在多跳網路中采用了層次型的分級結構來實作全網范圍內的時間同步,它避免了冗余分組的傳輸只接收級別比自己低的節點廣播的分組該協議能更好地支持與外部時間源及多個網路的同步是一種基于廣播時間的時間同步機制
  4. FTSP演算法:FTSP演算法的目標是實作整個網路的時間同步并將誤差控制在微秒級,它考慮了根節點的選擇,根節點和子節點的失效所造成的拓撲變化以及對冗余資訊的處理等方面的問題,同時它采用了線性回歸演算法可以提高同步精度,比較適合用于軍事場合,
  5. 后同步思想:通常情況下節點不進行時間同步,只有檢測到一個感興趣的事件發生后,節點才進行時間同步,

八 協議標準

  1. IEEE 802.15.4標準(LR-WPAN網路):IEEE802.15.4網路是指在一個POS內使用相同無線信道并通過IEEE802.15.4標準相互通信的一組設備的集合,
  2. IEEE 802.15.4 拓撲結構:星型網路、點對點網路,
  3. IEEE 802.15.4 拓撲形成程序:
    1. 星型網路:星型網路以網路協調器為中心,所有設備只能與網路協調器進行通信,因此在星型網路的形成程序中,第一步就是建立網路協調器,
    2. 點對點網路:任意兩個設備只要能夠彼此收到對方的無線信號,就可以進行直接通信,不需要其他設備的轉發,
  4. IEEE802.11標準:主要用于無法布線或移動環境中計算機的無線接入,
  5. IEEE802.15.1標準:IEEE802.15.1是一種藍牙通信標準,主要應用于無線個域網,具有近距離通信、低能耗、低成本的特點,
  6. IEEE802.15.4標準:IEEE802.15.4是用于低速無線個域網LR-WPAN的物理層和媒體訪問控制層的規范,是ZigBee、Wireless HART及MiWi規范的基礎,旨在為無線個域網中的通信設備提供一種基本的底層網路,支持兩種網路拓撲,即單跳星狀和當通信線路距離超過10m時的多跳對等拓撲,
  7. IEEE 802.15.4a中采用的關鍵技術(調制方式):
    1. 多維度多存取技術
      1. 正弦脈波和Chirp脈波
      2. 調制技術對MDMA的作用
    2. Chirp擴頻技術
  8. IEEE802.15.4網路協議堆疊基于開放系統互聯模型,
  9. MAC子層包括特定服務的聚合子層、鏈路控制子層等,
  10. 物理層:物理層定義了物理無線信道和MAC子層之間的介面,提供物理層資料服務和物理層管理服務,物理層資料服務從無線物理信道上收發資料,物理層管理服務維護一個由物理層相關資料組成的資料庫,
  11. 物理層資料服務包括以下5個方面的功能:
    1. 激活和休眠射頻收發器
    2. 信道能量檢測
    3. 檢測和接收資料包的鏈路質量指示
    4. 空閑信道評估
    5. 收發資料
  12. OSI參考模型的資料鏈路層分為MAC和LLC兩個子層,
  13. MAC子層使用物理層提供的服務實作設備之間的資料幀傳輸,
  14. LLC子層在MAC子層的基礎上,在設備間提供面向連接和非連接的服務,
  15. MAC子層提供兩種服務:
    1. MAC層資料服務:保證MAC協議資料單元在物理層資料服務中的正確收發;
    2. MAC層管理服務:維護一個存盤MAC子層協議狀態相關資訊的資料庫;
  16. MAC子層的主要功能:
    1. 協調器產生并發送信標幀,普通設備根據協調器的信標幀與協調器同步;
    2. 支持PAN網路的關聯和取消關聯操作;
    3. 支持無線信道通信安全;
    4. 使用CSMA-CA機制訪問通道;
    5. 支持時槽保障機制;
    6. 支持不同設備的MAC層間可靠傳輸;
  17. PAN 網路解調器:除了直接參與應用以外,還要完成成員身份管理、鏈路狀態資訊管理以及分組轉發等任務,
  18. ZigBee標準概要:ZigBee協議基于IEEE802.15.4標準,其目的是為了適用于低功耗,無線連接的監測和控制系統,ZigBee的應用定位是低速率、復雜網路、低功耗和低成本應用,
  19. ZigBee技術優勢:
    1. 資料傳輸率低
    2. 功耗低
    3. 成本低
    4. 網路容量大
    5. 時延短
    6. 網路的自組織、自愈能力強,通信可靠
    7. 資料安全
    8. 作業頻段靈活
  20. ZigBee訊息格式和幀格式:
    1. 訊息格式:一個ZigBee訊息格式由127個位元組組成,主要包括:MAC報頭、NWK報頭、APS報頭、APS有效載荷;
    2. 幀格式:zigbee定義了兩種幀格式:KVP關鍵值對、MSG訊息幀;
  21. Zigbee的兩類地址:64位的IEEE MAC地址、16位的網路地址,
  22. ZigBee尋址方式:單播和廣播,
  23. ZigBee網路拓撲:星形、樹狀、網狀,
    1. 星形:每個End Device節點只能和Co-ordinator節點進行通信,兩個End Device節點之間通信必須通過Co-ordinator節點進行資訊的轉發,

缺點:節點之間的資料路由只有唯一的一條路徑,

    1. 樹形通信規則:
          1. 每一個節點都只能和它的父節點和子節點之間通信;
          2. 如果需要從一個節點向另一個節點發送資料,那么資訊將沿著樹的路徑向上傳遞到最近的祖先節點然后再向下傳遞到目標亮點;

缺點:資訊只有唯一的路由通道,另外資訊的路由是由協議堆疊層處理的,整個路由程序對于應用層是完全透明的,

    1. 網狀:Mesh拓撲包含一個Co-ordinator和一系列的Router和End Device,

九 ZigBee硬體平臺

  1. CC2430/CC2431是一顆真正的片上系統CMOS解決方案,
  2. CC2430/CC2431的區別在于:CC2431有定位跟蹤引擎,CC2430無定位跟蹤引擎,
  3. CC2430/CC2431的主要特點如下:
    1. 高性能、低功耗的8051微控制器內核;
    2. 適應2.4Ghz IEEE 802.15.4的RF收發器;
    3. 極高的接收靈敏度和抗干擾能力;
    4. 32/64/128KB閃存;
    5. 8KB SRAM,具備在各種供電方式下的資料存盤能力;
    6. 強大的DMA功能;
    7. 只需要極少的外接元件;
    8. 只需要一個晶體,即可滿足組網需要;電流消耗小;
    9. 掉電方式下,電流只有0.9uA,外部中斷或者實時控制器能喚醒系統;
    10. 掛起方式下,電流消耗小魚0.6uA,外部中斷能喚醒系統;
    11. 硬體支持避免沖突的載波偵聽多路存取;
    12. 電源電壓范圍寬2V~3.6V;
    13. 支持數字化的接收信號強度指示器/鏈路質量指示器;
    14. 電池監視器和溫度傳感器;
    15. 具有8路輸入的8~14位ADC;
    16. 高級加密標準協處理器;
    17. 兩個支持多種串行通信協議的USART;
    18. 看門狗;
    19. 一個IEEE 802.5.4媒體存取控制定時器;
    20. 一個通用的16位和兩個8位定時器;
    21. 支持硬體除錯;
    22. 21個通用I/O引腳,其中兩個具有20mA的電流吸收和電流供給能力;
    23. 提供強大、靈活的開發工具;
    24. 小尺寸QLP48封裝,為7*7mm;
  4. 芯片功能結構:IO埠線引腳功能、電源線引腳功能、控制線引腳功能,
  5. CC2430/CC2431包含一個增強型工業標準的8位8051微控制器內核,運行時鐘為32Mhz,
  6. 8051 CPU由4個不同的存盤空間:
    1. 代碼CODE:16位只讀存盤空間,用于程式存盤;
    2. 資料DATA:8位可存取存盤空間,可以直接或間接被單個的CPU指令訪問,
    3. 外部資料XDATA:16位可存取存盤空間,通常需要4~5個CPU指令周期來訪問,
    4. 特殊功能暫存器SFR:7位可存取暫存器存盤空間,可以被單個CPU指令訪問,
  7. 特殊功能暫存器:R0~R7、程式狀態字PSW、累加器A、暫存器B、堆疊指標SP,
    1. 程式狀態字PSW:程式狀態字顯示CPU的運行狀態,可以理解成為一個可位尋址的功能暫存器,程式狀態字包括進位標志、輔助進位標志、暫存器組選擇、溢位標志、奇偶標志等,
    2. 累加器A:主要用于資料累加以及資料移動,
    3. 暫存器B:主要功能是配合累加器A進行乘法或除法運算,
    4. 堆疊指標SP:在RAM中開辟某個區域用于重要資料的存盤,但這個區域中的資料存取方式必須遵循從先進先出,或稱后進先出的原則,不能隨意存取,這塊存盤區稱作堆疊,
  8. DMA控制器:用來減輕8051CPU內核傳送資料時的負擔,實作CC2430能夠高效利用電源,
  9. CC2430/CC2431無線部分主要引數:
    1. 作業頻帶范圍:2.4~2.4835GHz;
    2. 采用IEEE 802.15.4規范要求的直接序列擴頻方式;
    3. 資料速率達250Kps,碎片速率達2Mchip/s;
    4. 采用O-QPSK調制方式;
    5. 高接收靈敏度;
    6. 抗鄰頻道干擾能力強;
    7. 內部集成有VCO,LNA,PA以及電源穩壓器;
    8. 采用低電壓供電;
    9. 輸出功率編程可控;
    10. IEEE 802.15.4 MAC硬體可支持自動幀格式生產、同步插入與檢測、10bit的CRC校驗、電源檢測、完全自動化MAC層保護;
  10. ZigBee物理層清除信道評估CCA的三種方法:超出閾值的能量、載波判斷、帶有超出閾值能量的載波判斷,
  11. 直接序列擴頻通信技術特點
    1. 抗干擾性強
    2. 隱蔽性好
    3. 易于實作碼分多址
    4. 抗多徑干擾
    5. 直擴通信速率高
  12. 直接序列擴頻與窄帶相比的優點
    1. 低功率頻譜密度;
    2. 對其他系統沒有干擾或干擾很小;
    3. 在所有情況下,都使用整個頻譜;
    4. 隨機碼難以識別,保護用戶隱私;
    5. 應用擴頻技術,降低多徑干擾;
    6. 解決同區使用的問題;
  13. CSMA/CA演算法是用于節點間資料傳輸時的信道爭用機制,此演算法中有三個重要的引數,有每個要傳送資料的設備去維護:NB、CW和BE,

十 NesC語言

  1. nesC的最大的特點:支持組件化編程模型,將組件化、模塊化的思想和事件驅動的執行模型結合起來,
  2. nesC語言的設計目的:把組件化/模塊化思想和基于事件驅動的執行模型結合起來,并利用該語言對TinyOS進行了重新撰寫,
  3. nesC語言組成:組件、介面和連接,
    1. 組件:nesC程式的基本單元,一個組件包括定義和實作兩部分,組件分模塊和配件兩種,

模塊:主要用C語言實作的組件規范,它是組件的功能物體,主要包括命令、事件、任務等具體實作,

配件:通過介面將不同組件連接起來,成為邏輯和功能的統一體,主要功能是用于組件的功能和相互間連接形式的描述,

    1. 介面:介面由組件提供和被組件使用的,具有雙向性,它們是描述提供者組件與使用者組件之間的一個多功能互動渠道,

作用:進行功能描述,

    1. 連接:連接用來把定義的元素聯系在一起,以完成相互之間的呼叫,
  1. nesC語言基本特點:
    1. nesC是C語言的一個擴展
    2. 整體程式分析
    3. 程式的結構機制和組合機制分離
    4. 通過一組介面說明組件行為
    5. 介面雙向性
    6. 組件通過介面彼此靜態地相連
    7. 設計nesC時,期待由“整體程式”編譯器產生代碼
    8. nesC的并發控制模型是基于任務和中斷處理程式的
  2. 安裝插件程式的步驟:
    1. 確認TinyOS系統和Eclipse已經安裝好,可以同時運行;
    2. 下載TinyOS插件TinyOS Eclipcs Pulg vinversion 0.0.6;
    3. 將壓縮包檔案解壓后放在Eclipse的插件目錄plugins中;
    4. 將TingOS的決議外殼bash放到windows系統環境中;
    5. 啟動Eclipse,即可在IDE中進行nesC程式開發;

十一 TinyOS作業系統

  1. TinyOS是依托美國國防部的“智能微塵”專案,于2002年開發的開源的構建化無線傳感器網路作業系統,
  2. TinyOS是一個單執行緒、事件驅動的作業系統,其調度系統器按照不可搶占式的FIFO的調度策略運行,
  3. TinyOS的特點:
    1. 模塊化設計,核心尺寸小;
    2. 組件化編程
    3. 事件驅動模式
    4. 任務和事件并發模式
    5. 分段執行
    6. 主動訊息
    7. 基于可重用組件的體系結構,具有單一任務堆疊,內核非常簡單
  4. TinyOS由一個調度器和一些組件組成,
  5. 組件由下到上可分為硬體抽象組件、綜合硬體組件和高層軟體組件,
  6. TinyOS中輕量執行緒實作

輕量執行緒在TinyOS以任務方式體現,系統運行時會不斷地從任務佇列中提取任務,完成任務后再提取下一任務,直到任務佇列中沒有任務,如果沒有任務,系統進入節能狀態,

TinyOS中輕量執行緒的實作:任務佇列資料結構、TinyOS中任務調度機制,

  1. 主動訊息機制:
    1. 主動訊息模式:面向訊息通信是早期應用在并行計算中的高性能通信模式,主動訊息模式是其中一種模式,每個訊息由一個應用層的句柄進行維護,當目標節點收到訊息后,會將訊息中的資料作為引數,傳遞給應用層的相應句柄進行處理,
    2. 非阻塞方式:當主動訊息到達時,AM組件會將該事件分派給所有帶有相關訊息處理程式的組件,每個組件通常會主存一個或多個訊息處理程式,訊息處理程式的輸入是由AM組件提供的運行時訊息緩沖區的一個參考,
  2. 硬體抽象層:將底層與硬體相關的部分單獨設計成硬體抽象層的思想,

優點:提高了程式的可移植性和簡化程式開發,隱藏特定平臺的硬體介面實作細節,為作業系統提供統一的虛擬硬體平臺介面,使其具有硬體無關性,可在多種平臺上進行移植,

  1. TinyOS的并發模型:TinyOS的并行處理是通過任務和中斷處理事件來體現的,TinyOS采用分級調度機制實作對不同級別事件的處理:對于不緊迫的事件采用任務方式,通過排隊進行處理,任務執行具有原子性;對于緊急的事件采用中斷處理事件,由于中斷處理程式具有競爭性和優先級,中斷處理程式則可以中斷任務執行,依據中斷級別判斷當前發生的中斷是否可以終止正在處理的中斷處理程式,因而可以實作對事件做出快速回應,
  2. TinyOS的組件通常可分為三種型別:
    1. 硬體抽象組件:將物理硬體映射到TinyOS組件模型,
    2. 合成組件:將資料以位元組為單位與上層組件互動,以位為單位與下面的RFM模塊互動,
    3. 高層次軟體組件:完成控制、路由以及資料傳輸等,
  3. TinyOS的系統模型:
    1. 應用相關層:負責提供給用戶一些基本的應用邏輯構件,即應用案例構件庫,
    2. 系統相關層:是TinyOS的主體部分,負責提供給應用開發所需的系統構件和無線傳感器節點正常運行的構件,具體包括:硬體抽象層構件、訊息管理構件庫、狀態機構件庫、記憶體管理構件庫、任務調度構件庫、時鐘構件庫、網路協議構件庫,
    3. 硬體平臺的相關層:是TinyOS的HAL以下的構件庫,劃分的目的是為了使開發的系統具有可移植性,具體包括:硬體平臺配置構件庫、設備驅動構件庫、芯片構件庫、電源管理構件庫,
  4. 采用主動訊息機制的主要目的:使無線傳感器網路的節點的計算和通信重疊,讓軟體層的通信原語與無線傳感器網路節點的硬體能力匹配,充分節省無線傳感器網路節點的有限存盤空間,
  5. 主動訊息的三個最基本的通信機制:帶確認資訊的訊息傳遞,有明確的訊息地址,訊息分發,
  6. 主動通信的快取管理機制:每個應用程式在訊息被釋放后,能夠回傳一塊未用的訊息快取,用于接收下一個即將到來的訊息,
  7. 主動訊息的顯示確認訊息機制:每次訊息發送后,接收方都會發送一個同步的確認訊息,在TinyOS主動訊息層的最底層生產訊息確認包,這樣比在應用層生產確認訊息包省開銷,反饋時間短,
  8. Active Message的基本思想:讓訊息本身帶有訊息處理程式的地址和引數,訊息到達目的地的節點后系統立即產生中斷呼叫,并由中斷處理機制啟動訊息處理程式,
  9. 基于Active Message的TinyOS通信型別:
    1. Beacon訊息:該訊息起源于槽節點,網路中的其他節點通過接收此訊息建立從自己到槽節點的路由,
    2. Report訊息:各節點通過此訊息把采集到的環境資料發送至槽節點,
    3. Hello訊息:用于各相鄰節點之間交換資訊,
  10. 事件驅動機制:事件直接或間接的由硬體中斷產生,TinyOS接收到事件后,立即執行此事件對應的事件處理函式,
  11. 事件驅動分硬體事件驅動和軟體事件驅動,
  12. TinyOS的調度策略:高優先級的硬體事件句柄以及使用FIFO調度的低優先級的輕量級執行緒,任務之間不允許互相搶占;而硬體事件句柄,即中斷處理執行緒可以搶占用戶的任務和低優先級的中斷處理執行緒,保證硬體中斷快速回應,
  13. TinyOS的并發模塊:由任務和硬體事件句柄構成,采用任務和事件驅動相結合的兩級并發模型,
  14. TinyOS的任務調度:采用先進先出的簡單的策略,任務之間不允許互相搶占,
  15. TinyOS的中斷處理程式具有比所有任務更高的優先級,
  16. TinyOS的任務佇列:TinyOS具有一個長度為8個單元的環形任務佇列,每個單元用于存盤任務函式入口地址,兩個指標FULL和FREE分別指向最早進入佇列的任務單元和第一個為空的單元,
  17. TinyOS調度模型的特點:
    1. 任務單執行緒運行到結束,任務之間不能相互切換,只分配單個任務堆疊,這對記憶體受限的系統很有利,這樣主要是為了適應記憶體資源十分有限的WSN節點,
    2. 沒有行程管理的概念,對任務按簡單的FIFO佇列進行調度,對資源采取預先分配,且目前這個佇列里最多只能有7個待運行的任務,
    3. TinyOS的調度策略是功耗敏感的,當任務佇列為空時,則使處理器進入睡眠模式,保留外圍設備運行,當外圍設備發生中斷,也即是產生了一個事件時,系統將被喚醒,對事件進行處理,
    4. 兩級的調度結構可以實作有線執行少量與事件相關的處理,同時打斷長時間運行的任務,
    5. 基于事件的調度策略,只需要少量空間就可獲得并發性,并允許獨立的組件共享單個執行任務背景關系,同事件相關的任務集合可以很快被處理,不允許阻塞,具有高度并發性,
    6. 任務之間互相平等,沒有優先級的概念,
  18. TinyOS的調度機制不足:節點上任務的多少取決于節點處理資料的方式,如果節點只是直接把原始資料發往基站,則任務大多數是通信路由任務;如果節點在本地采集資料并處理后才往基站發送,則本地任務比較多,當節點上待處理的任務超過其處理能力時,就會發生過載,當節點上中斷發生頻率很高,導致CPU除了進行中斷處理外不執行其他任何任務時也會出現過載,當系統處理任務的速率低于任務發生的頻率時,任務佇列很快就滿了,則會導致任務的丟失,

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/305163.html

標籤:其他

上一篇:和HTTP坐下來,交心的溝通,我和她成為了好盆友!

下一篇:【Nginx】Nginx監聽埠注意

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 面試突擊第一季,第二季,第三季

    第一季必考 https://www.bilibili.com/video/BV1FE411y79Y?from=search&seid=15921726601957489746 第二季分布式 https://www.bilibili.com/video/BV13f4y127ee/?spm_id_fro ......

    uj5u.com 2020-09-10 05:35:24 more
  • 第三單元作業總結

    1.前言 這應該是本學期最后一次寫作業總結了吧。總體來說,對作業的節奏也差不多掌握了,作業做起來的效率也更高了。雖然和之前的作業一樣,作業中都要用到新的知識,但是相比之前,更加懂得了如何利用工具以及資料。雖然之間卡過殼,但總體而言,這幾次作業還算完成的比較好。 2.作業程序總結 相比前兩個單元,此單 ......

    uj5u.com 2020-09-10 05:35:41 more
  • 北航OO(2020)第四單元博客作業暨課程總結博客

    北航OO(2020)第四單元博客作業暨課程總結博客 本單元作業的架構設計 在本單元中,由于UML圖具有比較清晰的樹形結構,因此我對其中需要進行查詢操作的元素進行了包裝,在樹的父節點中存盤所有孩子的參考。考慮到性能問題,我采用了快取機制,一次查詢后盡可能快取已經遍歷過的資訊,以減少遍歷次數。 本單元我 ......

    uj5u.com 2020-09-10 05:35:48 more
  • BUAA_OO_第四單元

    一、UML決議器設計 ? 先看下題目:第四單元實作一個基于JDK 8帶有效性檢查的UML(Unified Modeling Language)類圖,順序圖,狀態圖分析器 MyUmlInteraction,實際上我們要建立一個有向圖模型,UML中的物件(元素)可能與同級元素連接,也可與低級元素相連形成 ......

    uj5u.com 2020-09-10 05:35:54 more
  • 6.1邏輯運算子

    邏輯運算子 1. && 短路與 運算式1 && 運算式2 01.運算式1為true并且運算式2也為true 整體回傳為true 02.運算式1為false,將不會執行運算式2 整體回傳為false 03.只要有一個運算式為false 整體回傳為false 2. || 短路或 運算式1 || 運算式2 ......

    uj5u.com 2020-09-10 05:35:56 more
  • BUAAOO 第四單元 & 課程總結

    1. 第四單元:StarUml檔案決議 本單元采用了圖模型決議UML。 UML檔案可以抽象為圖、子圖、邊的邏輯結構。 在實作中,圖的節點包括類、介面、屬性,子圖包括狀態圖、順序圖等。 采用了三次遍歷UML元素的方法建圖,第一遍遍歷建點,第二、三次遍歷設定屬性、連邊,實作圖物件的初始化。這里借鑒了一些 ......

    uj5u.com 2020-09-10 05:36:06 more
  • 談談我對C# 多型的理解

    面向物件三要素:封裝、繼承、多型。 封裝和繼承,這兩個比較好理解,但要理解多型的話,可就稍微有點難度了。今天,我們就來講講多型的理解。 我們應該經常會看到面試題目:請談談對多型的理解。 其實呢,多型非常簡單,就一句話:呼叫同一種方法產生了不同的結果。 具體實作方式有三種。 一、多載 多載很簡單。 p ......

    uj5u.com 2020-09-10 05:36:09 more
  • Python 資料驅動工具:DDT

    背景 python 的unittest 沒有自帶資料驅動功能。 所以如果使用unittest,同時又想使用資料驅動,那么就可以使用DDT來完成。 DDT是 “Data-Driven Tests”的縮寫。 資料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd. ......

    uj5u.com 2020-09-10 05:36:13 more
  • Python里面的xlrd模塊詳解

    那我就一下面積個問題對xlrd模塊進行學習一下: 1.什么是xlrd模塊? 2.為什么使用xlrd模塊? 3.怎樣使用xlrd模塊? 1.什么是xlrd模塊? ?python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。 今天就先來說一下xl ......

    uj5u.com 2020-09-10 05:36:28 more
  • 當我們創建HashMap時,底層到底做了什么?

    jdk1.7中的底層實作程序(底層基于陣列+鏈表) 在我們new HashMap()時,底層創建了默認長度為16的一維陣列Entry[ ] table。當我們呼叫map.put(key1,value1)方法向HashMap里添加資料的時候: 首先,呼叫key1所在類的hashCode()計算key1 ......

    uj5u.com 2020-09-10 05:36:38 more
最新发布
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:20:47 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:20:25 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:20:17 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:20:10 more
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:19:44 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:19:07 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:18:57 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:18:49 more
  • 05單件模式

    #經典的單件模式 public class Singleton { private static Singleton uniqueInstance; //一個靜態變數持有Singleton類的唯一實體。 // 其他有用的實體變數寫在這里 //構造器宣告為私有,只有Singleton可以實體化這個類! ......

    uj5u.com 2023-04-19 08:42:51 more
  • 【架構與設計】常見微服務分層架構的區別和落地實踐

    軟體工程的方方面面都遵循一個最基本的道理:沒有銀彈,架構分層模型更是如此,每一種都有各自優缺點,所以請根據不同的業務場景,并遵循簡單、可演進這兩個重要的架構原則選擇合適的架構分層模型即可。 ......

    uj5u.com 2023-04-19 08:42:41 more