《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 業界動態 > 一種IPv6無線傳感器網絡后臺數據系統的設計與實現

一種IPv6無線傳感器網絡后臺數據系統的設計與實現

2008-07-22
作者:劉晨曦,張思東,郜 帥

??? 摘? 要: 提出了基于IPv6無線傳感器網絡" title="無線傳感器網絡">無線傳感器網絡與CDMA公共無線通信網相融合的網絡架構的后臺數據系統,作為精準農業管理系統的一部分,負責傳感數據的接收、存儲以及控制命令的發送。
???關鍵詞:IPv6?無線傳感器網絡?后臺數據系統

?

??? 無線傳感器網絡是由部署在監測區域的傳感器節點" title="傳感器節點">傳感器節點通過自組織方式構成的網絡,具有低成本、低能耗、靈活性高、可擴展等優點。可以應用于國防軍事、環境監測和預報、農業監測控制、智能交通、智能家居、醫療衛生等眾多領域[1],具有廣闊的應用前景,受到越來越多的關注。IPv6[2]是下一代互聯網的核心協議,具有地址資源豐富、地址自動配置、支持實時業務、安全性高、移動性好等優點。將IPv6與無線傳感器網絡結合構建的IPv6無線傳感器網絡,可以滿足未來無線傳感器網絡在地址、可擴展性及與現有網絡融合等方面的需求,已成為其研究熱點之一。
??? 無線傳感器網絡通常由不同類型傳感器節點和網關設備構成。傳感器節點實時地采集特定區域的傳感信息" title="傳感信息">傳感信息,發送到網關,網關設備通過特定的方式與現有的網絡實現互聯互通,將傳感信息發送到遠程服務器端,由無線傳感器網絡后臺數據系統進行處理。本文設計并實現了應用于精準農業系統環境的IPv6無線傳感器網絡后臺數據系統,該系統包括接收、處理和存儲傳感數據以及發送控制命令幀等功能。無線傳感器網絡和Internet骨干網絡之間的數據傳送通過CDMA網絡實現。
1 后臺數據系統設計
1.1 基于精準農業的無線傳感器網絡架構
??? 本文以精準農業的管理系統為例,具體架構見圖1。

???????????????
??? 農業基地受地理位置影響,通常缺乏Internet網絡基礎設施。為了實現農業基地監測控制和智能管理,部署的IPv6無線傳感器網絡借助于CDMA網絡基礎設施,能夠方便有效地與現有網絡進行信息交換。在該系統中,主要存在以下兩種類型的數據傳輸:
??? (1)傳感器節點需要將實時采集的各種傳感數據發送到網關節點,通過特定的CDMA網絡接入設備并借助于CDMA網絡數據傳輸業務最終將數據發送到現有Internet中的服務器后臺處理系統。后臺數據系統將節點的各種傳感信息寫入數據庫,以供用戶隨時調用。
??? (2)管理員可以點擊Web網頁構造控制信息,由后臺數據系統通過CDMA網絡將命令發送到IPv6無線傳感器網絡中,由傳感節點的執行部分最終實現對農業基地的有效管理。
??? 在該系統中,CDMA網絡的數據業務采用IPv4和TCP協議,而無線傳感器網絡采用IPv6技術以及簡單有效的UDP傳輸控制協議實現數據的收發和處理。因此,本文在精準農業管理系統中設計了一種接收數據包,格式如圖2所示。

?????????????????????
??? ?根據精準農業管理系統需求以及數據包格式轉換過程,設計的后臺數據系統應具備以下特點:
??? (1)接收處理一種新型隧道包:根據數據包的格式轉換,該系統處理過程可以看作封裝在IPv4網絡中的IPv6數據包的隧道機制,但又與傳統的隧道機制有明顯區別,主要體現在后臺數據系統的IPv6數據包是作為IPv4協議棧" title="協議棧">協議棧應用層數據傳輸的。因此,這種新類型的隧道機制處理流程,是設計后臺數據系統的核心問題。
??? (2)構造并發送命令幀:命令幀在通過IPv6協議棧后被封裝成IPv6格式,如何使IPv6輸出隊列的命令幀回到用戶空間,利用原來的IPv4套接口進行發送,是后臺數據系統解決的難點問題。
??? (3)及時響應事件驅動:在等待數據接收時,后臺數據系統發送控制命令是一個事件驅動的過程,如何及時響應這個事件驅動,提高工作效率,是衡量后臺數據系統的一項重要指標。
1.2?后臺數據系統模型
??? 后臺數據系統主要用于收集信息,發送控制命令,完成對無線傳感器網絡中傳感器節點的監測與控制。根據后臺數據系統所實現的不同功能,系統設計采用分層體系結構,分成內核空間和用戶空間兩大部分,采用Linux操作系統作為內核空間基本平臺。分層的體系結構能使系統的功能實現透明化,各個層不需要了解其他層的具體工作,只需根據層間的接口所提供的服務,獨立完成自己的功能,這種設計使后臺數據系統具有很強的靈活性和可擴展性。后臺數據系統模型如圖3所示。

