基于Linux內核的無線多頻段WSN網關設計
3.3 嵌入式Linux網絡編程
本設計中通過TD—SCDMA網絡接入Internet。WSN子網的某一節點在上電后,網關分配給其一個1 6位的短地址,使其在子網中標識自己,然后周期性地發送其采集到的數據。網關收到傳感器節點傳送過來的數據之后,進行IEEE 802.15.4協議與以太網協議的轉換,為了向網絡設備提供透明的接口和區分串口數據的來源,需要制定統一的數據幀格式,所以協議轉換后加上slip的幀頭,通過串口設備發送給ARM。
ARM在解析了slip幀頭之后交給上層以及MAC層,解析以太網頭,然后上交給適配層,適配層將對完整的IPv6數據進行壓縮或者分片。數據在 IPv6層根據鄰居發現,找到要發送的網絡,并且進行路由轉發,經過在MAC層加上相應的MAC頭后,經TD模塊發送到TD—SCDMA通信網。這樣,從子網到TD網絡的數據轉發結束。
3.3.1 PPP協議簡介
PPP是一種提供兩個實體之間數據包傳輸的鏈路連接設計的鏈路層協議。這種鏈路具有全雙工操作、實現流量和差錯控制等功能,并按照順序傳遞數據包。可以通過撥號或者專線方式,讓客戶端和服務端建立起一種點對點的連接,傳遞數據。
3.3.2 建立撥號連接
在Linux系統中,通過PPP可以將主機與一個PPP服務器連接并進入該服務器所連接的網絡資源,就好像直接連上那個網絡一樣。建立一個PPP連接上網主要有以下步驟:第一步是調用會話程序。然后會話程序通過發送AT指令給3G模塊,完成撥號、身份驗證、配置等工作。最后,客戶端的pppd程序與服務器端的pppd程序進行握手,建立好連接,相互傳遞數據。多頻段網關建立網絡連接流程圖如圖8所示。
3.4 應用程序的設計
由于數據來源于4個頻段子網匯聚節點的串口,因此網關的應用程序采集多頻段子網匯聚節點數據部分設計上采用Linux系統中的多設備讀取機制select(I/O多工機制)來實現對多個串口的監聽。多串口采集數據的流程如圖9所示。
圖9 多串口采集數據的流程圖
4 實例測試
圖10為PPP撥號成功后超級終端顯示的Linux系統信息截圖,撥號目標上位機地址是222.182.101.220,從圖中可以看出,PPP撥號成功,并且獲得了TD網絡分配的IPv4地址10.81.185.15,遠程服務器IP為192.200.1.21。
圖10 PPP撥號成功后超級終端顯示的Linux系統信息截圖
結語
隨著物聯網時代,TD—SCDMA將促進物聯網有效發揮無縫通信的巨大威力,該方案充分利用了互聯網和無線通信公用網絡資源,將無線傳感網技術、嵌入式技術、TD—SCDMA通信有機地結合起來,成功設計了WSN/TD網關,實現了無線傳感網與TD—SCDMA網絡的融合,在實際應用當中取得了良好的效果。
物聯網相關文章:物聯網是什么
評論