基于嵌入式技術(shù)的智能監(jiān)控系統(tǒng)傳感模塊驅(qū)動應(yīng)用開發(fā)_第1頁
基于嵌入式技術(shù)的智能監(jiān)控系統(tǒng)傳感模塊驅(qū)動應(yīng)用開發(fā)_第2頁
基于嵌入式技術(shù)的智能監(jiān)控系統(tǒng)傳感模塊驅(qū)動應(yīng)用開發(fā)_第3頁
基于嵌入式技術(shù)的智能監(jiān)控系統(tǒng)傳感模塊驅(qū)動應(yīng)用開發(fā)_第4頁
基于嵌入式技術(shù)的智能監(jiān)控系統(tǒng)傳感模塊驅(qū)動應(yīng)用開發(fā)_第5頁
已閱讀5頁,還剩70頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、信息科學(xué)與技術(shù)學(xué)院學(xué)士學(xué)位論文 JIU JIANG UNIVERSITY畢 業(yè) 論 文題 目 基于嵌入式技術(shù)的智能監(jiān)控系統(tǒng) 傳感模塊驅(qū)動應(yīng)用開發(fā) 英文題目 Base on Embedded Intelligent Monitoring System Sensing Module Driver Application院 系 信息科學(xué)與技術(shù)學(xué)院 專 業(yè) 計算機科學(xué)與技術(shù) 姓 名 江軍洪 年 級 A081138 指導(dǎo)教師 劉濤 二一二年五月摘 要新技術(shù)革命的到來,世界開始進入信息時代。在利用信息的過程中,首先要解決的就是要獲取準(zhǔn)確可靠的信息,而傳感器是獲取自然和特定環(huán)境領(lǐng)域中信息的主要途徑與手段。在

2、目前正蓬勃發(fā)展的物聯(lián)網(wǎng)中尤其要用到各種傳感器來監(jiān)視和控制被控區(qū)域的各種參數(shù),比如采集被控區(qū)域的溫度、濕度和光亮強度等。該論文首先是對基于嵌入式技術(shù)的智能監(jiān)控系統(tǒng)傳感模塊驅(qū)動應(yīng)用開發(fā)的硬件平臺和軟件平臺做了簡單的陳述,并在現(xiàn)有的條件下,講述了基于嵌入式智能監(jiān)控系統(tǒng)傳感模塊的驅(qū)動應(yīng)用開發(fā),其中重點講述了溫濕度傳感器和光亮傳感器模塊驅(qū)動的編寫,Zigbee組網(wǎng)實現(xiàn)以及研究編寫相關(guān)應(yīng)用程序以實現(xiàn)對單板數(shù)據(jù)的采集和控制。關(guān)鍵詞:嵌入式,溫濕度傳感器,光亮傳感器,數(shù)據(jù)采集AbstractThe arrival of the new technological revolution, the world b

3、egan to enter the information age. In the process of the use of information, we must first solve is to obtain accurate and reliable information, the sensors are the main ways and means of access to natural and specific environmental areas. Of things is booming, in particular, to use various sensors

4、to monitor and control the various parameters of the controlled area, such as collecting the charged region of temperature, humidity and light intensity.The paper first embedded technology-based intelligent monitoring system sensor module driven application development, hardware platforms and softwa

5、re platform to do a simple statement, and about the existing conditions, based on embedded intelligent monitoring system sensor module drive application development, which focuses on the preparation of temperature and humidity sensor and light sensor module driver, the Zigbee network implementation

6、as well as research to write the application in order to achieve the veneer of data acquisition and control.Key words : Embedded,Temperature And Humidity Sensor,Light Sensor,Data AcquisitionII目 錄摘 要IAbstractII1緒論1.1嵌入式傳感器概述(1)1.2 國內(nèi)外發(fā)展現(xiàn)狀與趨勢(2)1.3 課題來源(3)1.4研究的意義和目的(4)1.5 本章小結(jié)(5)2 系統(tǒng)需求分析2.1 系統(tǒng)功能需求分析(

7、6)2.2 系統(tǒng)硬件需求分析(6)2.3 系統(tǒng)軟件需求分析(7)2.4 本章小結(jié)(9)3 系統(tǒng)設(shè)計3.1軟件的運行環(huán)境(10)3.2系統(tǒng)概要設(shè)計(11)3.3 系統(tǒng)詳細設(shè)計(14)3.4 本章小結(jié)(19)4 嵌入式ARM-Linux環(huán)境建立4.1基于Arm-Linux系統(tǒng)的總體設(shè)計(20)4.2 Arm-Linux交叉編譯工具鏈的建立(21)4.3 Linux內(nèi)核的裁剪與移植(21)4.4 NFS網(wǎng)絡(luò)文件系統(tǒng)與BOA服務(wù)器的制作(22)4.5 構(gòu)建嵌入式Linux目標(biāo)平臺(24)4.6本章小結(jié)(25)5 系統(tǒng)實現(xiàn)5.1 數(shù)據(jù)源端的實現(xiàn)(26)5.2 服務(wù)器端的實現(xiàn)(32)5.3 遠程客戶端的實

8、現(xiàn)(33)5.4 本章小結(jié)(35)6 系統(tǒng)測試及維護6.1 系統(tǒng)測試(36)6.2 本章小結(jié)(41)總 結(jié)致 謝(43)參考文獻(44)緒論1.1嵌入式傳感器概述嵌入式系統(tǒng)1是以應(yīng)用為中心,以計算機技術(shù)為基礎(chǔ),并且軟硬件可裁剪,適用于應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統(tǒng)。它一般由嵌入式微處理器、外圍硬件設(shè)備、嵌入式操作系統(tǒng)以及用戶的應(yīng)用程序等四個部分組成,用于實現(xiàn)對其他設(shè)備的控制、監(jiān)視或管理等功能。嵌入式系統(tǒng)一般指非PC系統(tǒng),它包括硬件和軟件兩部分。硬件包括處理器微處理器、存儲器及外設(shè)器件和IO端口、圖形控制器等。軟件部分包括操作系統(tǒng)軟件(要求實時和多任務(wù)操作)和

9、應(yīng)用程序編程2。而嵌入式傳感器正是在嵌入式技術(shù)基礎(chǔ)上發(fā)展起來的,其具有各類特有的功能。比如新型的傳感器具有微型化、數(shù)字化、智能化、多功能化、系統(tǒng)化、網(wǎng)絡(luò)化等功能。新型傳感器的發(fā)展不僅促進了傳統(tǒng)產(chǎn)業(yè)的改造和更新?lián)Q代,而且還可能建立新型工業(yè),從而成為21世紀新的經(jīng)濟增長點。微型化是建立在微電子機械系統(tǒng)(MEMS)技術(shù)基礎(chǔ)上的,目前已成功應(yīng)用在硅器件上做成硅壓力傳感器。24GHZ雷達傳感器為圖1-1所示。圖1-1 24GHZ雷達傳感器根據(jù)傳感器的工作原理,傳感器可以分為物理傳感器3和化學(xué)傳感器。物理傳感器是檢測物理量的傳感器。它是利用某些物理效應(yīng),把被測量的物理量轉(zhuǎn)化成為便于處理的能量形式的信號的裝

