專利名稱:基于OMAP3530Mini開發(fā)板的Ad Hoc網(wǎng)絡(luò)的搭建方法
技術(shù)領(lǐng)域:
本發(fā)明屬于無(wú)線通信技術(shù)領(lǐng)域中Ad Hoc網(wǎng)絡(luò)的實(shí)現(xiàn)方法,具體涉及如何在特定的 硬件平臺(tái)0MAP3530Mini開發(fā)板上實(shí)現(xiàn)無(wú)線自組織網(wǎng)絡(luò)的搭建方法。
背景技術(shù):
移動(dòng)Ad Hoc網(wǎng)絡(luò)由一組無(wú)線移動(dòng)節(jié)點(diǎn)組成,是一種不需要依靠現(xiàn)有固定通信基礎(chǔ) 設(shè)施的,能夠迅速展開使用的網(wǎng)絡(luò)體系,是沒(méi)有任何中心的實(shí)體、自組織、自愈的網(wǎng)絡(luò);各個(gè) 網(wǎng)絡(luò)節(jié)點(diǎn)相互協(xié)作、通過(guò)無(wú)線鏈路進(jìn)行通信、交換信息、實(shí)現(xiàn)信息和服務(wù)的共享;網(wǎng)絡(luò)節(jié)點(diǎn) 之間能夠動(dòng)態(tài)地、隨意地、頻繁地進(jìn)入和離開網(wǎng)絡(luò),而常常不需要事先預(yù)警或通知,而且不 會(huì)破壞網(wǎng)絡(luò)中其它節(jié)點(diǎn)的通信。 Ad Hoc網(wǎng)絡(luò)具有以下特點(diǎn)1、自組織性。Ad Hoc網(wǎng)絡(luò)可以在任何時(shí)刻、任何地方 構(gòu)建。該網(wǎng)絡(luò)中的節(jié)點(diǎn)能相互協(xié)調(diào)地遵循一種自組織原則,自動(dòng)探測(cè)網(wǎng)絡(luò)的拓?fù)湫畔?,自?dòng) 選擇傳輸路由,即使網(wǎng)絡(luò)發(fā)生動(dòng)態(tài)變化或某些節(jié)點(diǎn)嚴(yán)重受損時(shí),仍可以迅速調(diào)整其拓?fù)浣Y(jié) 構(gòu)以保持必要的通信能力。2、動(dòng)態(tài)拓?fù)洹d Hoc網(wǎng)絡(luò)中用戶能夠以任意的速度和任意方向 在網(wǎng)絡(luò)中移動(dòng),加上無(wú)線發(fā)送裝置發(fā)送功率的變化、無(wú)線信道間的相互干擾以及地形因素 等的影響,節(jié)點(diǎn)間通過(guò)無(wú)線信道形成的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)隨時(shí)都會(huì)發(fā)生變化,而且這種變化的 方式和速度都是很難預(yù)測(cè)的。3、帶寬限制和變化的鏈路容量。4、多跳通信。由于無(wú)線收發(fā) 機(jī)的信號(hào)傳播范圍有限,Ad Hoc網(wǎng)絡(luò)要求支持多跳通信。但這種通信方式也帶來(lái)了隱藏終 端、暴露終端等問(wèn)題。5、分布式控制。6、節(jié)點(diǎn)能量受限。7、信道的單向性。8、有限的安全 性。9、能量受限。 在由移動(dòng)設(shè)備、網(wǎng)絡(luò)連接和相應(yīng)的數(shù)據(jù)服務(wù)提供的所有應(yīng)用和服務(wù)中,最需要服 務(wù)的毫無(wú)疑問(wèn)是移動(dòng)用戶?,F(xiàn)在,絕大多數(shù)無(wú)線設(shè)備之間的連接都是通過(guò)固定設(shè)施的服務(wù) 提供商或者私有網(wǎng)絡(luò)。當(dāng)這種有基礎(chǔ)設(shè)施的網(wǎng)絡(luò)為無(wú)線設(shè)備提供服務(wù)時(shí),建立所必需的基 礎(chǔ)設(shè)施需要時(shí)間和巨大的開銷。而且,在有些地理位置用戶所需要的網(wǎng)絡(luò)連接并不能得到, 在這些情況下提供網(wǎng)絡(luò)連接和網(wǎng)絡(luò)服務(wù)確實(shí)是一種挑戰(zhàn)。 最近,出現(xiàn)了提供服務(wù)的替代方法。這些方法主要集中在讓在傳輸范圍內(nèi)的移動(dòng) 設(shè)備通過(guò)自動(dòng)配置來(lái)實(shí)現(xiàn)連接,建立靈活和有效的移動(dòng)Ad Hoc網(wǎng)絡(luò)。用這種方法,不僅移 動(dòng)節(jié)點(diǎn)之間能相互通信,而且還可以通過(guò)因特網(wǎng)的網(wǎng)關(guān)節(jié)點(diǎn)來(lái)接收因特網(wǎng)的服務(wù),使得因 特網(wǎng)的服務(wù)擴(kuò)展到了沒(méi)有基礎(chǔ)設(shè)施的地區(qū)。隨著無(wú)線網(wǎng)絡(luò)的持續(xù)發(fā)展,這些移動(dòng)Ad Hoc網(wǎng) 絡(luò)的能力將變得越來(lái)越重要,用于支持此網(wǎng)絡(luò)技術(shù)的研究和開發(fā)將在工業(yè)和學(xué)術(shù)上得到極 大的投入。 隨著計(jì)算機(jī)和通信技術(shù)的發(fā)展數(shù)據(jù)通信網(wǎng)和計(jì)算機(jī)通信網(wǎng)正以越來(lái)越快的速度 進(jìn)入到工業(yè)、商業(yè)、教育和科研領(lǐng)域,進(jìn)入到人們的日常生活中,深刻影響和改變著人們的 工作和生活方式。在現(xiàn)實(shí)生活中廣泛存在的,有著固定基站的移動(dòng)通信網(wǎng)現(xiàn)已被世界上廣 為應(yīng)用,如現(xiàn)有的GSM和CDMA等網(wǎng)絡(luò)。但上述這些網(wǎng)絡(luò)僅適用于已有骨干網(wǎng)的區(qū)域,對(duì)于 原本不存在骨干網(wǎng)的區(qū)域或者骨干網(wǎng)已經(jīng)被破壞的區(qū)域,例如在海浩瀚無(wú)邊的大海上,荒
4蕪人間的沙漠中,以及被地震或其它災(zāi)難所毀壞的城市,戰(zhàn)場(chǎng)等特殊場(chǎng)所,上述移動(dòng)通信網(wǎng) 絡(luò)就不能滿足需求。在某些緊急情況下,需要臨時(shí)、快速地建立一種新的移動(dòng)通信網(wǎng)絡(luò),以 便實(shí)現(xiàn)信息的傳送。為了滿足這種需求,作為移動(dòng)通信的另一種特殊形式,無(wú)線移動(dòng)Ad Hoc 網(wǎng)絡(luò)也就應(yīng)運(yùn)而生了。 下面介紹一下國(guó)內(nèi)外關(guān)于Ad Hoc網(wǎng)絡(luò)的研究現(xiàn)狀
1、IETF (The Internet Engineering Task Force) IETF由世界各地的網(wǎng)絡(luò)設(shè)計(jì)者、運(yùn)營(yíng)商、研究人員組成,主要負(fù)責(zé)發(fā)展Internet,
保證國(guó)際Internet的正常運(yùn)行。1997年IETF成立了一個(gè)專門的移動(dòng)Ad Hoc網(wǎng)絡(luò)工作組
MANET WG(Mobile Ad Hoc Network Work Group),專門負(fù)責(zé)研究和開發(fā)AdHoc網(wǎng)絡(luò)并制定
相應(yīng)的標(biāo)準(zhǔn),并對(duì)許多算法進(jìn)行了大量的仿真和評(píng)估工作。 2、WAM Lab (The Wireless Adaptive Mobility Laboratory) 由美國(guó)加州大學(xué)洛杉磯分校Mario Gerla教授領(lǐng)導(dǎo),受政府和企業(yè)資助,重點(diǎn)對(duì)Ad Hoc的路由協(xié)議、多播協(xié)議、多跳網(wǎng)絡(luò)QoS、信道接入?yún)f(xié)議、藍(lán)牙網(wǎng)絡(luò)和Ad Hoc網(wǎng)絡(luò)仿真等進(jìn) 行石開究。實(shí)驗(yàn)室米用PARSEC (Parallel Simulation Environment forComplex systems)語(yǔ) 言開發(fā)了具有開放性的Ad Hoc網(wǎng)絡(luò)仿真測(cè)試平臺(tái),用來(lái)對(duì)各種不同的協(xié)議進(jìn)行仿真比較, 平臺(tái)可以提供開放性編程,以適應(yīng)研究人員的需要?;谒_發(fā)仿真測(cè)試平臺(tái),該實(shí)驗(yàn)室也 對(duì)一些關(guān)鍵的無(wú)線網(wǎng)絡(luò)協(xié)議進(jìn)行了仿真評(píng)估和比較。 3、MOMENT Lab (The Mobility Management and Networking Lab)MOMENT實(shí)驗(yàn)室,由美國(guó)加州大學(xué)圣巴巴拉分校Elizabeth M. belding-Royer教授
領(lǐng)導(dǎo)。實(shí)驗(yàn)室建立了Ad Hoc實(shí)驗(yàn)評(píng)估平臺(tái)UCSB Wireless Mesh Network Test bed(the
University of California, Santa barbara Mesh Test bed),該實(shí)驗(yàn)評(píng)估平臺(tái)由25個(gè)節(jié)
點(diǎn)構(gòu)成。節(jié)點(diǎn)的物理層和MAC層采用802. llb的標(biāo)準(zhǔn),且在五個(gè)樓層內(nèi)均勻分布。平臺(tái)主要
用來(lái)對(duì)協(xié)議和系統(tǒng)的性能進(jìn)行評(píng)估,特別用于對(duì)多跳網(wǎng)絡(luò)可擴(kuò)展路由協(xié)議、有效網(wǎng)絡(luò)管理、
多媒體數(shù)據(jù)傳輸和QoS保證等技術(shù)的研究。此外,該實(shí)驗(yàn)室也對(duì)Ad Hoc移動(dòng)建模進(jìn)行了研
究,提出了基于障礙物的Ad Hoc移動(dòng)模型。 4、美國(guó)國(guó)家標(biāo)準(zhǔn)和技術(shù)研究所無(wú)線通信技術(shù)組 該技術(shù)組設(shè)立了 Ad Hoc網(wǎng)絡(luò)項(xiàng)目組,負(fù)責(zé)通過(guò)分析、軟件仿真和硬件仿真對(duì)Ad Hoc的路由協(xié)議性能、網(wǎng)絡(luò)的自組織性和分簇進(jìn)行評(píng)估和研究,特別是對(duì)一些新的協(xié)議和算 法進(jìn)行評(píng)估。評(píng)估主要利用QualNet和0PNET進(jìn)行,現(xiàn)已利用0PNET建立了 DSR(Dynamic Source Routing)協(xié)議模型禾口 A0DV(Ad Hoc 0n_demandDistance Vector)協(xié)議模型。
5、美國(guó)麻省理工大學(xué) PDOS(parallel and distributed operating system)在校內(nèi)部署實(shí)驗(yàn)網(wǎng)對(duì)Ad Hoc路由協(xié)議進(jìn)行研究,共建立了兩個(gè)實(shí)驗(yàn)網(wǎng),一個(gè)建立在該小組樓內(nèi),由29個(gè)節(jié)點(diǎn)組成, 一個(gè)建立在英國(guó)劍橋大學(xué)研究生公寓,由50個(gè)節(jié)點(diǎn)構(gòu)成了 Ad Hoc房頂網(wǎng)絡(luò)。
6、瑞典 由愛立信贊助在Uppsala大學(xué)成立的APE (Ad Hoc Protocol Evaluation)實(shí)驗(yàn)平 臺(tái)計(jì)劃,也對(duì)Ad Hoc網(wǎng)絡(luò)仿真和評(píng)估展開了大量研發(fā)工作。該項(xiàng)目的主要目標(biāo)是開發(fā)網(wǎng)絡(luò) 部署簡(jiǎn)單迅速、用戶使用方便、運(yùn)行高效的Ad Hoc網(wǎng)絡(luò)專用仿真評(píng)估平臺(tái),并利用仿真平臺(tái) 對(duì)無(wú)線Ad Hoc的路由協(xié)議進(jìn)行仿真評(píng)估和比較。
7、中國(guó) 到20世紀(jì)90年代后期,國(guó)內(nèi)也有一些大學(xué)和研究機(jī)構(gòu)開始關(guān)注Ad Hoc網(wǎng)絡(luò),并 展開了一些研究。近兩年,越來(lái)越多的大學(xué)加入了對(duì)Ad Hoc的研究行列,其中比較突出的 是解放軍理工大學(xué)、清華大學(xué)。清華大學(xué)于2000年5月與貝爾實(shí)驗(yàn)室合作成立清華一貝爾 通訊聯(lián)合實(shí)驗(yàn)室,主要對(duì)Ad Hoc和其他移動(dòng)網(wǎng)絡(luò)展開研究。 從上面的研究背景可以看出,從Ad Hoc的研究開始至今,對(duì)Ad Hoc的理論研究占 重要地位,但是搭建起來(lái)的實(shí)際的Ad Hoc網(wǎng)絡(luò)卻并不多。
發(fā)明內(nèi)容
本發(fā)明的目的在于使用0MAP3530Mini開發(fā)板這個(gè)硬件平臺(tái)搭建起來(lái)一個(gè)實(shí)際的 Ad Hoc網(wǎng)絡(luò)的方法,并且能夠使用這個(gè)網(wǎng)絡(luò)實(shí)現(xiàn)應(yīng)用層功能。
為達(dá)到上述目的,本發(fā)明采用的技術(shù)方案是
1)硬件平臺(tái)的搭建采用0MAP3530-Mini開發(fā)板搭建Ad Hoc網(wǎng)絡(luò)平臺(tái),在此0MAP3530_Mini開發(fā)板上 安裝無(wú)線網(wǎng)卡完成硬件平臺(tái)的搭建;
2) Li皿x嵌入式系統(tǒng)的搭建 首先,準(zhǔn)備一張SD卡,在Ubuntu8. 04開發(fā)環(huán)境下的li皿x終端對(duì)SD卡創(chuàng)建FAT32 和EXT3兩個(gè)分區(qū); 其次,采用Busybox制作根文件系統(tǒng)對(duì)Busybox編譯的過(guò)程采用交叉編譯,修改 Busybox里面的Makefile文件的交叉編譯器的名稱及路徑并建立存放根文件系統(tǒng)的目錄, 在根文件系統(tǒng)目錄的子目錄下即/lib目錄下添加與嵌入式Linux內(nèi)核對(duì)應(yīng)的庫(kù)文件、在/ dev下手動(dòng)添力口 console、 null、 zero塊設(shè)備,在/etc目錄下面添力口/init. d目錄,然后再 在/init. d目錄下面添加rcS腳本文件,在/etc下面添加passed、group文件,將制作完成 后的根文件系統(tǒng)放到0MAP3530-Mini開發(fā)板的SD卡EXT3分區(qū)下面; 再次,配置Linux Kernel,使用命令make me皿config,在Networking——>選 項(xiàng)下選擇對(duì)802. ll協(xié)議的支持,在Li皿x內(nèi)核配置選項(xiàng)中選擇與802. ll協(xié)議相匹配的 Generic IEEE 802.11 Networking Stack禾口 IEEE 802.11 WEP encryption(802. lx),在
Device Drivers---> Network device support---> Wireless LAN(non-h咖radio)--->
選擇Wireless LAN drivers(non-hamradio)& Wireless Extensions選項(xiàng),此夕卜
為支持A0DV協(xié)議,在networking options---> netfilter Configuration選IP
Netf ilerConf iguation—* userspace queueing via NETLINK,執(zhí)行make命令進(jìn)行編譯, 然后用make ulmage生成內(nèi)核文件鏡像文件ulmage,執(zhí)行make modules生成內(nèi)核中的模 塊文件,執(zhí)行make modules install將生成的模塊文件放到開發(fā)環(huán)境文件系統(tǒng)中的/lib/ modules文件夾下面,接著將配置完成的鏡像文件ulmage放入0MAP3530-Mini開發(fā)板的已 經(jīng)事先創(chuàng)建好分區(qū)的SD卡的FAT32分區(qū)下面,將/lib/modules文件夾下面的內(nèi)容拷貝到 根文件系統(tǒng)的lib目錄下;在開發(fā)板中啟動(dòng)鏡像文件ulmage,觀察文件系統(tǒng)是否能夠正常 啟動(dòng); 3)無(wú)線網(wǎng)卡驅(qū)動(dòng)的移植 移植無(wú)線網(wǎng)卡的驅(qū)動(dòng)程序時(shí),先下載得到Li皿x環(huán)境下無(wú)線網(wǎng)卡的驅(qū)動(dòng)程序,將無(wú)線網(wǎng)卡的驅(qū)動(dòng)程序放入到Linux Kernel中的/driver/net/wireless目錄下,修改/ driver/net/wireless目錄下的Makefile文件和Kconfig文件,加入對(duì)無(wú)線網(wǎng)卡驅(qū)動(dòng)的 支持,另外修改無(wú)線網(wǎng)卡驅(qū)動(dòng)程序的Makefile即修改交叉編譯器的名稱及路徑,具體為加 入下面的語(yǔ)句CROSS = /opt/codesourcery/arm_none_linux_gnueabi/arm_2007q3/bin/ 3rm_none_linux_gnue3bi_, /opt/codesourcery/arm-none-linux-gnueabi/arm_2007q3/ bin是交叉編譯器放置的目錄,修改CC和LD為CC = $ (CROSS) gcc, LD = $ (CROSS) ld,并修 改所匹配的li皿x內(nèi)核文件,即LINUX_SRC = /home/davinci/ICETEKWork/softwvare/2. 6_ kemel,/home/davinci/ICETEKWork/projects/2. 6_kemel為嵌入式li皿x kernel的內(nèi)核存 放路徑,重新編譯Linux Kemel,這個(gè)過(guò)程中同時(shí)對(duì)無(wú)線網(wǎng)卡的驅(qū)動(dòng)程序進(jìn)行了編譯,編譯 后在無(wú)線網(wǎng)卡驅(qū)動(dòng)程序的目錄下生成驅(qū)動(dòng)模塊文件,再將該驅(qū)動(dòng)模塊文件放入根文件系統(tǒng) 特定的目錄,在根文件目錄的/proc下新建/proc/net/wireless目錄,將生成的驅(qū)動(dòng)程序 的.bin文件和網(wǎng)卡驅(qū)動(dòng)參數(shù)數(shù)據(jù)文件復(fù)制到新建的/proc/net/wireless目錄下;
在嵌入式系統(tǒng)下先執(zhí)行d印mod-ae命令,然后執(zhí)行modprobe rt73命令加載無(wú)線 網(wǎng)卡的驅(qū)動(dòng)程序;
4)無(wú)線管理工具的安裝 首先在PC機(jī)上安裝Wireless Tools for Li皿x,采用編輯器打開Wireless Tools forLi皿x中的編譯管理文件Makefile,改動(dòng)編譯器引用路徑 CROSS = /opt/codesourcery/arm_none_linux_gnueabi/arm_2007q3/bin/ arm-none-li皿x-g皿eabi-, /opt/codesourcery/arm-none-l i皿x-g皿eabi/arm-2007q3/ bin是交叉編譯器放置的目錄,然后將編譯管理文件Makefile中的CC, AR, RANLIB前 面都加上$ (CROSS),在Makefile中改動(dòng)PREFIX = /home/ICETEKWork/pro jects/ wirelesstools即改變了無(wú)線管理工具的安裝目錄,使這個(gè)無(wú)線管理工具安裝到指定的/ home/ICETEKWork/projects/wirelesstools目錄下,使用make對(duì)Wireless Tools進(jìn)行 編譯生成無(wú)線管理工具,make install安裝編譯后生成的無(wú)線管理工具文件,將/home/ ICETEKWork/projects/wirelesstools/sbin目錄下所有的文件復(fù)制到制作好的根文件系 統(tǒng)的sbin中,/home/ICETEKWork/projects/wirelesstools/lib目錄下所有的庫(kù)文件復(fù)制 到根文件系統(tǒng)中的lib目錄下;
5) A0DV路由協(xié)議的移植 進(jìn)行A0DV路由協(xié)議移植時(shí),先下載得到A0DV路由協(xié)議,修改根目錄下的 Makefile文件和lnx目錄下的Makefile文件,改動(dòng)編譯器路徑,即CROSS = /opt/ codesourcery/3rm_none_linux_gnue3bi/3rm_2007q3/bin/arm-none-linux-gnueabi-, ARM-CC = $(CR0SS)gcc, ARM_LD = $ (CROSS) ld,修改指向的嵌入式內(nèi)核源代碼路徑的參 數(shù),艮卩KERNEL—DIR = /home/davinci/ICETEKWork/projects/2. 6_kernel,/home/davinci/ ICETEKWork/projects/2. 6_kernel為嵌入式li皿x kernel的內(nèi)核存放路徑,使用make命 令對(duì)A0DV路由協(xié)議進(jìn)行編譯,編譯完成后會(huì)在A0DV路由協(xié)議的根目錄下生成可執(zhí)行文件 aodvd,在lnx目錄下生成可加載模塊文件kaodv. ko,將生成的可執(zhí)行文件aodvd和可加載 模塊kaodv. ko文件拷貝到已經(jīng)生成的根文件系統(tǒng)的目錄下;
6)配置節(jié)點(diǎn) 嵌入式系統(tǒng)鏡像文件ulmage啟動(dòng)之后,首先加載無(wú)線網(wǎng)卡,在嵌入式系統(tǒng)中執(zhí)行
7d印mod-ae,然后執(zhí)行modprobe rt73加載無(wú)線網(wǎng)卡的驅(qū)動(dòng)程序,無(wú)線網(wǎng)卡驅(qū)動(dòng)成功后,使用 無(wú)線配置工具對(duì)節(jié)點(diǎn)進(jìn)行IP、essid和網(wǎng)絡(luò)模式的配置,具體為
ifconfig rausb0 xxx. xxx. xxx. xxx up
iwconfig rausb0 essid XXX mode ad-hoc 其中xxx. xxx. xxx. xxx為IP, XXX為essid名,接著加載AODV路由協(xié)議,首先進(jìn)入 到存放AODV路由協(xié)議的目錄下,然后執(zhí)行下面的命令
insmod kaodv. ko
. /aodvd 這樣一個(gè)節(jié)點(diǎn)就配置完成,對(duì)其它由0MAP3530Mini開發(fā)板組成的節(jié)點(diǎn)進(jìn)行類似 的配置,不同之處在于設(shè)定的IP要不同; 對(duì)每個(gè)節(jié)點(diǎn)都進(jìn)行配置后,對(duì)Ad Hoc網(wǎng)絡(luò)進(jìn)行測(cè)試了,用ping命令來(lái)測(cè)試網(wǎng)絡(luò)的 通斷和性能。 使用該硬件平臺(tái)搭建起來(lái)的Ad Hoc網(wǎng)絡(luò)可以進(jìn)行點(diǎn)對(duì)點(diǎn)通信,多跳通信,能夠進(jìn) 行文字通信、語(yǔ)音通信和FTP文件傳輸服務(wù)。并且具有Ad Hoc網(wǎng)絡(luò)的自組織性的特點(diǎn),它 不需要現(xiàn)有固定通信基礎(chǔ)設(shè)施的支持,能夠迅速展開使用的網(wǎng)絡(luò)體系,是一個(gè)自組織、自愈 的網(wǎng)絡(luò),各個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)相互協(xié)作、通過(guò)無(wú)線鏈路進(jìn)行通信、交換信息、實(shí)現(xiàn)信息和服務(wù)的共 享;網(wǎng)絡(luò)節(jié)點(diǎn)之間能夠動(dòng)態(tài)地、隨意地、頻繁地進(jìn)入和離開網(wǎng)絡(luò),而常常不需要事先預(yù)警或 通知,而且不會(huì)破壞網(wǎng)絡(luò)中其它節(jié)點(diǎn)的通信。另外本發(fā)明中采用的硬件平臺(tái)比較容易獲得, 而且硬件平臺(tái)體積小,使用0MAP3530開發(fā)板內(nèi)的芯片進(jìn)行開發(fā)時(shí)便于進(jìn)行集成,容易產(chǎn)品 化。
圖1為嵌入式搭建成功截圖;圖2為無(wú)線網(wǎng)卡驅(qū)動(dòng)程序加載成功截圖;圖3為多跳時(shí)的測(cè)試場(chǎng)景示意圖;圖4為10. 0. 0. 6ping 10. 0. 0. 1通的截圖;圖5為10. 0. 0. l節(jié)點(diǎn)的路由表截圖;圖6為0MAP3530Mini開發(fā)板1 (IP為10. 0. 0. 3)的路由表截圖;圖7為在搭建起來(lái)的Ad Hoc網(wǎng)絡(luò)中進(jìn)行文字會(huì)話的界面圖;圖8為在PC2 (10. 0. 0. 6)端開啟FTP服務(wù)器的過(guò)程;圖9為PCI (10. 0. 0. 1)作為FTP客戶端,使用FTP進(jìn)行文件下載的截10為FTP客戶端從FTP服務(wù)器上下載文件的過(guò)程;圖11為在FTP的客戶端使用eog命令打開jpg文件的截圖。
具體實(shí)施例方式
下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)說(shuō)明。
1)硬件平臺(tái)的搭建 采用0MAP3530-Mini開發(fā)板搭建Ad Hoc網(wǎng)絡(luò)平臺(tái),在此0MAP3530_Mini開發(fā)板上 安裝無(wú)線網(wǎng)卡完成硬件平臺(tái)的搭建;
Ad Hoc網(wǎng)絡(luò)是計(jì)算機(jī)網(wǎng)絡(luò)的一種,計(jì)算機(jī)網(wǎng)絡(luò)是指將地理位置不同的具有獨(dú)立功 能的多臺(tái)計(jì)算機(jī)及其外部設(shè)備,通過(guò)通信線路連接起來(lái),在網(wǎng)絡(luò)操作系統(tǒng),網(wǎng)絡(luò)管理軟件及 網(wǎng)絡(luò)通信協(xié)議的管理和協(xié)調(diào)下,實(shí)現(xiàn)資源共享和信息傳遞的計(jì)算機(jī)系統(tǒng)。由于Ad Hoc網(wǎng)絡(luò) 是計(jì)算機(jī)網(wǎng)絡(luò)的一種,因此Ad Hoc網(wǎng)絡(luò)也必須遵循計(jì)算機(jī)網(wǎng)絡(luò)的設(shè)計(jì)標(biāo)準(zhǔn)及規(guī)范。
通常采用的是綜合OSI和TCP/IP的優(yōu)點(diǎn)的五層體系結(jié)構(gòu),這五層分別為應(yīng)用層、 運(yùn)輸層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層和物理層。物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層是最基本的三層體系結(jié) 構(gòu),在這最底層三層協(xié)議的支持下我們就可以進(jìn)行簡(jiǎn)單的數(shù)據(jù)通信。對(duì)于物理層和數(shù)據(jù)鏈 路層我所使用的是IEEE 802. 11b/g協(xié)議,所使用的硬件是無(wú)線網(wǎng)卡。因?yàn)榘凑誌EEE802. 11 協(xié)議,無(wú)線局域網(wǎng)卡分為媒體訪問(wèn)控制層和物理層,在兩者之間,還定義了一個(gè)媒體訪問(wèn)控 制-物理(MAC-PHY)子層(Sublayers) 。 MAC層提供主機(jī)與物理層之間的接口 ,并管理外部 存儲(chǔ)器,它與無(wú)線網(wǎng)卡硬件的NIC單元相對(duì)應(yīng)。物理層具體實(shí)現(xiàn)無(wú)線電信號(hào)的接收與發(fā)射, 它與無(wú)線網(wǎng)卡硬件中的擴(kuò)頻通信機(jī)相對(duì)應(yīng)。物理層提供空閑信道估計(jì)信息給MAC層,以便 決定是否可以發(fā)送信號(hào),通過(guò)MAC層的控制來(lái)實(shí)現(xiàn)無(wú)線網(wǎng)絡(luò)的CCSMA/CA協(xié)議,而MAC-PHY 子層主要實(shí)現(xiàn)數(shù)據(jù)的打包與拆包,把必要的控制信息放在數(shù)據(jù)包的前面。
對(duì)于網(wǎng)絡(luò)層,要進(jìn)行路由協(xié)議的開發(fā),因?yàn)橐罱ǔ傻氖茿d Hoc網(wǎng)絡(luò),我使用的是 Ad Hoc路由協(xié)議,Ad Hoc路由協(xié)議中典型的有動(dòng)態(tài)源路由協(xié)議(DynamicSource Routing Protocol, DSR),目木示序列足巨離足各由矢量算^去DSDV (DestinationSequenced Distance Vector) , Ad Hoc網(wǎng)纟各的足巨離矢量足各由算f去AODV (Ad Hoc onDemand Distmce Vector Routing)。這里我所使用的是AODV路由協(xié)議。
硬件的選擇 使用基于TI生產(chǎn)的0MAP3530芯片的DSP開發(fā)板ICETEK-0MAP3530_MINI,主要是 使用雙核DSP里面的ARM內(nèi)核,發(fā)揮ARM的管理作用,搭建起來(lái)一個(gè)嵌入式系統(tǒng),在這個(gè)嵌 入式系統(tǒng)中驅(qū)動(dòng)無(wú)線網(wǎng)卡工作,完成物理層數(shù)據(jù)鏈路層的功能。無(wú)線網(wǎng)卡則選擇TP-LINK 的WN321G+,這款無(wú)線網(wǎng)卡的芯片是Ralink公司的RT73,支持IEEE 802. 11b/g通信協(xié)議。
2) Linux嵌入式系統(tǒng)的搭建 首先,準(zhǔn)備一張SD卡,在Ubuntu8. 04開發(fā)環(huán)境下的li皿x終端對(duì)SD卡創(chuàng)建FAT32 和EXT3兩個(gè)分區(qū); 其次,采用Busybox制作根文件系統(tǒng)對(duì)Busybox編譯的過(guò)程采用交叉編譯,修改 Busybox里面的Makefile文件的交叉編譯器的名稱及路徑并建立存放根文件系統(tǒng)的目錄, 在根文件系統(tǒng)目錄的子目錄下即/lib目錄下添加與嵌入式Li皿x內(nèi)核對(duì)應(yīng)的庫(kù)文件、在/ dev下手動(dòng)添力口 console、 null、 zero塊設(shè)備,在/etc目錄下面添力口/init. d目錄,然后再 在/init. d目錄下面添加rcS腳本文件,在/etc下面添加passed、group文件,將制作完成 后的根文件系統(tǒng)放到0MAP3530-Mini開發(fā)板的SD卡EXT3分區(qū)下面;
再次,配置Linux Kernel,使用命令make menuconfig,在Networking——>選 項(xiàng)下選擇對(duì)802. ll協(xié)議的支持,在Li皿x內(nèi)核配置選項(xiàng)中選擇與802. ll協(xié)議相匹配的 Generic IEEE 802.11 Networking Stack禾口 IEEE 802.11 WEP encryption(802. lx),在
Device Drivers---> Network device support---> Wireless LAN(non-hamradio)--->
選擇Wireless LAN drivers(non-hamradio)& Wireless Extensions選項(xiàng),此夕卜 為支持AODV協(xié)議,在networking options---> netfilter Configuration選IPNetf ilerConf iguation—* userspace queueing via NETLINK,執(zhí)行make命令進(jìn)行編譯, 然后用make ulmage生成內(nèi)核文件鏡像文件ulmage,執(zhí)行make modules生成內(nèi)核中的模 塊文件,執(zhí)行make modules—install將生成的模塊文件放到開發(fā)環(huán)境文件系統(tǒng)中的/lib/ modules文件夾下面,接著將配置完成的鏡像文件ulmage放入0MAP3530-Mini開發(fā)板的已 經(jīng)事先創(chuàng)建好分區(qū)的SD卡的FAT32分區(qū)下面,將/lib/modules文件夾下面的內(nèi)容拷貝到 根文件系統(tǒng)的lib目錄下;在開發(fā)板中啟動(dòng)鏡像文件ulmage,觀察文件系統(tǒng)是否能夠正常 啟動(dòng); 嵌入式系統(tǒng)成功啟動(dòng)的截圖見附圖1。
3)無(wú)線網(wǎng)卡驅(qū)動(dòng)的移植 移植無(wú)線網(wǎng)卡的驅(qū)動(dòng)程序時(shí),先下載得到Li皿x環(huán)境下無(wú)線網(wǎng)卡的驅(qū)動(dòng)程序。將 無(wú)線網(wǎng)卡的驅(qū)動(dòng)程序放入到Linux Kernel中的/driver/net/wireless目錄下,修改/ driver/net/wireless目錄下的Makefile文件和Kconfig文件,加入對(duì)無(wú)線網(wǎng)卡驅(qū)動(dòng)的支 持。另外修改無(wú)線網(wǎng)卡驅(qū)動(dòng)程序的Makefile,主要是修改交叉編譯器的名稱及路徑,具體 為力口入下面的語(yǔ)句CROSS = /opt/codesourcery/art_none_linux_gnueabi/arm_2007q3/ bin/arm_none_linux_gnueabi_, /opt/codesourcery/arm_none_linux-gnueabi/ arm-2007q3/bin是交叉編譯器放置的目錄,修改CC和LD為CC = $ (CROSS) gcc, LD =$ (CROSS) ld,并修改所匹配的li皿x內(nèi)核文件,即LINUX_SRC = /home/davinci/ ICETEKWork/soffware/2. 6_kernel,/home/davinci/ICETEKWork/projects/2. 6—kernel為 嵌入式li皿x kernel的內(nèi)核存放路徑。重新編譯Li皿x Kernel,這個(gè)過(guò)程中同時(shí)對(duì)無(wú)線網(wǎng) 卡的驅(qū)動(dòng)程序進(jìn)行了編譯。編譯后在無(wú)線網(wǎng)卡驅(qū)動(dòng)程序的目錄下會(huì)生成驅(qū)動(dòng)模塊文件,再 將該驅(qū)動(dòng)模塊文件放入根文件系統(tǒng)特定的目錄,在根文件目錄的/proc下新建/proc/net/ wireless目錄,將生成的驅(qū)動(dòng)程序的.bin文件和網(wǎng)卡驅(qū)動(dòng)參數(shù)數(shù)據(jù)文件復(fù)制到新建的/ proc/net/wireless目錄下; 在嵌入式系統(tǒng)下先執(zhí)行d印mod-ae命令,然后執(zhí)行modprobe rt73命令加載無(wú)線 網(wǎng)卡的驅(qū)動(dòng)程序。 無(wú)線網(wǎng)卡加載成功的截圖見附圖2.
4)無(wú)線管理工具的安裝 首先在PC機(jī)上安裝Wireless Tools for Li皿x,采用編輯器打開Wireless Tools forLi皿x中的編譯管理文件Makefile,改動(dòng)編譯器引用路徑 CROSS = /opt/codesourcery/arm_none_linux_gnueabi/arm_2007q3/bin/ arm-none-li皿x-g皿eabi-, /opt/codesourcery/arm-none-l i皿x-g皿eabi/arm-2007q3/ bin是交叉編譯器放置的目錄,然后將編譯管理文件Makefile中的CC, AR, RANLIB前 面都加上$ (CROSS),在Makefile中改動(dòng)PREFIX = /home/ICETEKWork/pro jects/ wirelesstools即改變了無(wú)線管理工具的安裝目錄,使這個(gè)無(wú)線管理工具安裝到指定的/ home/ICETEKWork/projects/wirelesstools目錄下,使用make對(duì)Wireless Tools進(jìn)行 編譯生成無(wú)線管理工具,make install安裝編譯后生成的無(wú)線管理工具文件,將/home/ ICETEKWork/projects/wirelesstools/sbin目錄下所有的文件復(fù)制到制作好的根文件系 統(tǒng)的sbin中,/home/ICETEKWork/projects/wirelesstools/lib目錄下所有的庫(kù)文件復(fù)制 到根文件系統(tǒng)中的lib目錄下;
5) A0DV路由協(xié)議的移植 進(jìn)行AODV路由協(xié)議移植時(shí),先下載得到AODV路由協(xié)議。修改根目錄下的 Makefile文件和lnx目錄下的Makefile文件,改動(dòng)編譯器路徑,即CROSS = /opt/ codesourcery/arm-none-l i皿x-g皿e3bi/3rm-2007q3/bin/arm-none-l i皿x-g皿eabi-, ARM_CC = $(CR0SS)gcc, ARM_LD = $ (CROSS) ld,修改指向的嵌入式內(nèi)核源代碼路徑的參 數(shù),艮卩KERNEL—DIR = /home/davinci/ICETEKWork/projects/2. 6_kernel,/home/davinci/ ICETEKWork/projects/2. 6_kernel為嵌入式li皿x kernel的內(nèi)核存放路徑。使用make命 令對(duì)AODV路由協(xié)議進(jìn)行編譯,編譯完成后會(huì)在AODV路由協(xié)議的根目錄下生成可執(zhí)行文件 aodvd,在lnx目錄下生成可加載模塊文件kaodv. ko。將生成的可執(zhí)行文件aodvd和可加載 模塊kaodv. ko文件拷貝到已經(jīng)生成的根文件系統(tǒng)的目錄下;
6)配置節(jié)點(diǎn) 嵌入式系統(tǒng)鏡像文件ulmage啟動(dòng)之后,首先加載無(wú)線網(wǎng)卡,在嵌入式系統(tǒng)中執(zhí)行 d印mod-ae,然后執(zhí)行modprobe rt73加載無(wú)線網(wǎng)卡的驅(qū)動(dòng)程序,無(wú)線網(wǎng)卡驅(qū)動(dòng)成功后,使用 無(wú)線配置工具對(duì)節(jié)點(diǎn)進(jìn)行IP、essid和網(wǎng)絡(luò)模式的配置,具體為
ifconfig rausb0 xxx. xxx. xxx. xxx up
iwconfig rausb0 essid XXX mode ad-hoc 其中xxx. xxx. xxx. xxx為IP,可以自己設(shè)定,XXX為essid名,也可以自己設(shè)定。接 著要加載AODV路由協(xié)議,首先進(jìn)入到存放AODV路由協(xié)議的目錄下,然后執(zhí)行下面的命令
insmod kaodv. ko
. /aodvd 這樣一個(gè)節(jié)點(diǎn)就配置完成,對(duì)其它由0MAP3530Mini開發(fā)板組成的節(jié)點(diǎn)進(jìn)行類似 的配置,不同之處在于設(shè)定的IP要不同。 對(duì)每個(gè)節(jié)點(diǎn)都進(jìn)行配置后,可以對(duì)Ad Hoc網(wǎng)絡(luò)進(jìn)行測(cè)試了,用ping命令來(lái)測(cè)試網(wǎng) 絡(luò)的通斷和性能。 7)搭建起來(lái)的網(wǎng)絡(luò)的功能 搭建起來(lái)的Ad Hoc網(wǎng)絡(luò)能夠進(jìn)行點(diǎn)對(duì)點(diǎn)通信、多點(diǎn)通信、文字會(huì)話、語(yǔ)音通信和 ftp文件傳輸功能。
a、點(diǎn)X寸點(diǎn)通〈言 這個(gè)主要是通過(guò)相鄰節(jié)點(diǎn)之間能夠互相ping通來(lái)證明。
b、多跳通信 不相鄰的節(jié)點(diǎn)通過(guò)中間節(jié)點(diǎn)的轉(zhuǎn)發(fā)能夠ping通,并且可以實(shí)現(xiàn)一些應(yīng)用層方面 的功能。 多跳通信的測(cè)試場(chǎng)景示意圖見附圖3。 圖中的PCI和PC2分別位于 一 條很長(zhǎng)的走廊的兩端的兩間實(shí)驗(yàn)室內(nèi), 0MAP3530Mini開發(fā)板1和0MAP3530Mini開發(fā)板2位于走廊的中間,網(wǎng)絡(luò)的模式設(shè)為Ad Hoc,分別為四個(gè)節(jié)點(diǎn)配置IP,使用ifconfig命令,PCI的IP為10. 0. 0. 1, 0MAP3530Mini 開發(fā)板1的IP為10. 0. 0. 3, 0證3530Mini開發(fā)板1的IP為10. 0. 0. 5, PC2的IP為 10. 0. 0. 6,使用iwconfig命令將每個(gè)節(jié)點(diǎn)的essid均設(shè)為IBM,使之處于同一個(gè)網(wǎng)段,網(wǎng)絡(luò) 模式均設(shè)為Ad Hoc。
使用ping命令,PC2(10. 0. 0. 6)ping PCI (10. 0. 0. 1)通,這說(shuō)明網(wǎng)絡(luò)連通。見附 圖4。附圖5為PC1(IP為10.0.0. 1)的路由表,從圖上可以看到IP為10.0.0.3的節(jié)點(diǎn)為 該節(jié)點(diǎn)的鄰居節(jié)點(diǎn),從該節(jié)點(diǎn)到它的鄰居節(jié)點(diǎn)不需要經(jīng)過(guò)中間節(jié)點(diǎn)的轉(zhuǎn)發(fā),可以直通。而到 它的非鄰居節(jié)點(diǎn)需要經(jīng)過(guò)中間節(jié)點(diǎn)的轉(zhuǎn)發(fā),到IP為10. 0. 0. 5的節(jié)點(diǎn)需要經(jīng)過(guò)10. 0. 0. 3的 轉(zhuǎn)發(fā),路由的跳數(shù)為2,而到10. 0. 0. 6也需要經(jīng)過(guò)10. 0. 0. 3的轉(zhuǎn)發(fā),路由的跳數(shù)為3,這些 說(shuō)明該網(wǎng)絡(luò)確實(shí)是多跳網(wǎng)絡(luò)。 附圖6為0MAP3530Mini開發(fā)板1 (IP為10. 0. 0. 3)的路由表,該節(jié)點(diǎn)為中間節(jié)點(diǎn), 從該路由表可以看出IP為10. 0. 0. 1 (PC1)的節(jié)點(diǎn)和10. 0. 0. 5 (0MAP3530Mini開發(fā)板2)的 節(jié)點(diǎn)為它的鄰居節(jié)點(diǎn)。該節(jié)點(diǎn)到PC2需要經(jīng)過(guò)2跳路由。
c、文字會(huì)話、語(yǔ)音通信 借助于GnomeMeeting軟件可以進(jìn)行文字會(huì)話、語(yǔ)音通信。
進(jìn)行文字會(huì)話的界面圖見附圖7。
d、FTP文件傳輸 在搭建起來(lái)的Ad Hoc網(wǎng)絡(luò)中,使用一個(gè)基點(diǎn)作為FTP服務(wù)器,另外一個(gè)節(jié)點(diǎn)作為
FTP客戶端,可以進(jìn)行FTP文件傳輸。使用的severce vsffpd start命令構(gòu)建FTP服務(wù)器。
在FTP客戶端使用get命令可以從已經(jīng)構(gòu)建好的FTP服務(wù)器上下載文件。 附圖8為在PC2 (10. 0. 0. 6)端開啟FTP服務(wù)器的過(guò)程,使用的是severce
vsftpdstart命令,開啟FTP服務(wù)后,F(xiàn)TP客戶端可以從該節(jié)點(diǎn)下載此節(jié)點(diǎn)存儲(chǔ)的內(nèi)容。 圖9為PC1(10.0.0. 1)作為FTP客戶端,使用FTP進(jìn)行文件下載的截圖。首先要
連接到FTP服務(wù)器上,如果網(wǎng)絡(luò)連通并且FTP服務(wù)器開啟的話,則會(huì)有顯示成功連接到FTP
服務(wù)器上,查看FTP服務(wù)器上可供下載的內(nèi)容,選擇所需要的內(nèi)容進(jìn)行下載。 圖10為FTP客戶端從FTP服務(wù)器上下載文件的過(guò)程,這里下載的是xjtu. jpg文
件,從圖上可以看到使用FTP下載文件的速度為180Kbytes/s。使用bye命令可以退出FTP
的應(yīng)用過(guò)程。 圖11為在FTP的客戶端使用eog命令打開jpg文件的截圖,打開后的文件跟FTP 服務(wù)器上的文件完全相同,由此可以看出網(wǎng)絡(luò)的聯(lián)通性和FTP文件傳輸?shù)目煽啃浴?br>
權(quán)利要求
基于OMAP3530Mini開發(fā)板的Ad Hoc網(wǎng)絡(luò)的搭建方法,其特征在于1)硬件平臺(tái)的搭建采用OMAP3530-Mini開發(fā)板搭建Ad Hoc網(wǎng)絡(luò)平臺(tái),在此OMAP3530-Mini開發(fā)板上安裝無(wú)線網(wǎng)卡完成硬件平臺(tái)的搭建;2)Linux嵌入式系統(tǒng)的搭建首先,準(zhǔn)備一張SD卡,在Ubuntu8.04開發(fā)環(huán)境下的linux終端對(duì)SD卡創(chuàng)建FAT32和EXT3兩個(gè)分區(qū);其次,采用Busybox制作根文件系統(tǒng)對(duì)Busybox編譯的過(guò)程采用交叉編譯,修改Busybox里面的Makefile文件的交叉編譯器的名稱及路徑并建立存放根文件系統(tǒng)的目錄,在根文件系統(tǒng)目錄的子目錄下即/lib目錄下添加與嵌入式Linux內(nèi)核對(duì)應(yīng)的庫(kù)文件、在/dev下手動(dòng)添加console、null、zero塊設(shè)備,在/etc目錄下面添加/init.d目錄,然后再在/init.d目錄下面添加rcS腳本文件,在/etc下面添加passed、group文件,將制作完成后的根文件系統(tǒng)放到OMAP3530-Mini開發(fā)板的SD卡EXT3分區(qū)下面;再次,配置Linux Kernel,使用命令make menuconfig,在Networking--->選項(xiàng)下選擇對(duì)802.11協(xié)議的支持,在Linux內(nèi)核配置選項(xiàng)中選擇與802.11協(xié)議相匹配的Generic IEEE 802.11 Networking Stack和IEEE 802.11 WEP encryption(802.1x),在Device Drivers--->Network device support--->Wireless LAN(non-hamradio)--->選擇Wireless LAN drivers (non-hamradio) & Wireless Extensions選項(xiàng),此外為支持AODV協(xié)議,在networking options--->netfilter Configuration選IP NetfilerConfiguation-→userspace queueing via NETLINK,執(zhí)行make命令進(jìn)行編譯,然后用make uImage生成內(nèi)核文件鏡像文件uImage,執(zhí)行make modules生成內(nèi)核中的模塊文件,執(zhí)行make modules_install將生成的模塊文件放到開發(fā)環(huán)境文件系統(tǒng)中的/lib/modules文件夾下面,接著將配置完成的鏡像文件uImage放入OMAP3530-Mini開發(fā)板的已經(jīng)事先創(chuàng)建好分區(qū)的SD卡的FAT32分區(qū)下面,將/lib/modules文件夾下面的內(nèi)容拷貝到根文件系統(tǒng)的lib目錄下;在開發(fā)板中啟動(dòng)鏡像文件uImage,觀察文件系統(tǒng)是否能夠正常啟動(dòng);3)無(wú)線網(wǎng)卡驅(qū)動(dòng)的移植移植無(wú)線網(wǎng)卡的驅(qū)動(dòng)程序時(shí),先下載得到Linux環(huán)境下無(wú)線網(wǎng)卡的驅(qū)動(dòng)程序,將無(wú)線網(wǎng)卡的驅(qū)動(dòng)程序放入到Linux Kernel中的/driver/net/wireless目錄下,修改/driver/net/wireless目錄下的Makefile文件和Kconfig文件,加入對(duì)無(wú)線網(wǎng)卡驅(qū)動(dòng)的支持,另外修改無(wú)線網(wǎng)卡驅(qū)動(dòng)程序的Makefile即修改交叉編譯器的名稱及路徑,具體為加入下面的語(yǔ)句CROSS=/opt/codesourcery/arm-none-linux-gnueabi/arm-2007q3/bin/arm-none-linux-gnueabi-,/opt/codesourcery/arm-none-linux-gnueabi/arm-2007q3/bin是交叉編譯器放置的目錄,修改CC和LD為CC=$(CROSS)gcc,LD=$(CROSS)ld,并修改所匹配的linux內(nèi)核文件,即LINUX_SRC=/home/davinci/ICETEKWork/software/2.6_kernel,/home/davinci/ICETEKWork/projects/2.6_kernel為嵌入式linux kernel的內(nèi)核存放路徑,重新編譯Linux Kernel,這個(gè)過(guò)程中同時(shí)對(duì)無(wú)線網(wǎng)卡的驅(qū)動(dòng)程序進(jìn)行了編譯,編譯后在無(wú)線網(wǎng)卡驅(qū)動(dòng)程序的目錄下生成驅(qū)動(dòng)模塊文件,再將該驅(qū)動(dòng)模塊文件放入根文件系統(tǒng)特定的目錄,在根文件目錄的/proc下新建/proc/net/wireless目錄,將生成的驅(qū)動(dòng)程序的.bin文件和網(wǎng)卡驅(qū)動(dòng)參數(shù)數(shù)據(jù)文件復(fù)制到新建的/proc/net/wireless目錄下;在嵌入式系統(tǒng)下先執(zhí)行depmod-ae命令,然后執(zhí)行modprobe rt73命令加載無(wú)線網(wǎng)卡的驅(qū)動(dòng)程序;4)無(wú)線管理工具的安裝首先在PC機(jī)上安裝Wireless Tools for Linux,采用編輯器打開Wireless Tools forLinux中的編譯管理文件Makefile,改動(dòng)編譯器引用路徑CROSS=/opt/codesourcery/arm-none-linux-gnueabi/arm-2007q3/bin/arm-none-linux-gnueabi-,/opt/codesourcery/arm-none-linux-gnueabi/arm-2007q3/bin是交叉編譯器放置的目錄,然后將編譯管理文件Makefile中的CC,AR,RANLIB前面都加上$(CROSS),在Makefile中改動(dòng)PREFIX=/home/ICETEKWork/projects/wirelesstools即改變了無(wú)線管理工具的安裝目錄,使這個(gè)無(wú)線管理工具安裝到指定的/home/ICETEKWork/projects/wirelesstools目錄下,使用make對(duì)Wireless Tools進(jìn)行編譯生成無(wú)線管理工具,make install安裝編譯后生成的無(wú)線管理工具文件,將/home/ICETEKWork/projects/wirelesstools/sbin目錄下所有的文件復(fù)制到制作好的根文件系統(tǒng)的sbin中,/home/ICETEKWork/projects/wirelesstools/lib目錄下所有的庫(kù)文件復(fù)制到根文件系統(tǒng)中的lib目錄下;5)AODV路由協(xié)議的移植進(jìn)行AODV路由協(xié)議移植時(shí),先下載得到AODV路由協(xié)議,修改根目錄下的Makefile文件和lnx目錄下的Makefile文件,改動(dòng)編譯器路徑,即CROSS=/opt/codesourcery/arm-none-linux-gnueabi/arm-2007q3/bin/arm-none-linux-gnueabi-,ARM_CC=$(CROSS)gcc,ARM_LD=$(CROSS)ld,修改指向的嵌入式內(nèi)核源代碼路徑的參數(shù),即KERNEL_DIR=/home/davinci/ICETEKWork/projects/2.6_kernel,/home/davinci/ICETEKWork/projects/2.6_kernel為嵌入式linux kernel的內(nèi)核存放路徑,使用make命令對(duì)AODV路由協(xié)議進(jìn)行編譯,編譯完成后會(huì)在AODV路由協(xié)議的根目錄下生成可執(zhí)行文件aodvd,在lnx目錄下生成可加載模塊文件kaodv.ko,將生成的可執(zhí)行文件aodvd和可加載模塊kaodv.ko文件拷貝到已經(jīng)生成的根文件系統(tǒng)的目錄下;6)配置節(jié)點(diǎn)嵌入式系統(tǒng)鏡像文件uImage啟動(dòng)之后,首先加載無(wú)線網(wǎng)卡,在嵌入式系統(tǒng)中執(zhí)行depmod-ae,然后執(zhí)行modprobe rt73加載無(wú)線網(wǎng)卡的驅(qū)動(dòng)程序,無(wú)線網(wǎng)卡驅(qū)動(dòng)成功后,使用無(wú)線配置工具對(duì)節(jié)點(diǎn)進(jìn)行IP、essid和網(wǎng)絡(luò)模式的配置,具體為ifconfig rausb0 xxx.xxx.xxx.xxx upiwconfig rausb0 essid XXX mode ad-hoc其中xxx.xxx.xxx.xxx為IP,XXX為essid名,接著加載AODV路由協(xié)議,首先進(jìn)入到存放AODV路由協(xié)議的目錄下,然后執(zhí)行下面的命令insmod kaodv.ko./aodvd這樣一個(gè)節(jié)點(diǎn)就配置完成,對(duì)其它由OMAP3530Mini開發(fā)板組成的節(jié)點(diǎn)進(jìn)行類似的配置,不同之處在于設(shè)定的IP要不同;對(duì)每個(gè)節(jié)點(diǎn)都進(jìn)行配置后,對(duì)Ad Hoc網(wǎng)絡(luò)進(jìn)行測(cè)試了,用ping命令來(lái)測(cè)試網(wǎng)絡(luò)的通斷和性能。
全文摘要
基于OMAP3530Mini開發(fā)板的Ad Hoc網(wǎng)絡(luò)的搭建是以O(shè)MAP3530Mini開發(fā)板作為硬件平臺(tái),再使用無(wú)線網(wǎng)卡作為硬件支持來(lái)實(shí)現(xiàn)AdHoc網(wǎng)絡(luò)的。在Ubuntu開發(fā)環(huán)境下,制作適合OMAP3530Mini開發(fā)板的嵌入式內(nèi)核,在內(nèi)核中添加必要的功能以適應(yīng)Ad Hoc網(wǎng)絡(luò)的需求,制作精簡(jiǎn)的根文件系統(tǒng),完成文件系統(tǒng)的基本功能,交叉編譯無(wú)線網(wǎng)卡的驅(qū)動(dòng)程序,使之可以在開發(fā)板上成功運(yùn)行,驅(qū)動(dòng)無(wú)線網(wǎng)卡進(jìn)行工作,交叉編譯無(wú)線配置工具,能夠?qū)o(wú)線網(wǎng)卡進(jìn)行網(wǎng)絡(luò)配置,移植AODV路由協(xié)議,使網(wǎng)絡(luò)中的節(jié)點(diǎn)能夠進(jìn)行多跳通信,最終搭建起來(lái)一個(gè)Ad Hoc網(wǎng)絡(luò),對(duì)搭建起來(lái)的網(wǎng)絡(luò)進(jìn)行了點(diǎn)對(duì)點(diǎn)的通信測(cè)試、多跳測(cè)試,并且進(jìn)行了文字通信、語(yǔ)音通信和ftp文件傳輸?shù)裙δ艿臏y(cè)試。
文檔編號(hào)H04W16/18GK101790174SQ20101001361
公開日2010年7月28日 申請(qǐng)日期2010年1月19日 優(yōu)先權(quán)日2010年1月19日
發(fā)明者任品毅, 劉婧, 劉艷潔, 吳廣恩, 尹穩(wěn)山, 張世嬌, 戰(zhàn)明浩, 汪瑞, 王熠晨, 胡文權(quán) 申請(qǐng)人:西安交通大學(xué)