基于GENE-8310的嵌入式TinyOs系統設計
無(wú)線(xiàn)傳感器網(wǎng)絡(luò )是當前國際上備受關(guān)注的、多學(xué)科高度交叉、知識高度集成的前沿熱點(diǎn)研究技術(shù),其核心技術(shù)Tinyos被譽(yù)為是“無(wú)線(xiàn)嵌入式系統”。Tinyos是一個(gè)開(kāi)源的嵌入式操作系統,他由加州大學(xué)的伯利克分校開(kāi)發(fā)出來(lái),越來(lái)越多的無(wú)線(xiàn)傳感器網(wǎng)絡(luò )通信協(xié)議正不斷被開(kāi)發(fā)并加入Tinyos系統組件中,并應用于技術(shù)研究和系統開(kāi)發(fā)中。
本文引用地址:http://dyxdggzs.com/article/90216.htm無(wú)線(xiàn)傳感器網(wǎng)絡(luò )通常利用無(wú)線(xiàn)技術(shù)在某個(gè)區域內實(shí)時(shí)部署一個(gè)專(zhuān)用的無(wú)線(xiàn)局域網(wǎng)絡(luò )。傳輸傳感器上采集到的數據是無(wú)線(xiàn)傳感器網(wǎng)絡(luò )的主要目標。在無(wú)線(xiàn)傳感器網(wǎng)絡(luò )的部署過(guò)程,Web服務(wù)器是確立網(wǎng)絡(luò )部署和監控通信傳輸的關(guān)鍵。由于嵌入式操作系統具有高可靠性,在惡劣環(huán)境或突然斷電的情況下,系統仍然能夠正常工作,系統中的軟件代碼一般都固化在只讀存儲器中。因此,要求在惡劣環(huán)境中仍然能高穩定工作的無(wú)線(xiàn)傳感器網(wǎng)絡(luò )可以采用嵌入式操作系統作為其實(shí)現平臺,這其中包括:嵌入式Linux,Windows CE,Windows XP Embedded,VxWorks,μCOSⅡ,QNX,FreeRTOS,還有定制版的NetBSD和FreeDOS等多種移植平臺。本文主要采用Windows XPEmbedded設計平臺。
本文主要致力于在嵌入式開(kāi)發(fā)板GENE-8310上移植Tinyos應用操作系統,將GENE-8310作為無(wú)線(xiàn)傳感器網(wǎng)絡(luò )中的遠程服務(wù)器,實(shí)現無(wú)線(xiàn)網(wǎng)絡(luò )與有線(xiàn)網(wǎng)絡(luò )的跨網(wǎng)段傳輸和遠程網(wǎng)絡(luò )監控。GENE-8310是研揚科技研制的第三代無(wú)風(fēng)扇解決方案,與以往的3.5 in單板電腦相比GENE-8310在低功耗和高性能方面都有很大的改進(jìn),對于客戶(hù)在低功耗控制下的優(yōu)秀處理能力等更高需求方面都是最好的選擇。
1 嵌入式Tinyos移植
嵌入式Tinyos移植方案方框圖如圖1所示:
首先,在開(kāi)發(fā)機PC上,利用Microsoft Windows Embedded Studio工具套件中的組件設計器開(kāi)發(fā)出網(wǎng)關(guān)MIB520的驅動(dòng)組件,并結合第三方工具Dependencywalker,InCtr15開(kāi)發(fā)出應用程序cygwin.bat的組件,之后把構建完成的驅動(dòng)組件和應用程序組件通過(guò)工具套件中的組件數據庫管理器導入到組件數據庫中,以便開(kāi)發(fā)操作系統時(shí)添加。接下來(lái)定制Windows XP Embedded操作系統的功能組件,確定系統所支持的功能,再利用目標設計器添加功能組件、組件數據庫中的驅動(dòng)組件和應用程序組件并生成Windows XP Embedded操作系統映像。最后再把操作系統映像部署到嵌入式目標平臺——GENE-8310中,并將其作為無(wú)線(xiàn)傳感器網(wǎng)絡(luò )Web服務(wù)器,驗證Tinyos移植的結果。
2 嵌入式Tinyos移植開(kāi)發(fā)流程
無(wú)線(xiàn)傳感器網(wǎng)絡(luò )由節點(diǎn)、服務(wù)器和遠程PC終端組成。節點(diǎn)負責采集外部數據,完成后把數據通過(guò)網(wǎng)關(guān)轉發(fā)到服務(wù)器,最后由遠程PC實(shí)時(shí)監測數據。其中網(wǎng)關(guān)的作用重大,但是需要手動(dòng)安裝驅動(dòng)。通過(guò)網(wǎng)關(guān)驅動(dòng)組件的開(kāi)發(fā),便可把網(wǎng)關(guān)驅動(dòng)集成在操作系統映像中,實(shí)現自動(dòng)識別網(wǎng)關(guān)。同理,應用程序也可作成組件。具體的移植開(kāi)發(fā)流程如下:
(1)開(kāi)發(fā)網(wǎng)關(guān)驅動(dòng)組件。該功能的實(shí)現相對比較簡(jiǎn)單,可以將設備驅動(dòng)程序.INF文件直接導入到組件設計器工具中。組件設計器會(huì )根據INF文件自動(dòng)配置相關(guān)文件,之后便可生成該驅動(dòng)組件。
(2)開(kāi)發(fā)相關(guān)的應用程序組件。這里利用第三方工具軟件和Windows Embedded Studio工具套件來(lái)共同開(kāi)發(fā)。首先利用InCtr15從安裝程序中捕獲信息,確定應用程序所需的文件和注冊表設置。然后再根據DependencyWalker獲得應用程序依賴(lài)項,即程序運行所必須的DLL的列表。最后再利用Windows Embedded Studio工具套件中的組件設計器生成該應用程序組件。
(3)定制Windows XP Embedded操作系統映像。確定Windows XP Embedded操作系統所要支持的功能組件,如要支持USB設備,則添加相關(guān)USB功能組件,要支持網(wǎng)絡(luò )功能,則添加TCP/IP協(xié)議。通過(guò)可實(shí)現縮小嵌入式系統的體積,這就嵌入式系統的可裁減特性,便于實(shí)現特定場(chǎng)合的應用。
(4)生成和部署Windows XP Embedded操作系統映像。定制完系統功能之后,利用目標設計器添加功能組件,進(jìn)行關(guān)聯(lián)性檢查之后生成Windows XP Embedded操作系統映像。該映像可以在目標設備上直接運行,并可以運行特定的應用程序。
(5)移植應用及功能測試。當應用程序移植完后,必須測試其能否在目標設備正常運行。運行應用程序,如果應用程序無(wú)法運行,則其會(huì )出現相應的提示信息,如文件無(wú)法找到等,根據提示添加缺少的文件和注冊表項即可解決。因為T(mén)inyos的主要應用是無(wú)線(xiàn)傳感器網(wǎng)絡(luò ),故將其應用于無(wú)線(xiàn)傳感器網(wǎng)絡(luò )的Web服務(wù)器。
無(wú)線(xiàn)傳感器將采集溫度數據,在網(wǎng)絡(luò )運行正常、應用程序移植成功的情況下,遠程主機能接收到溫度數據,并能顯示出來(lái)。
2.1 MIB520網(wǎng)關(guān)驅動(dòng)組件開(kāi)發(fā)
MIB520具備網(wǎng)關(guān)的基本功能,接口為USB。安裝完MIB520驅動(dòng)之后,其會(huì )在計算機上生成2個(gè)虛擬串口,一般是COM3和COM4。COM3一般是編程端口,COM4為通信端口。驅動(dòng)程序里包括2個(gè)FTDIBUS.INF和FT-DIPORT.INF文件,他含有網(wǎng)關(guān)的信息或腳本和控制網(wǎng)關(guān)的操作。在INF文件中指明網(wǎng)關(guān)驅動(dòng)該如何安裝到系統中,源文件在哪里、安裝到哪一個(gè)文件夾中、怎樣在注冊表中加入自身相關(guān)信息。設計主要分為6步:
(1)在組件設計器里分別導入網(wǎng)關(guān)驅動(dòng)自帶的FT-DIBUS.INF和FTDIPORT.INF文件;
(2)在驅動(dòng)程序目錄里找出Files列出的文件名稱(chēng),把這些文件拷貝到自己命名的文件夾里;
(3)在Repositories文件夾下新建一個(gè)Repositories,重命名為FTDIBUS,在Source Path中,找到剛才拷貝Files下文件所在的文件夾,并添加;
(4)點(diǎn)擊Component下USB Serial Converter組件,在右邊找到“Repositoty”,點(diǎn)擊Repositories按鈕,選中新建的Repository為FTDIBUS;
(5)在Components上點(diǎn)右鍵,選擇release,在GroupMemberships上,右鍵選擇Add Group Membership,并選擇一個(gè)組;
(6)在目標設計器中搜索可找到4個(gè)與網(wǎng)關(guān)相關(guān)的組件USB Serial Converter,USB Serial Port1,USB SerialPort2,USB Serial Port3
2.2 應用程序組件開(kāi)發(fā)
移植TinyOS嵌入式系統需要開(kāi)發(fā)MoteWorks 2.0,Cygwin和XServe三個(gè)部分的組件。在移植過(guò)程中需要先利用InCtrl5導出應用程序組件所需的文件清單和注冊表信息。在獲得相關(guān)文件后,應用程序組件的開(kāi)發(fā)過(guò)程與驅動(dòng)組件開(kāi)發(fā)大體上相似。不同的是,他沒(méi)有.INF文件,故Components文件夾下的Files,Registry Data下的文件和注冊表項需要手動(dòng)添加,并且要設置好在目標設備上的路徑。
2.3 構造Windows XP Embedded操作系統映像
(1)目標平臺分析。分析目標設備上GENE-8310的硬件,使用的硬件分析工具TAP.EXE來(lái)識別硬件。他會(huì )對的系統進(jìn)行檢測,并創(chuàng )建一個(gè)硬件定義文件devices.pmq。
(2)創(chuàng )建初始化配置。在目標設計器上創(chuàng )建一個(gè)配置(Configuration),并重命名為WSN SERVER0.six,導入devices.pmg。文件導入過(guò)程,即分析硬件,并從組件數據庫中選取相應組件的過(guò)程。完成后軟件自動(dòng)添加所有的硬件支持組件。此時(shí),系統共添加了66組件,FAT格式下大小為6 676 kB,NTFS格式下為4 806 kB。
(3)關(guān)聯(lián)性檢查。在目標設計器的菜單欄Tools的Options…中對關(guān)聯(lián)性檢查進(jìn)行設置。將DependencyCheek中的Auto-resolve dependencies選項鉤上。設置完后,關(guān)聯(lián)性檢查會(huì )自動(dòng)添加關(guān)聯(lián)的組件,如果要把握組件的內在聯(lián)系,則Auto-resolve dependencies前的鉤可以去掉,但是要根據提示逐一添加。此時(shí),系統添加的組件已達423個(gè),壓縮后大小為120 MB。但是提示有4errors。這是由于一些功能組件未添加進(jìn)去,如要支持的語(yǔ)言、登陸方式、文件系統等。雙擊提示,分別選擇NT Loader,English Language Support,Windows Logon,FAT Format,NTFS Format。
(4)定制功能組件。根據傳感器網(wǎng)絡(luò )應用,要求支持USB設備、TCP/IP協(xié)議,則這二者必須添加。其余的功能組件也適當添加,組件添加完成后,所有的組件列表如圖2所示。
(5)生成映像
向WSN SERVER0配置中添加上述必須的核心組件。再次進(jìn)行關(guān)聯(lián)性檢查,完成無(wú)誤后,展開(kāi)WSNSERVER0.slx,選中Settings,這時(shí)右邊的屬性設置面板會(huì )顯示可以設置的選項。以上設置完成后,組件達527個(gè),壓縮后大小為186 MB。最后,按下Build按鈕,目標設計器會(huì )完成映像的構建,并輸出到指定的文件下。
2.4 部署Windows XP Embedded操作系統映像
將GENE-8310的硬盤(pán)格式化,分區并激活主分區。然后將開(kāi)發(fā)機上生成的映像(D盤(pán)目錄中)拷貝到GENE-8310 C盤(pán)的根目錄下。
將顯示器、硬盤(pán)、光驅、鼠標、鍵盤(pán)連接至GENE-8310,從光盤(pán)啟動(dòng)進(jìn)入DOS環(huán)境下,運行BOOTPREP.EXE(可以在開(kāi)發(fā)機C:\Program Files\Windows Embed-ded\utilities中找到)。重啟進(jìn)入FBA(First Boot Agent)階段,第一次啟動(dòng)Windows XP Embedded后系統會(huì )進(jìn)行必要的設置,會(huì )花費比較長(cháng)的時(shí)間。FBA之后,系統就可以正常運行,到此,完成了整個(gè)開(kāi)發(fā)過(guò)程。
3 系統測試
在系統測試過(guò)程中,本文使用了采用克爾斯博科技公司的Micaz和配套的網(wǎng)關(guān)MIB520搭建的實(shí)際的無(wú)線(xiàn)傳感器網(wǎng)絡(luò )。調試無(wú)線(xiàn)傳感器網(wǎng)絡(luò )的主要工作在于驗證移植的應用程序cygwin.bat調用的XServe能否正常工作。調試完cygwin.bat界面如圖3所示。
在命令提示符后輸入xserve—device=com4,即調用XServe。XServe調用結果顯示如圖4所示。
最后,在客戶(hù)端MoteView顯示的溫度數據如圖5所示:
Data標簽下顯示的是該傳感器網(wǎng)絡(luò )實(shí)時(shí)的溫度數據,在temp一欄顯示為29.65C。至此,無(wú)線(xiàn)傳感器網(wǎng)絡(luò )的調試工作已經(jīng)完成,GENE-8310實(shí)現了作為無(wú)線(xiàn)傳感器網(wǎng)絡(luò )Web服務(wù)器的功能,證明Tinyos應用操作系統移植成功。
4 結 語(yǔ)
作為一項正在研究中的新興技術(shù),無(wú)線(xiàn)傳感器網(wǎng)絡(luò )從20世紀90年代開(kāi)始逐步為人熟知,目前有多種通信標準正在制定中。TinyOS平臺的設計和移植一直是無(wú)線(xiàn)傳感器網(wǎng)絡(luò )研究的重要技術(shù)之一。在GENE-8310嵌入式開(kāi)發(fā)板上移植TinyOS系統是一個(gè)新的技術(shù)嘗試。
tcp/ip相關(guān)文章:tcp/ip是什么
評論