10、置。其輸出的信號和輸入的信號有確定的關(guān)系。主要的物理傳感器有光電式傳感器、壓電傳感器、壓阻式傳感器、電磁式傳感器、熱電式傳感器、光導(dǎo)纖維傳感器等。作為例子,讓我們看看比較常用的光電式傳感器。這種傳感器把光信號轉(zhuǎn)換成為電信號,它直接檢測來自物體的輻射信息,也可以轉(zhuǎn)換其他物理量成為光信號。其主要的原理是光電效應(yīng):當(dāng)光照射到物質(zhì)上的時候,物質(zhì)上的電效應(yīng)發(fā)生改變,這里的電效應(yīng)包括電子發(fā)射、電導(dǎo)率和電位電流等。顯然,能夠容易產(chǎn)生這樣效應(yīng)的器件成為光電式傳感器的主要部件,比如說光敏電阻。這樣,我們知道了光電傳感器的主要工作流程就是接受相應(yīng)的光的照射,通過類似光敏電阻4這樣的器件把光能轉(zhuǎn)化成為電能,然后通過

11、放大和去噪聲的處理,就得到了所需要的輸出的電信號。這里的輸出電信號和原始的光信號有一定的關(guān)系,通常是接近線性的關(guān)系,這樣計算原始的光信號就不是很復(fù)雜了。其他的物理傳感器的原理都可以類比于光電式傳感器。化學(xué)傳感器是能將各種化學(xué)物質(zhì)的特性(如氣體、離子、電解質(zhì)濃度、空氣濕度等)的變化定性或定量地轉(zhuǎn)換成電信號的傳感器。由于化學(xué)物質(zhì)種類繁多,因此化學(xué)傳感器的種類和數(shù)量也很多,各種轉(zhuǎn)換器件的轉(zhuǎn)換原理也各不相同,并且由于轉(zhuǎn)換機理相對比較復(fù)雜,因而化學(xué)傳感器遠不如物理傳感器那樣成熟和普及。但是,隨著科學(xué)技術(shù)的發(fā)展,尤其是人類對環(huán)保的需要,人們對化學(xué)傳感器的需求日益增多,化學(xué)傳感器也就顯得日益重要。1.2 國

12、內(nèi)外發(fā)展現(xiàn)狀與趨勢現(xiàn)代科學(xué)技術(shù)的發(fā)展,傳感器應(yīng)用進入了許多新領(lǐng)域:例如在宏觀上要觀察上千光年的茫茫宇宙,微觀上要觀察小到 cm的粒子世界,縱向上要觀察長達數(shù)十萬年的天體演化,短到 s的瞬間反應(yīng)。此外,還出現(xiàn)了對深化物質(zhì)認識、開拓新能源、新材料等具有重要作用的各種極端技術(shù)研究,如超高溫、超低溫、超高壓、超高真空、超強磁場、超弱磁場等等。顯然,要獲取大量人類感官無法直接獲取的信息,沒有相適應(yīng)的傳感器是不可能的。許多基礎(chǔ)科學(xué)研究的障礙,首先就在于對象信息的獲取存在困難,而一些新機理和高靈敏度的檢測傳感器的出現(xiàn),往往會導(dǎo)致該領(lǐng)域內(nèi)的突破。一些傳感器的發(fā)展,往往是一些邊緣學(xué)科開發(fā)的先驅(qū)。隨著芯片、網(wǎng)絡(luò)技

13、術(shù)的進步,現(xiàn)在出現(xiàn)了基于嵌入式技術(shù)的物聯(lián)網(wǎng)系統(tǒng)5以及嵌入式傳感器。嵌入式系統(tǒng)也由于軟硬件可裁剪、本身體積小、實時性高、穩(wěn)定性好、支持網(wǎng)絡(luò)等優(yōu)點,成為工控領(lǐng)域的新熱點?;谇度胧郊夹g(shù)的物聯(lián)網(wǎng)應(yīng)用系統(tǒng)有效的將嵌入式技術(shù)和數(shù)據(jù)采集技術(shù)結(jié)合在一起,可以很好的解決基于PC的監(jiān)控系統(tǒng)中存在的設(shè)備體積龐大、便攜性差、實時性差等問題。在監(jiān)控現(xiàn)場利用嵌入式傳感器,采用專用芯片和嵌入式操作系統(tǒng),把單板采集到的數(shù)據(jù)進行編碼然后傳輸?shù)娇蛻舳藢崿F(xiàn)實時監(jiān)控,有效地提高了系統(tǒng)的實時性和穩(wěn)定性。傳感器的發(fā)展主要得益于物聯(lián)網(wǎng)的發(fā)展,而物聯(lián)網(wǎng)在中國迅速崛起得益于我國在物聯(lián)網(wǎng)方面的幾大優(yōu)勢。(1)我國在1999年就啟動物聯(lián)網(wǎng)核心傳

14、感網(wǎng)技術(shù)研究,研發(fā)水平處于世界前列; (2)在世界傳感網(wǎng)領(lǐng)域6,我國是標(biāo)準(zhǔn)主導(dǎo)國之一,專利擁有量高; (3)我國是目前能夠?qū)崿F(xiàn)物聯(lián)網(wǎng)完整產(chǎn)業(yè)鏈的國家之一; (4)我國無線通信網(wǎng)絡(luò)和寬帶覆蓋率高,為物聯(lián)網(wǎng)發(fā)展提供堅實的基礎(chǔ)設(shè)施支持; (5)我國已經(jīng)成為世界第二大經(jīng)濟體,有較為雄厚的經(jīng)濟實力支持物聯(lián)網(wǎng)發(fā)展。1.3 課題來源“物聯(lián)網(wǎng)”概念的問世,打破了之前的傳統(tǒng)思維。過去的思路一直是將物理基礎(chǔ)設(shè)施和 IT 基礎(chǔ)設(shè)施分開:一方面是機場、公路、建筑物,而另一方面是數(shù)據(jù)中心,個人電腦、寬帶等。而在“物聯(lián)網(wǎng)”時代,鋼筋混凝土、電纜將與芯片、寬帶整合為統(tǒng)一的基礎(chǔ)設(shè)施,在此意義上,基礎(chǔ)設(shè)施更像是一塊新的地球工地

