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