危險品倉庫的復合無線傳感器節點設計
2 復合傳感器節點軟件設計
2.1 復合傳感器節點操作系統的選擇
本課題選用TinyOS操作系統,其程序采用模塊化設計,所以它的程序核心往往都很小(一般來說核心代碼和數據大概在400字節左右),能夠突破傳感器存儲資源少的限制,這能夠讓TinyOS很有效地運行在無線傳感器網絡上并去執行相應的管理工作等。TinyOS本身提供了一系列的組件,可以很方便地編制程序,用來獲取和處理傳感器的數據并通過無線網絡來傳輸信息。
2.2 復合傳感器驅動程序設計
復合傳感器驅動程序由3部分組成:傳感器接口定義文件、傳感器接口配置文件、傳感器接口實現文件,如表1所列。本文引用地址:http://cqxgywz.com/article/162265.htm

傳感器接口定義文件聲明了傳感器與外界的接口。提供的命令函數和事件函數包括read()命令函數和readDone()事件函數,如表1中所述。其中命令函數由接口提供者實現,事件函數由調用接口者實現。傳感器接口配置文件定義了要實現SHT接口需要哪些組件。傳感器接口
實現文件具體實現SHT接口和傳感器驅動。
2.3 復合傳感器節點數據通信設計
復合傳感器節點數據通信協議為分發式、收集式。其中分發式用來傳遞指令和參數給所有傳感器節點;收集式用來收集所有傳感器節點采集到的數據。因此定義了如圖7所示的結構體來存儲需要分發的指令和收集的數據。這些數據只能通過相應的接口才能獲取,從而保證了數據的安全性。

2.3.1 分發式
匯聚節點將新定義好的控制指令和參數裝入數據包后,分發組件調用Send接口將該包發送至各個節點。節點收到包后,會做出相應的調整并反饋當前狀態信息給應用程序。分發式網絡協議工作原理如圖8所示。

分發式協議中用到的組件包括:DisseminationC(分發協議的控制部分)、DisseminatorC(分發協議進行數據分發和接收的部分)、BcastSenderC(向網絡中廣播數據)。
分發式協議中用到的接口包括:StdControl(對分發協議進行控制)、DisseminationUpdate(將上層傳來的命令進行分發)、Send(廣播)。
2.3.2 收集式
匯聚節點需要收集各節點采集到的數據時調用收集式協議,應用程序通過AMSend接口將收集消息傳給AMRadio組件,當AM Radio組件經Receive接口收到數據包后由Packet接口打開并取出相關值由應用程序處理。收集式網絡協議工作原理如圖9所示。

收集式協議中用到的組件包括:CollectionC(CTP協議)、PoolC(數據緩沖池)、QueueC(數據緩沖隊列),收集式協議中用到的接口包括:Packet(對Packet進行操作)、Receive(接收數據)、AMSend(發送數據)。













評論