15、,世界的運轉(zhuǎn)就在它上面進行,其中包括經(jīng)濟管理、生產(chǎn)運行、社會管理乃至個人生活。 物聯(lián)網(wǎng)可分為三層:感知層、網(wǎng)絡(luò)層和應(yīng)用層,如圖1-2所示。 圖1-2 物聯(lián)網(wǎng)層次圖感知層是物聯(lián)網(wǎng)的皮膚和五官識別物體,采集信息。感知層包括二維碼標(biāo)簽和識讀器、RFID 標(biāo)簽和讀寫器、攝像頭、GPS、傳感器、終端、傳感器網(wǎng)絡(luò)7等,主要是識別物體,采集信息,與人體結(jié)構(gòu)中皮膚和五官的作用相似。網(wǎng)絡(luò)層是物聯(lián)網(wǎng)的神經(jīng)中樞和大腦信息傳遞和處理。網(wǎng)絡(luò)層包括通信與互聯(lián)網(wǎng)的融合網(wǎng)絡(luò)、網(wǎng)絡(luò)管理中心、信息中心和智能處理中心等。網(wǎng)絡(luò)層將感知層獲取的信息進行傳遞和處理,類似于人體結(jié)構(gòu)中的神經(jīng)中樞和大腦。應(yīng)用層是物聯(lián)網(wǎng)的“社會分工”與行業(yè)需求

16、結(jié)合,實現(xiàn)廣泛智能化。應(yīng)用層是物聯(lián)網(wǎng)與行業(yè)專業(yè)技術(shù)的深度融合,與行業(yè)需求結(jié)合,實現(xiàn)行業(yè)智能化,這類似于人的社會分工,最終構(gòu)成人類社會。本設(shè)計就是針對上述需求對嵌入式技術(shù)的智能監(jiān)控系統(tǒng)傳感模塊驅(qū)動應(yīng)用開發(fā)。1.4研究的意義和目的物聯(lián)網(wǎng)如圖1-3所示可以看作是互聯(lián)網(wǎng)的延伸和擴張,也是未來通信信息產(chǎn)業(yè)的發(fā)展趨勢,物聯(lián)網(wǎng)產(chǎn)品的出現(xiàn)也極大地改變了現(xiàn)今社會人們的生活方式和理念。中國企業(yè)報在調(diào)查中還發(fā)現(xiàn),隨著物聯(lián)網(wǎng)技術(shù)涉及范圍漸廣,家電產(chǎn)品也搭上了這班“順風(fēng)車”,物聯(lián)網(wǎng)冰箱、洗衣機、空調(diào)、微波爐、熱水器等紛紛登場亮相,為人們展示了未來智能生活的美好圖景。物聯(lián)網(wǎng)的各個物理實體連接如圖1-3所示。圖1-3 物聯(lián)

17、網(wǎng)目前,物聯(lián)網(wǎng)發(fā)展極其迅速,而物聯(lián)網(wǎng)的最主要的特點是通過射頻識別(RFID) 、紅外感應(yīng)器、全球定位系統(tǒng)、激光掃描器等信息傳感設(shè)備,按約定的協(xié)議,把任何物品與互聯(lián)網(wǎng)相連接,進行信息交換和通信。所以傳感模塊是組成物聯(lián)網(wǎng)的必不可少的條件。本系統(tǒng)是基于嵌入式技術(shù)的智能監(jiān)控系統(tǒng)傳感模塊驅(qū)動應(yīng)用開發(fā)8,主要的目標(biāo)是:(1)實現(xiàn)mini2440的最小系統(tǒng)的移植,使其最少擁有網(wǎng)絡(luò)功能,USB功能;(2)實現(xiàn)單板對環(huán)境數(shù)據(jù)的采集,同時打包,并通過串口傳送;(3)實現(xiàn)單板能接收來自串口的命令,并實時反映;(4)實現(xiàn)一個家電服務(wù)器應(yīng)用程序,使其可以對單板發(fā)送命令,并接收來自單板的數(shù)據(jù)包,同時刷新網(wǎng)頁數(shù)據(jù);(5)實

18、現(xiàn)boa服務(wù)器,遠程端可以通過網(wǎng)頁查看實時數(shù)據(jù),同時解釋網(wǎng)頁的命令。1.5 本章小結(jié)首先對整個系統(tǒng)的硬件、系統(tǒng)軟件以及應(yīng)用程序做了一個簡單的陳述,然后具體介紹了開發(fā)此系統(tǒng)的意義和目的。接下來具體介紹了基于嵌入式的應(yīng)用系統(tǒng)在國內(nèi)外的發(fā)展現(xiàn)狀以及未來的發(fā)展趨勢。由以上分析得出,基于嵌入式技術(shù)的智能監(jiān)控系統(tǒng)傳感模塊驅(qū)動應(yīng)用開發(fā)與研究是一個新熱點。2 系統(tǒng)需求分析在進行可行性研究和項目開發(fā)計劃以后,如果確認開發(fā)一個新的軟件系統(tǒng)是必要的而且是可行的,那么就可進入需求分析階段。需求分析是指開發(fā)人員要理解用戶的要求,進行詳細的市場調(diào)查,確定系統(tǒng)的新目標(biāo)。為了滿足用戶的需要,回答系統(tǒng)要“做什么”的問題。2.1

19、 系統(tǒng)功能需求分析根據(jù)物聯(lián)網(wǎng)層次圖分析,為使物聯(lián)網(wǎng)能夠?qū)崟r高效的工作,對感知層的研究就顯得異常的重要。而構(gòu)成感知層的重要組成部分就是各類傳感器。實質(zhì)上我們的工作就是對大量傳感模塊的組織與管理,使其有序的工作,并實時的采集其有效范圍內(nèi)的相應(yīng)參數(shù),而處理器就可以根據(jù)參數(shù)做出相應(yīng)的處理,比如說我們的實驗單板中,有一個溫濕度傳感器,我們可以不斷的讀取其數(shù)據(jù)來感應(yīng)環(huán)境的溫度變化,當(dāng)溫度高于我們設(shè)定的溫度是就開啟風(fēng)扇或發(fā)出警報。同時由于我們數(shù)據(jù)還將發(fā)送至網(wǎng)絡(luò),所以我們還可以通過網(wǎng)絡(luò)進行實時的監(jiān)控。如上綜述,我們的系統(tǒng)要完成的功能有以下四點:(1)實現(xiàn)傳感器對外界信息的采集,比如溫度、濕度以及光亮強度。(2

20、)實現(xiàn)單板與服務(wù)器數(shù)據(jù)的互傳(3)實現(xiàn)服務(wù)器與外界網(wǎng)絡(luò)的連接(4)實現(xiàn)單板之間的zigbee組網(wǎng)2.2 系統(tǒng)硬件需求分析嵌入式系統(tǒng)開發(fā)與硬件平臺緊密相連,沒有硬件支持的嵌入式平臺是不完整的。良好的硬件平臺也為嵌入式系統(tǒng)應(yīng)用軟件的開發(fā)提供了許多便利。選擇合適的硬件平臺是一項復(fù)雜的工作。同時對傳感器的選擇也是非常重要的,我們采用的溫濕度傳感器是DHT11 數(shù)字溫濕度傳感器9,采集光亮強度的傳感器是ISL29003傳感器。根據(jù)此系統(tǒng)的需求分析,選擇的硬件平臺是ARM920T核10的S3C2440A處理器、RAM控制器、NAND Flash控制器。根據(jù)設(shè)計的要求進行相關(guān)配置和擴展,硬件平臺配置了8位2

