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