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