21、56MB 的NAND Flash和32位64MB 的SDRAM,通過以太網(wǎng)控制器芯片DM9000擴展了一個網(wǎng)口,另外需要一塊集成各類傳感模塊的單板,其最少集成了溫濕度傳感器,光感傳感器。根據(jù)系統(tǒng)的需求,路由單板負責(zé)接收節(jié)點單板的數(shù)據(jù),接收的方式是利用無線傳輸方式。由于本系統(tǒng)是模擬智能家電系統(tǒng),所以需要一種近距離、低復(fù)雜度、低功耗、低速率、低成本的雙向無線通訊技術(shù)。經(jīng)過分析,本系統(tǒng)選擇zigbee無線傳輸技術(shù)。系統(tǒng)采用的是zigbee無線組網(wǎng)11方式,使用的zigbee模塊是周立功代理的ZICM2410 模塊,它是集成了CPU的單片zigbee芯片,為 ZigBee網(wǎng)絡(luò)提供一個高性能,低成本的射

22、頻收發(fā)方案。2.3 系統(tǒng)軟件需求分析軟件平臺主要是uboot、嵌入式操作系統(tǒng)、嵌入式文件系統(tǒng)12以及BOA服務(wù)器。2.3.1 引導(dǎo)程序uboot是在操作系統(tǒng)內(nèi)核運行之前運行的一段小程序。通過這段小程序,可以初始化硬件設(shè)備、建立內(nèi)存空間的映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個合適的狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備好正確的環(huán)境。本系統(tǒng)所用的是u-boot-1.1.6版本,在網(wǎng)上下載源代碼通過編譯燒寫到s3c2440的nandflash中。2.3.2 嵌入式操作系統(tǒng)嵌入式操作系統(tǒng)是嵌入式系統(tǒng)極為重要的組成部分。它提高了系統(tǒng)的可靠性、提高了開發(fā)效率,縮短了開發(fā)周期、充分發(fā)揮了32位CPU的多任務(wù)潛

23、力。嵌入式操作系統(tǒng)的選擇主要考慮其可移植性、可利用資源、系統(tǒng)定制能力和成本。綜合對比了幾種嵌入式操作系統(tǒng),本系統(tǒng)選擇了嵌入式Linux操作系統(tǒng),它與其它嵌入式操作系統(tǒng)相比,Linux有以下特點:(1)Linux系統(tǒng)是層次結(jié)構(gòu)且內(nèi)核完全開放。Linux是由很多體積小且性能高的微內(nèi)核系統(tǒng)組成。(2)強大的網(wǎng)絡(luò)支持功能。(3)Linux具備一整套工具鏈,容易自行建立嵌入式系統(tǒng)的開發(fā)環(huán)境和交叉運行環(huán)境,可以跨越嵌入式系統(tǒng)開發(fā)中仿真工具的障礙。(4)Linux具有廣泛的硬件支持特性。無論是RISC還是CISC、32位還是64位等各種處理器,Linux都能運行。(5)Linux有裝載和卸載程序的能力,所有

24、應(yīng)用程序以文件的形式被存放在閃存文件系統(tǒng)中并在必要的時候被裝載到內(nèi)存中,以節(jié)省RAM。(6)Linux移植到新的微處理器體系非??旖?,一般是將其移植到一種新型的目標(biāo)板,其中包含有獨特的外設(shè)。2.3.3 嵌入式文件系統(tǒng)根據(jù)上面的分析本系統(tǒng)選擇了Linux作為嵌入式操作系統(tǒng),其支持多種文件系統(tǒng),包括ext2、ext3、vfat、ntfs、iso9660、jffs、romfs和nfs等,為了對各類文件系統(tǒng)進行統(tǒng)一管理,Linux引入了虛擬文件系統(tǒng)VFS,為各類文件系統(tǒng)提供一個統(tǒng)一的操作界面和應(yīng)用編程接口。 不同的文件系統(tǒng)類型有不同的特點,因而根據(jù)存儲設(shè)備的硬件特性、系統(tǒng)需求等有不同的應(yīng)用場合。在嵌入

25、式Linux應(yīng)用中,主要的存儲設(shè)備為RAM和ROM,常用的基于存儲設(shè)備的文件系統(tǒng)類型包括:jffs2, yaffs, cramfs, romfs, ramdisk, ramfs/tmpfs等。綜合考慮了各種文件系統(tǒng)的特點,本文選擇了cramfs和yaffs作為本系統(tǒng)的文件系統(tǒng),其有如下特點:(1)CRAMFS文件以其只可讀的性質(zhì)非常適合用于作為根文件系統(tǒng)的可讀分區(qū),使其有更高的安全性。(2)YAFFS文件系統(tǒng)類似于JFFS/JFFS2,是專門為NAND閃存設(shè)計的嵌入式文件系統(tǒng),適用于大容量的存儲設(shè)備。它是日志結(jié)構(gòu)的文件系統(tǒng),提供了損耗平衡和掉電保護,可以有效地避免意外掉電對文件系統(tǒng)一致性和完整

26、性的影響。(3)YAFFS文件系統(tǒng)是按層次結(jié)構(gòu)設(shè)計的,分為文件系統(tǒng)管理層接口13、YAFFS內(nèi)部實現(xiàn)層和NAND接口層,這樣就簡化了其與系統(tǒng)的接口設(shè)計,可以方便地集成到系統(tǒng)中去。與JFFS相比,它減少了一些功能,因此速度更快,占用內(nèi)存更少。(4)YAFFS采用一種多策略混合的垃圾回收算法,結(jié)合了貪心策略的高效性和隨機選擇的平均性,達到了兼顧損耗平均和系統(tǒng)開銷的目的。2.3.4 BOA服務(wù)器根據(jù)系統(tǒng)需求,服務(wù)器最終需要把采集到的數(shù)據(jù)通過網(wǎng)絡(luò)發(fā)送出去,使得遠程客戶端可以通過網(wǎng)頁實時的監(jiān)控被控端信息。為了實現(xiàn)這一目標(biāo),本系統(tǒng)采用的是一個小型的web服務(wù)器14,即BOA服務(wù)器。本系統(tǒng)選用BOA服務(wù)器的

27、主要原因是BOA服務(wù)器是一種非常小巧的Web服務(wù)器,其可執(zhí)行代碼只有大約60KB左右。作為一種單任務(wù)Web服務(wù)器,雖然BOA只能依次完成用戶的請求,而不會fork出新的進程來處理并發(fā)連接請求,但BOA支持CGI15,能夠為CGI程序fork出一個進程來執(zhí)行。因此當(dāng)遠程客戶在點擊網(wǎng)頁按鈕時,BOA支持的CGI就會執(zhí)行,從而達到客戶控制遠程端的目的。Boa的設(shè)計目標(biāo)是速度和安全。2.4 本章小結(jié) 在這一章,主要做的工作就是進行系統(tǒng)需求分析,這一章在整個系統(tǒng)開發(fā)上起到了至關(guān)重要的作用,可以說是一個關(guān)鍵環(huán)節(jié),這一章的分析調(diào)查結(jié)果直接指導(dǎo)以后的系統(tǒng)開發(fā)的工作,也直接關(guān)系著整個系統(tǒng)完成后的功能情況。在進行