????????????????????????
??? 接收數據包時,在用戶空間開啟一個進程,利用面向連接的IPv4套接口建立通信鏈路。用戶將自己編寫的內核函數通過insmod命令模塊載入內核netfilter[3]架構,使數據包在到達IPv4接收隊列時,通過NF_HOOK()[4]函數將數據傳送到IPv6協議棧,通過IPv6套接口,完成傳感數據包的接收處理,并寫入數據庫。
??? 發送命令幀時,首先需要解決的是如何將構造的IPv6命令幀封裝在IPv4數據包中。其次,需要利用本地主機通信的方式,采用UNIX域協議,及時發送控制命令信息。
2 后臺數據系統的實現
2.1 接收流程的實現
??? 后臺數據系統首先在Linux內核中將自己編寫的模塊載入netfilter架構。當該系統接收到公網Internet傳送過來的IPv4數據包后,調用Linux內核中原有的IPv4 協議棧,對IPv4協議和TCP協議進行解析,獲取CDMA網關的IPv4地址以及TCP狀態等信息,再由netfilter架構中已載入模塊獲得內核IP隊列中的IPv4數據包,取出TCP協議的載荷數據,發往IPv6接收隊列,最終通過IPv6協議棧,經過INET6套接口到達用戶空間。獲得最終應用層傳感信息,并寫入數據庫。處理流程如圖4所示。

????????????????????????
??? 后臺數據系統在用戶空間進行處理時,將從內核空間獲得的傳感數據根據Type字段分成地址信息和傳感信息,進行不同的操作。
??? 后臺數據系統的接收模塊與MySQL[6]數據庫建立連接后,根據收到的信息進行判斷,將相應的傳感信息進行存儲。
2.2 發送流程的實現
??? 發送信息流程主要負責命令幀的構造,發送各種控制信息,實現對整個傳感器網絡及其內部單個節點的控制。控制信息主要包括:控制相應節點進行溫度、濕度、光強以及CO2濃度等各種數據的采集,執行部分的操作命令等。具體過程如圖5所示。

??????????????????
2.2.1 命令幀的構造與響應
??? 命令幀的構造是一個基于事件驅動的過程。通過點擊網頁的事件,觸發后臺數據系統的調用函數開始構造IPv6命令幀。
??? 命令幀的響應過程是通過本地通信的UNIX域協議進行的。在后臺數據系統啟動時便創建了一個新的線程作為監聽模塊,用于建立本地通信的套接字" title="套接字">套接字,綁定UNIX域套接口,之后監聽模塊阻塞,等待事件的觸發。當用戶或管理者需要某一個具體的傳感節點采集相應的傳感數據時,通過點擊Web網頁的發送按鈕,觸發發送命令幀的程序,開始主動連接本地UNIX域套接口,由于后臺數據系統的監聽模塊是一個單獨的線程,當有連接請求到達時,立刻會被喚醒,監聽模塊調用read函數,接收此命令幀,并將其拷貝到發送模塊緩沖區。
2.2.2? 命令幀的發送
??? 發送模塊將緩沖區中命令幀取出,使用面向無連接的IPv6套接字,經過Linux內核的UDP和IPv6協議棧將命令幀發送到IPv6輸出隊列。
??? 在內核中,提前在netfilter架構上加載ipip6_kern.o模塊,主要用于截獲IPv6輸出隊列的數據包并進行處理。在命令幀到達IPv6輸出隊列后,由ipip6_kern.o模塊中的“鉤子”函數,將整個數據包攔截下來,判斷是否是命令幀,若是命令幀,則將其從IPv6輸出隊列取出,同時拷貝到netlink套接字緩沖區,重新封裝,加載netlink報頭,并將封裝后的命令幀利用netlink套接字發送回用戶空間。用戶空間的轉發模塊可以接收該命令幀,并將其拷貝到與傳感器網關設備相連的套接字緩沖區,最終實現IPv4命令幀的發送。
3 功能驗證
????實驗是在農業基地的一個溫室中進行的,在溫室中擺放15個傳感器節點,其中4個CO2濃度節點,5個溫度節點,3個光強節點,3個空氣濕度節點。圖6是溫度傳感器工作時的實驗系統(圖中只標明溫度傳感器)。

