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