28、系統(tǒng)需求時,查閱了大量關(guān)于硬件和嵌入式操作系統(tǒng)方面的知識,綜合各方面的因素,最終確定了選用的硬件平臺和嵌入式操作系統(tǒng)。并且還查閱了目前市場上的嵌入式物聯(lián)網(wǎng)應(yīng)用系統(tǒng),綜合比較了各個系統(tǒng)之間的優(yōu)點和不足,最終確定了系統(tǒng)的功能。3 系統(tǒng)設(shè)計進入了系統(tǒng)設(shè)計階段,要把軟件“做什么”的的問題變換成“怎么做”的問題。要將需求分析階段生成后的文件將進一步的分析和精化。描述軟件的總體體系結(jié)構(gòu),稱為軟件概要設(shè)計。然后對結(jié)構(gòu)進一步細化,稱為詳細設(shè)計。本章主要介紹系統(tǒng)概要設(shè)計和系統(tǒng)詳細設(shè)計。3.1軟件的運行環(huán)境為了保證系統(tǒng)運行的可靠性,對于軟件的運行環(huán)境具有一定的要求。軟件的運行環(huán)境分為硬件環(huán)境和軟件環(huán)境。(1)服務(wù)

29、器端硬件配置 PC機 處理器:基于ARM920T內(nèi)核的S3C2440A處理器 內(nèi)存: 64MB以上 Mini2440開發(fā)板集成各類傳感器模塊的單板LPC1114ZICM2410無線傳輸模塊USB線,網(wǎng)線(2)客戶端硬件配置 處理器:PIII以上計算機 內(nèi)存: 256MB以上 顯示器:17#彩顯(3)軟件環(huán)境 Ubuntu10.10操作系統(tǒng) Windows 98/2000/XP操作系統(tǒng)(可選) 嵌入式Linux開發(fā)環(huán)境 Zigbee無線模塊測試軟件3.2系統(tǒng)概要設(shè)計軟件總體結(jié)構(gòu)的設(shè)計是概要設(shè)計關(guān)鍵的一步,直接影響到詳細設(shè)計與編碼的工作。所以要采用一定的設(shè)計方法,選取合理的設(shè)計方案。3.2.1 系

30、統(tǒng)功能說明根據(jù)系統(tǒng)的需求分析,系統(tǒng)運行在前后臺的不同有不同的功能模塊。我們總共有三個功能模塊,在數(shù)據(jù)源單板端,主要是實現(xiàn)數(shù)據(jù)的采集、打包和發(fā)送,同時不斷的解析來自服務(wù)器端的命令。在服務(wù)器端,主要實現(xiàn)一個相當(dāng)于家電服務(wù)器功能的功能模塊,負責(zé)對單板進行命令發(fā)送和解析來自數(shù)據(jù)源端的數(shù)據(jù)。還有遠程客戶端,主要是實現(xiàn)人機交互。綜上所述,本系統(tǒng)有以下功能:(1)用戶通過網(wǎng)頁實時查看被控區(qū)的溫濕度、光亮強度以及LED燈和風(fēng)扇狀態(tài)。(2)用戶可以直接操作LED燈、風(fēng)扇和蜂鳴器,比如打開和關(guān)閉。(3)實現(xiàn)自動控制功能。3.2.2 系統(tǒng)總體功能結(jié)構(gòu)系統(tǒng)總體結(jié)構(gòu)功能圖如圖3-1所示。圖3-1 系統(tǒng)總體功能圖由圖3-

31、1可知,本系統(tǒng)結(jié)構(gòu)主要分為三個大的層次。分別是遠程客戶端,服務(wù)器端以及數(shù)據(jù)源端,也就是對物聯(lián)網(wǎng)中的感知層,網(wǎng)絡(luò)層和應(yīng)用層的實例化。即數(shù)據(jù)源端來自于感知層,服務(wù)器端從感知層獲得數(shù)據(jù)后通過網(wǎng)絡(luò)層把數(shù)據(jù)傳送至遠程客戶端。遠程客戶端就可以通過網(wǎng)絡(luò)進行實時查看。在數(shù)據(jù)源端,主要是由各類模塊傳感器實現(xiàn),模塊傳感器顧名思義就相當(dāng)于生物對外界環(huán)境的相關(guān)反映一樣??梢愿兄饨绛h(huán)境的變化,并轉(zhuǎn)化為相應(yīng)的數(shù)據(jù)。然后傳輸給家電服務(wù)器。家電服務(wù)器在接收數(shù)據(jù)后就可以根據(jù)數(shù)據(jù)做出相應(yīng)的反映。在服務(wù)器端,主要是由開發(fā)板s3c2440實現(xiàn),其主要的功能是根據(jù)要求不斷的從數(shù)據(jù)源端獲得外界數(shù)據(jù),然后對數(shù)據(jù)進行處理,并根據(jù)數(shù)據(jù)對相應(yīng)

32、的家電設(shè)備發(fā)出相關(guān)命令,同時服務(wù)器端還要響應(yīng)來自網(wǎng)絡(luò)上的連接,當(dāng)網(wǎng)絡(luò)上有請求連接時,服務(wù)器就要響應(yīng)連接,并實時的更新網(wǎng)頁的數(shù)據(jù),同時接收來自網(wǎng)絡(luò)的命令,最后做出相應(yīng)的處理。本系統(tǒng)中服務(wù)器主要由家電服務(wù)程序和小型web服務(wù)器型的boa服務(wù)器組成。在遠程客戶端,遠程客戶端主要是主動去連接服務(wù)器,然后可以實時觀察遠程的環(huán)境參數(shù),同時可以根據(jù)環(huán)境參數(shù)的變化對遠程的家電設(shè)備進行監(jiān)控。當(dāng)然,用戶也可以通過網(wǎng)頁對遠程端設(shè)備設(shè)置自動控制命令。在圖3-1中,遠程客戶端與服務(wù)器端是通過互聯(lián)網(wǎng)連接,因此客戶端可以在世界的任何角落都能通過互聯(lián)網(wǎng)來監(jiān)控特定的區(qū)域,這就使得我們的監(jiān)控非常具有靈活性。服務(wù)器端與數(shù)據(jù)源是通過