??????????????????
??? 由于后臺數據系統構建在IPv6網絡之上,IPv6網絡可以為每一個溫度傳感器節點進行標識。首先節點啟動后,將自身的地址信息發送到服務器系統,服務器系統中的接收模塊接收到數據包后,檢查type字段是否為0,為0則確定為地址信息包,將接收到的數據包的相關信息存放到MySQL數據庫的地址信息表項中,數據庫中記錄的地址表項如圖7所示。

?????????????????????
??? 在圖7中,擴展地址后四位為8919的節點是無線傳感器網絡的網關,在sensor_type中用X表示。所有其他傳感器節點采集的傳感信息均發送到網關上,它通過串口和CDMA網絡接入設備相連,封裝成CDMA數據,從CDMA公網中轉發出去,擴展地址后四位為6041,6042,6043,6044,6045為5個溫度傳感器節點,在sensor_type中用T表示。
??? 在IPv6網絡上還可以實現對單個具體的溫度傳感器節點進行管理和控制,可以在Web網頁上觸發6045節點,使它完成對溫度傳感數據的采集,并最終傳送到后臺數據系統的數據庫中。圖8為后臺數據系統接收溫度節點6045傳送的一次溫度傳感數據時,用Ethereal軟件抓包分析的結果。

?????????????????????

??? 如圖8所示,目的地址為211.71.71.145,為后臺數據系統的IPv4地址。圖中標注的6045為節點,而01表示傳感數據,83用二進制表示為10000011,最高2位為10,表示傳感信息包,后6位為3,表示溫度傳感數據。隨后的兩位18和01,則表示節點6045采集的實時溫度。
??? 一般情況下,節點周期性地(本系統采集周期為1分鐘)采集周圍的環境參數并傳輸到后臺數據系統數據庫模塊。節點6045采集的實時溫度曲線如圖9所示。

????????????????
???? 本文設計和實現了一套應用于精準農業的無線傳感器網絡后臺數據處理系統,通過netfilter架構,在Linux內核中注冊一個 “鉤子”函數,利用動態載入內核模塊的方式,實現了處理IPv4封裝IPv6數據的系統框架。擴展了內核的功能。同時,利用Linux內核本身所具有的本地UNIX域協議,實現了控制命令的主動發送。此外,該后臺數據系統還具有開放式網絡體系結構以及通用的數據接口,具有良好的擴展性,能夠適用于無線傳感器網絡的其他應用。
參考文獻
[1] 孫利民,李建中,陳渝,等.無線傳感器網絡.北京:清華大學出版社,2005.
[2] RFC2460, S. Deering Internet Protocol,Version 6
[3] The netfilter/iptables project, http://www.netfilter.org.
[4] RUSSEL P, WELTE H. Linux netfilter hacking HOW TO?[EB/OL].
http://www.netfilter.org.
[5] STEVENS R. UNIX Network programming. Addison Wesley.2003.
[6] WILLIAMS H E, LANE D. Web dtatbase application with PHP & MySQL.2003.

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:[email protected]
主站蜘蛛池模板: 亚洲成人自拍网 | 爽爽视频在线观看 | 亚洲男人的天堂成人 | 国产精品成人久久久 | 欧美激情亚洲一区中文字幕 | 国产免费亚洲 | 欧美成人性动漫在线观看 | 最刺激黄a大片免费观看下截 | 精品国产高清久久久久久小说 | 完全免费在线视频 | 欧美成人免费观看久久 | 欧美日产国产亚洲综合图区一 | 日韩成人在线观看 | 亚洲成人美女 | 亚洲欧美激情精品一区二区 | 欧美黄a | 国产成人精品曰本亚洲78 | 欧美一区二区在线观看视频 | 日韩欧美精品一区二区 | 一级黄色录相片 | 亚洲一区视频在线播放 | 亚洲wu码| 国产思思| 亚洲 自拍 另类 欧美 综合 | 欧美一级毛片免费看高清 | 久久狠狠色狠狠色综合 | 欧美日韩中文一区二区三区 | 久久亚洲国产伦理 | 久久99精品一级毛片 | 久久99欧美| 真正免费一级毛片在线播放 | 精品国产三级a在线观看 | 美女黄频免费看 | 亚洲欧洲日产v特级毛片 | 国产自愉自愉全免费高清 | 91精品国产91热久久久久福利 | 最近免费手机中文字幕3 | 色欧美与xxxxx | 国产亚洲精品一区二区三区 | 911国产自产精选 | 老外一级毛片免费看 |