33、串口實現(xiàn)數(shù)據(jù)傳輸?shù)?。在?shù)據(jù)源端,我們有一個以上的單板,因此,我們在數(shù)據(jù)源端設(shè)有一快路由單板,其負責(zé)收集所有單板的數(shù)據(jù),然后通過串口把數(shù)據(jù)傳送至服務(wù)器。當(dāng)然,當(dāng)我們的服務(wù)器要給某一塊單板發(fā)送命令時,也是把命令先發(fā)送至路由單板,然后由路由單板把命令發(fā)送給各個單板。各個單板在收集到命令進行解析,如果是自己的命令就執(zhí)行,否則丟棄。而在整個鏈路過程中,最重要的就是路由單板與個單板節(jié)點的數(shù)據(jù)通信,我們是利用zigbee組網(wǎng)來實現(xiàn)路由單板與各單板節(jié)點的數(shù)據(jù)通信的。ZigBee技術(shù)是一種近距離、低復(fù)雜度、低功耗、低速率、低成本的雙向無線通訊技術(shù)。主要用于距離短、功耗低且傳輸速率不高的各種電子設(shè)備之間進行數(shù)據(jù)傳

34、輸以及典型的有周期性數(shù)據(jù)、間歇性數(shù)據(jù)和低反應(yīng)時間數(shù)據(jù)傳輸?shù)膽?yīng)用。在zigbee組網(wǎng)過程中,難點是對數(shù)據(jù)包的定義,同時要解決數(shù)據(jù)在傳輸過程中失真或丟失的問題,還有就是如何給每個單板節(jié)點數(shù)據(jù)加上各自獨一的標(biāo)簽。3.2.3 系統(tǒng)控制流設(shè)計通過對系統(tǒng)的分析,系統(tǒng)實現(xiàn)用戶通過網(wǎng)絡(luò)上PC機的瀏覽器來登入到服務(wù)器,通過網(wǎng)頁來實時的查看和監(jiān)控被控區(qū)域的溫濕度、光亮強度以及控制模擬的家電設(shè)備。具體的系統(tǒng)控制流程圖如圖3-2所示。圖3-2 系統(tǒng)控制流如圖3-2中,可以非常直觀的顯示該系統(tǒng)所設(shè)計的功能流程和其功能實現(xiàn)。從何圖中我們可以更直觀的看到數(shù)據(jù)源不斷的采集數(shù)據(jù)并接收來自服務(wù)器端的命令,服務(wù)器端則響應(yīng)來自網(wǎng)絡(luò)的

35、請求與下層進行交流。從圖可知,用戶可以在遠程端通過網(wǎng)絡(luò)連接到我們的服務(wù)器,然后服務(wù)器接到請求后給用戶發(fā)送一個網(wǎng)頁,則用戶可以通過網(wǎng)頁直觀的查看各類環(huán)境參數(shù)。并按照自己的意愿對遠程的家電設(shè)備進行監(jiān)控。通過對系統(tǒng)的分析,在整個系統(tǒng)中,關(guān)鍵的是如何數(shù)據(jù)的傳輸,本系統(tǒng)中涉及了有線傳輸和無線傳輸,有線傳輸是給遠程網(wǎng)絡(luò)的用戶提供服務(wù),無線傳輸主要是路由對節(jié)點數(shù)據(jù)的收集。3.3 系統(tǒng)詳細設(shè)計在系統(tǒng)的概要設(shè)計中,已將系統(tǒng)劃分為多個模塊,并將它們按照一定的原則進行組裝,同時確定了每個模塊的功能。詳細設(shè)計是系統(tǒng)設(shè)計的第二階段,主要確定每個模塊的具體執(zhí)行過程。3.3.1 數(shù)據(jù)源端功能設(shè)計通過對數(shù)據(jù)源端功能的分析,數(shù)

36、據(jù)是由多個節(jié)點提供。節(jié)點提供給路由端相同的數(shù)據(jù)類型。數(shù)據(jù)源端節(jié)點數(shù)據(jù)的采集是通過zigbee無線傳輸方式,路由節(jié)點的流程圖如圖3-3所示。圖3-3路由節(jié)點流程圖普通節(jié)點數(shù)據(jù)流程圖如圖3-4所示。圖3-4 普通節(jié)點流程圖圖3-3中,在該數(shù)據(jù)源端,即單板LPC1114,在本系統(tǒng)中該模塊有三個作用,其一是采集本身相關(guān)的傳感模塊的數(shù)據(jù),其二是直接與服務(wù)器建立有線連接,該模塊可以接收服務(wù)器的命令,同時不斷地給服務(wù)器發(fā)送數(shù)據(jù)。其三是與其他節(jié)點建立無線連接,接收其他節(jié)點的數(shù)據(jù),同時給其他節(jié)點發(fā)送命令。即該模塊除具備普通節(jié)點的采集數(shù)據(jù)的功能外,還具備了路由的功能,所以可以稱為路由節(jié)點。圖3-4中,在該此數(shù)據(jù)源

37、端中,其主要是與路由節(jié)點建立無線連接,當(dāng)接收到路由節(jié)點的命令后進行解析,然后響應(yīng),如果接收的命令是采集數(shù)據(jù)命令,則采集本身數(shù)據(jù),然后發(fā)送給路由節(jié)點。所以本節(jié)點只有簡單的與路由節(jié)點連接,故稱為普通節(jié)點。如果把路由路節(jié)點和普通節(jié)點看作一個整體,即數(shù)據(jù)源端的數(shù)據(jù)節(jié)點的話,其主要有以下的功能。()采集各類傳感器數(shù)據(jù),并按照相應(yīng)的格式打包。()接收來自服務(wù)器端的命令。()發(fā)送數(shù)據(jù)。3.3.2 數(shù)據(jù)源端zigbee組網(wǎng)設(shè)計通過對數(shù)據(jù)源端多節(jié)點數(shù)據(jù)傳輸方式的分析,系統(tǒng)采用zigbee無線組網(wǎng)方式,zigbee無線組網(wǎng)方式拓撲結(jié)構(gòu)如圖3-5所示。圖3-5 zigbee拓撲結(jié)構(gòu)從圖3-5 zigbee拓撲結(jié)構(gòu)圖

38、中可知,路由單板是根據(jù)各單板節(jié)點的ID號來區(qū)別各個單板節(jié)點的。所以單板節(jié)點在定義數(shù)據(jù)包時要在數(shù)據(jù)包的頭部增加自身的ID號,這樣路由單板在接收到數(shù)據(jù)包后只要解析數(shù)據(jù)頭部的ID就可以區(qū)分接收的數(shù)據(jù)包是哪塊單板發(fā)送的。當(dāng)路由單板在給某個單板節(jié)點發(fā)送命令時,也是只要在命令的頭部加上要控制的單板節(jié)點的ID號。所有單板節(jié)點在接收到數(shù)據(jù)后,解析數(shù)據(jù)頭部ID號,如果解析的ID號與自己ID號相符則執(zhí)行該命令,如果解析的ID號與自己的不相符則丟棄該命令。新節(jié)點的加入如圖3-6所示。圖3-6 新節(jié)點加入圖新節(jié)點加入的詳細流程圖如圖3-7所示。圖3-7 新節(jié)點加入流程圖從圖3-7可以很直觀的了解到新節(jié)點動態(tài)加入的流程

39、。設(shè)計這一功能的優(yōu)點是增加系統(tǒng)的實用性與擴展性。這樣,系統(tǒng)的適用能力更強,可以自動識別新節(jié)點和舊節(jié)點,這一設(shè)計使得系統(tǒng)可以在節(jié)點流動性大的區(qū)域可靠的使用。新節(jié)點加入過程中,3.3.3 系統(tǒng)服務(wù)器端各功能設(shè)計通過對系統(tǒng)整體分析得知,系統(tǒng)服務(wù)器承載著大部分的數(shù)據(jù)處理,單板只負責(zé)簡單的命令執(zhí)行。根據(jù)這一設(shè)計思想,系統(tǒng)設(shè)計出了圖3-8所示的系統(tǒng)流程圖,該圖主要描述了服務(wù)器端的數(shù)據(jù)流程,其主要是作為遠程客戶端和數(shù)據(jù)源端連接的紐帶,同時處理比較復(fù)雜的工作,比如處理來自數(shù)據(jù)源的數(shù)據(jù)以及響應(yīng)來自網(wǎng)絡(luò)的遠程客戶端的連接。其主要有以下功能:(1)接收來自單板的數(shù)據(jù)(2)接收來自遠程客戶端的命令(3)給單板發(fā)送命令

40、系統(tǒng)服務(wù)端整體流程如圖3-8所示。圖3-8服務(wù)器端流程圖3.3.4 系統(tǒng)客戶端各功能設(shè)計圖3-9 客戶端流程圖圖3-9主要描述了客戶端網(wǎng)頁的簡單流程,從圖中可以看出系統(tǒng)客戶端的主要功能有以下兩點。(1)一個動態(tài)網(wǎng)頁,動態(tài)顯示遠程單板數(shù)據(jù)(2)實現(xiàn)相關(guān)控制按鈕3.4 本章小結(jié)系統(tǒng)設(shè)計是每個系統(tǒng)的靈魂所在,這一章分為概要設(shè)計和詳細設(shè)計兩個部分,通過對系統(tǒng)的概要設(shè)計得出來系統(tǒng)的結(jié)構(gòu)功能圖以及系統(tǒng)的控制流圖,這是整個系統(tǒng)的核心,它直接展示了系統(tǒng)的功能以及整個系統(tǒng)的控制流。在詳細設(shè)計階段,主要闡述服務(wù)器端和客戶端在各個功能上的設(shè)計過程,這個階段為系統(tǒng)的實現(xiàn)奠定了基礎(chǔ)。4 嵌入式ARM-Linux環(huán)境建立

41、絕大多數(shù)的軟件開發(fā)都是本機開發(fā)、調(diào)試,本機運行的方式進行,但是這種方式不適合于嵌入式系統(tǒng)的軟件開發(fā),因為對于嵌入式系統(tǒng)的開發(fā),它沒有足夠的資源在本機運行開發(fā)工具和調(diào)試工具。因此在宿主機上搭建一個好的開發(fā)環(huán)境是很關(guān)鍵的一步,它的成敗直接影響下一步的進展。根據(jù)需求分析確定了系統(tǒng)的開發(fā)環(huán)境是嵌入式Linux操作系統(tǒng)。4.1基于Arm-Linux系統(tǒng)的總體設(shè)計根據(jù)需求分析和嵌入式系統(tǒng)結(jié)構(gòu),得出了系統(tǒng)所需的系統(tǒng)結(jié)構(gòu)如下圖4-1所示。圖 4-1 系統(tǒng)結(jié)構(gòu)圖論文設(shè)計的嵌入式實時監(jiān)控系統(tǒng)主要分為四個層次: (1)基于S3C2440A處理器的硬件平臺。 (2)加載程序uboot,主要初始化處理器及存儲器等硬件設(shè)

42、備。 (3)Arm-Linux內(nèi)核的裁剪、移植,設(shè)備驅(qū)動的加載以及文件系統(tǒng)的建立。 (4)boa服務(wù)器的移植和應(yīng)用程序的開發(fā):包括數(shù)據(jù)采集、傳輸和網(wǎng)頁動態(tài)顯示。根據(jù)系統(tǒng)結(jié)構(gòu)的設(shè)計,將分以下三個步驟實現(xiàn),這一章只實現(xiàn)其中的前兩步,其它的部分的實現(xiàn)在后續(xù)章節(jié)展開。實現(xiàn)步驟如下:(1)Arm-Linux交叉開發(fā)環(huán)境的建立。(2)嵌入式Arm-Linux的裁剪和移植:其中包括啟動加載程序U-Boot的移植、內(nèi)核的裁剪與移植、設(shè)備驅(qū)動模塊的加載、文件系統(tǒng)的移植。(3)boa服務(wù)器移植。(4)外界環(huán)境數(shù)據(jù)的采集,傳輸。4.2 Arm-Linux交叉編譯工具鏈的建立與主流軟件開發(fā)相同,嵌入式系統(tǒng)開發(fā)同樣需要

43、用到編譯器、鏈接器、解釋程序、集成開發(fā)環(huán)境以及諸如此類的開發(fā)工具。但是在嵌入式系統(tǒng)開發(fā)中,由于執(zhí)行應(yīng)用程序的平臺(目標(biāo)機)與創(chuàng)建應(yīng)用程序的平臺(宿主機)并不兼容,因此,需要交叉開發(fā)工具進行交叉編譯。本文采用工具鏈Arm-Linux-gcc-4.4.5創(chuàng)建Arm-Linux交叉編譯環(huán)境9。建立過程如下:以超級用戶的身份登錄Linux操作系統(tǒng),然后在/opt目錄下新建arm目錄。將工具鏈arm-linux-gcc-4.3.2.tgz復(fù)制到新建ARM目錄下,并執(zhí)行解壓。在宿主機中設(shè)置環(huán)境變量使得系統(tǒng)能自動調(diào)用已建立好的工具,具體的設(shè)置 方法為:修改環(huán)境變量PATH的值。4.3 Linux內(nèi)核的裁剪與

44、移植嵌入式系統(tǒng)的硬件資源畢竟有限,不能直接將Linux操作系統(tǒng)作為嵌入式硬件平臺上的操作系統(tǒng),需要針對具體的應(yīng)用進行內(nèi)核的配置和裁減,使整個系統(tǒng)能夠存放到容量較小的 Flash中。Linux的動態(tài)模塊加載方式使 Linux的裁剪極為方便,高度模塊化使得添加和刪減非常容易。結(jié)合該系統(tǒng)在開發(fā)中所需要的功能,Linux內(nèi)核的裁剪與移植過程中涉及到的目錄有:include/ 、arch/ 、drivers/ 、fs/。移植的過程為:在根目錄新建/tool目錄,將ARM Linux源代碼解壓至該目錄下。進入內(nèi)核所在目錄,修改配置文件和系統(tǒng)時鐘拷貝默認配置文件,cp arch/arm/configs/s3

45、c2410_defconfig .config編譯ARM-Linux內(nèi)核,在終端輸入:make menuconfig。將會出現(xiàn)如下界面。內(nèi)核配置如圖4-2所示。圖4-2 內(nèi)核配置圖然后對內(nèi)核進行裁剪和配置,配置完成后在終端輸入 make uImage 開始編譯內(nèi)核。然后把cp arch/arm/boot/uImage /tftpboot/4.4 NFS網(wǎng)絡(luò)文件系統(tǒng)與BOA服務(wù)器的制作4.4.1 NFS網(wǎng)絡(luò)文件系統(tǒng)制作NFS網(wǎng)絡(luò)文件系統(tǒng)可以使得系統(tǒng)調(diào)試開發(fā)更容易進行,只需要將經(jīng)過交叉編譯器編譯之后生成的可執(zhí)行文件通過NFS掛載到板子上為調(diào)試做好準(zhǔn)備,避免反復(fù)的燒寫可執(zhí)行文件到FLASH中,造成時

46、間浪費和FlASH壽命的縮短。如圖4-3、圖4-4、圖4-5所示為最小文件系統(tǒng)的簡單制作過程。配置進入busybox-1.18.5目錄make menuconfig具體配置如圖4-3所示。圖4-3 busybox配置圖1為開發(fā)板設(shè)置編譯器前綴 arm-none-linux-gnueabi-,如圖4-4所示。圖4-4 busybox配置圖2文件系統(tǒng)的ionice配置設(shè)置如圖4-5所示。圖4-5 busybox配置圖3配置完成后直接編譯根文件系統(tǒng),最后在根文件系統(tǒng)上增加系統(tǒng)啟動的shell文件。4.4.2 BOA服務(wù)器的移植boa 服務(wù)器是一個 web 服務(wù)器,在嵌入式系統(tǒng)中使用比較廣泛。同時移植

47、簡單,我們可以在網(wǎng)上下載一個BOA服務(wù)器的源碼,然后根據(jù)編譯的前面制作的文件系統(tǒng)做適當(dāng)?shù)男薷南嚓P(guān)的文件代碼,最后通過相關(guān)的命令就可以完成對BOA服務(wù)器編譯。編譯好BOA服務(wù)器后,把編譯的BOA服務(wù)器復(fù)制到之前制作好的網(wǎng)絡(luò)文件系統(tǒng)的文件夾內(nèi)。具體做法是創(chuàng)建boa服務(wù)器存放目錄mkdir /opt/rootfs/var/boa ,并將 boa源碼目錄下的 boa.conf 拷貝到/opt/rootfs/etc/boa 目錄下 ,然后把虛擬機下的etc/mime.types也拷貝到該目錄下。最后把說需網(wǎng)頁也放到該目錄下。這樣boa服務(wù)器構(gòu)建完畢!4.5 構(gòu)建嵌入式Linux目標(biāo)平臺(1)燒寫uboo

48、t,我們用JTAG實現(xiàn)對mini2440的nandflash燒寫,燒寫過程這里略過。(2)燒寫內(nèi)核,內(nèi)核的燒寫我們利用uboot的命令進行燒寫,其過程是,首先啟動uboot,然后依次輸入以下命令。FS2410 # tftp 30800000 uImageFS2410 # nand erase 60000 200000FS2410 # nand write 30800000 60000 200000FS2410 # setenv bootcmd nand read 30800000 60000 200000 ;bootm 308000004.6本章小結(jié)一個好的嵌入式開發(fā)平臺是進行后續(xù)開發(fā)的一個重

49、要基礎(chǔ),它在整個嵌入式系統(tǒng)開發(fā)的過程中起著非常重要的作用。本章主要闡述了嵌入式ARM-Linux開發(fā)平臺的搭建。具體的介紹了交叉編譯工具鏈的建立,嵌入式Linux操作系統(tǒng)的裁剪和移植以及網(wǎng)絡(luò)文件系統(tǒng)的搭建。最后介紹了如何將uboot、內(nèi)核以及文件系統(tǒng)燒寫到目標(biāo)平臺上。5 系統(tǒng)實現(xiàn)經(jīng)過以上的分析和設(shè)計,就要開始進行系統(tǒng)實現(xiàn)工作了,系統(tǒng)主要分為服務(wù)器端和數(shù)據(jù)源端。在實現(xiàn)的過程中,我認為實現(xiàn)的難點將是數(shù)據(jù)包協(xié)議如何定義, 因為如果數(shù)據(jù)包協(xié)議定義不合理,將導(dǎo)致數(shù)據(jù)無法正常發(fā)送至服務(wù)器端,或者服務(wù)器接收的數(shù)據(jù)包會造成丟失。所以在實現(xiàn)過程中我們應(yīng)該由簡單到復(fù)雜,首先實現(xiàn)單個數(shù)據(jù)的發(fā)送,然后在實現(xiàn)多數(shù)據(jù)的發(fā)

50、送。這樣才能確保項目能更加順利的完成。在本項目中,我們都是由簡入難,步步為營的思想來按計劃的完成我們項目。先實現(xiàn)簡單的框架再實現(xiàn)復(fù)雜程序的方法來完成。5.1 數(shù)據(jù)源端的實現(xiàn)(1)首先是定義好一個數(shù)據(jù)包協(xié)議,即實現(xiàn)一個數(shù)據(jù)結(jié)構(gòu)typedef struct char tem4; char hum4; charlux4; char led4; char fan4;(2)溫濕度的采集,程序主要代碼如下:uint32_t Read_Temp_Hum(uint8_t *temp, uint8_t *hum) GPIOSetDir(PORT3, 2, 1); /設(shè)置對應(yīng)引腳(PI03_2)為輸出模式 GPI

51、OSetValue(PORT3, 2, 0); /設(shè)置輸出為低電平 delay_ms(30); /設(shè)延時 30MS(大于 18MS) GPIOSetValue(PORT3, 2, 1); / 輸出高電平,釋放總線 GPIOSetDir(PORT3, 2, 0); /設(shè) PIO3_2 為輸入模式 GPIOSetInterrupt(PORT3, 2, 0, 0, 0); /設(shè)控制器中斷為下降沿中斷 GPIOIntEnable(PORT3, 2); /使能中斷 for(i=0; i3; i+) GPIOSetInterrupt(PORT3, 2, 0, 0, i&0x01); while(p3_2_

52、counter = cnt_last); cnt_last = p3_2_counter; for(i=0; i40; i+)GPIOSetInterrupt(PORT3, 2, 0, 0, 1); while(p3_2_counter = cnt_last); cnt_last = p3_2_counter; tc1 = p3_2_tc; GPIOSetInterrupt(PORT3, 2, 0, 0, 0); while(p3_2_counter = cnt_last); cnt_last = p3_2_counter; if(p3_2_tc tc1) tc = tc1 - p3_2_tc; else tc = 48000 - (p3_2_tc - tc1); if(i 8) temp10 = 2328) temp10 |= 0x01; else if(i 16) temp01 = 2328) temp01 |= 0x01; else if(i 24) hum10 = 2328) hum10 |= 0x01; else if(i 32) hum01 = 2328) hum01 |= 0x01; else chksum = 2328) chksum |= 0x01; GPIOSetInterrup

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論