版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 JIU JIANG UNIVERSITY畢 業(yè) 論 文題 目 基于嵌入式技術(shù)的智能監(jiān)控系統(tǒng) 傳感模塊驅(qū)動(dòng)應(yīng)用開(kāi)發(fā) 英文題目 Base on Embedded Intelligent Monitoring System Sensing Module Driver Application院 系 信息科學(xué)與技術(shù)學(xué)院 專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) 姓 名 江軍洪 年 級(jí) A 指導(dǎo)教師 劉濤 二一二年五月摘 要新技術(shù)革命的到來(lái),世界開(kāi)始進(jìn)入信息時(shí)代。在利用信息的過(guò)程中,首先要解決的就是要獲取準(zhǔn)確可靠的信息,而傳感器是獲取自然和特定環(huán)境領(lǐng)域中信息的主要途徑與手段。在目前正蓬勃發(fā)展的物聯(lián)網(wǎng)中尤其要用到各種傳感
2、器來(lái)監(jiān)視和控制被控區(qū)域的各種參數(shù),比如采集被控區(qū)域的溫度、濕度和光亮強(qiáng)度等。該論文首先是對(duì)基于嵌入式技術(shù)的智能監(jiān)控系統(tǒng)傳感模塊驅(qū)動(dòng)應(yīng)用開(kāi)發(fā)的硬件平臺(tái)和軟件平臺(tái)做了簡(jiǎn)單的陳述,并在現(xiàn)有的條件下,講述了基于嵌入式智能監(jiān)控系統(tǒng)傳感模塊的驅(qū)動(dòng)應(yīng)用開(kāi)發(fā),其中重點(diǎn)講述了溫濕度傳感器和光亮傳感器模塊驅(qū)動(dòng)的編寫,Zigbee組網(wǎng)實(shí)現(xiàn)以及研究編寫相關(guān)應(yīng)用程序以實(shí)現(xiàn)對(duì)單板數(shù)據(jù)的采集和控制。關(guān)鍵詞:嵌入式,溫濕度傳感器,光亮傳感器,數(shù)據(jù)采集AbstractThe arrival of the new technological revolution, the world began to enter the inf
3、ormation 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 to monitor and contro
4、l 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 software platform to do a s
5、imple 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 as well as research t
6、o write the application in order to achieve the veneer of data acquisition and control.Key words : Embedded,Temperature And Humidity Sensor,Light Sensor,Data Acquisition目 錄摘 要IAbstractII1緒論1.1嵌入式傳感器概述(1)1.2 國(guó)內(nèi)外發(fā)展現(xiàn)狀與趨勢(shì)(2)1.3 課題來(lái)源(3)1.4研究的意義和目的(4)1.5 本章小結(jié)(5)2 系統(tǒng)需求分析2.1 系統(tǒng)功能需求分析(6)2.2 系統(tǒng)硬件需求分析(6)2.3 系統(tǒng)
7、軟件需求分析(7)2.4 本章小結(jié)(9)3 系統(tǒng)設(shè)計(jì)3.1軟件的運(yùn)行環(huán)境(10)3.2系統(tǒng)概要設(shè)計(jì)(11)3.3 系統(tǒng)詳細(xì)設(shè)計(jì)(14)3.4 本章小結(jié)(19)4 嵌入式ARM-Linux環(huán)境建立4.1基于Arm-Linux系統(tǒng)的總體設(shè)計(jì)(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)平臺(tái)(24)4.6本章小結(jié)(25)5 系統(tǒng)實(shí)現(xiàn)5.1 數(shù)據(jù)源端的實(shí)現(xiàn)(26)5.2 服務(wù)器端的實(shí)現(xiàn)(32)5.3 遠(yuǎn)程客戶端的實(shí)現(xiàn)(33)5.4 本章小結(jié)(35)6 系統(tǒng)測(cè)試
8、及維護(hù)6.1 系統(tǒng)測(cè)試(36)6.2 本章小結(jié)(41)總 結(jié)致 謝(43)參考文獻(xiàn)(44)1 緒論1.1嵌入式傳感器概述嵌入式系統(tǒng)1是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),并且軟硬件可裁剪,適用于應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗有嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。它一般由嵌入式微處理器、外圍硬件設(shè)備、嵌入式操作系統(tǒng)以及用戶的應(yīng)用程序等四個(gè)部分組成,用于實(shí)現(xiàn)對(duì)其他設(shè)備的控制、監(jiān)視或管理等功能。嵌入式系統(tǒng)一般指非PC系統(tǒng),它包括硬件和軟件兩部分。硬件包括處理器微處理器、存儲(chǔ)器及外設(shè)器件和IO端口、圖形控制器等。軟件部分包括操作系統(tǒng)軟件(要求實(shí)時(shí)和多任務(wù)操作)和應(yīng)用程序編程2。而嵌入式傳感器正是在嵌入式
9、技術(shù)基礎(chǔ)上發(fā)展起來(lái)的,其具有各類特有的功能。比如新型的傳感器具有微型化、數(shù)字化、智能化、多功能化、系統(tǒng)化、網(wǎng)絡(luò)化等功能。新型傳感器的發(fā)展不僅促進(jìn)了傳統(tǒng)產(chǎn)業(yè)的改造和更新?lián)Q代,而且還可能建立新型工業(yè),從而成為21世紀(jì)新的經(jīng)濟(jì)增長(zhǎng)點(diǎn)。微型化是建立在微電子機(jī)械系統(tǒng)(MEMS)技術(shù)基礎(chǔ)上的,目前已成功應(yīng)用在硅器件上做成硅壓力傳感器。24GHZ雷達(dá)傳感器為圖1-1所示。圖1-1 24GHZ雷達(dá)傳感器根據(jù)傳感器的工作原理,傳感器可以分為物理傳感器3和化學(xué)傳感器。物理傳感器是檢測(cè)物理量的傳感器。它是利用某些物理效應(yīng),把被測(cè)量的物理量轉(zhuǎn)化成為便于處理的能量形式的信號(hào)的裝置。其輸出的信號(hào)和輸入的信號(hào)有確定的關(guān)系。
10、主要的物理傳感器有光電式傳感器、壓電傳感器、壓阻式傳感器、電磁式傳感器、熱電式傳感器、光導(dǎo)纖維傳感器等。作為例子,讓我們看看比較常用的光電式傳感器。這種傳感器把光信號(hào)轉(zhuǎn)換成為電信號(hào),它直接檢測(cè)來(lái)自物體的輻射信息,也可以轉(zhuǎn)換其他物理量成為光信號(hào)。其主要的原理是光電效應(yīng):當(dāng)光照射到物質(zhì)上的時(shí)候,物質(zhì)上的電效應(yīng)發(fā)生改變,這里的電效應(yīng)包括電子發(fā)射、電導(dǎo)率和電位電流等。顯然,能夠容易產(chǎn)生這樣效應(yīng)的器件成為光電式傳感器的主要部件,比如說(shuō)光敏電阻。這樣,我們知道了光電傳感器的主要工作流程就是接受相應(yīng)的光的照射,通過(guò)類似光敏電阻4這樣的器件把光能轉(zhuǎn)化成為電能,然后通過(guò)放大和去噪聲的處理,就得到了所需要的輸出的
11、電信號(hào)。這里的輸出電信號(hào)和原始的光信號(hào)有一定的關(guān)系,通常是接近線性的關(guān)系,這樣計(jì)算原始的光信號(hào)就不是很復(fù)雜了。其他的物理傳感器的原理都可以類比于光電式傳感器?;瘜W(xué)傳感器是能將各種化學(xué)物質(zhì)的特性(如氣體、離子、電解質(zhì)濃度、空氣濕度等)的變化定性或定量地轉(zhuǎn)換成電信號(hào)的傳感器。由于化學(xué)物質(zhì)種類繁多,因此化學(xué)傳感器的種類和數(shù)量也很多,各種轉(zhuǎn)換器件的轉(zhuǎn)換原理也各不相同,并且由于轉(zhuǎn)換機(jī)理相對(duì)比較復(fù)雜,因而化學(xué)傳感器遠(yuǎn)不如物理傳感器那樣成熟和普及。但是,隨著科學(xué)技術(shù)的發(fā)展,尤其是人類對(duì)環(huán)保的需要,人們對(duì)化學(xué)傳感器的需求日益增多,化學(xué)傳感器也就顯得日益重要。1.2 國(guó)內(nèi)外發(fā)展現(xiàn)狀與趨勢(shì)現(xiàn)代科學(xué)技術(shù)的發(fā)展,傳感
12、器應(yīng)用進(jìn)入了許多新領(lǐng)域:例如在宏觀上要觀察上千光年的茫茫宇宙,微觀上要觀察小到 cm的粒子世界,縱向上要觀察長(zhǎng)達(dá)數(shù)十萬(wàn)年的天體演化,短到 s的瞬間反應(yīng)。此外,還出現(xiàn)了對(duì)深化物質(zhì)認(rèn)識(shí)、開(kāi)拓新能源、新材料等具有重要作用的各種極端技術(shù)研究,如超高溫、超低溫、超高壓、超高真空、超強(qiáng)磁場(chǎng)、超弱磁場(chǎng)等等。顯然,要獲取大量人類感官無(wú)法直接獲取的信息,沒(méi)有相適應(yīng)的傳感器是不可能的。許多基礎(chǔ)科學(xué)研究的障礙,首先就在于對(duì)象信息的獲取存在困難,而一些新機(jī)理和高靈敏度的檢測(cè)傳感器的出現(xiàn),往往會(huì)導(dǎo)致該領(lǐng)域內(nèi)的突破。一些傳感器的發(fā)展,往往是一些邊緣學(xué)科開(kāi)發(fā)的先驅(qū)。隨著芯片、網(wǎng)絡(luò)技術(shù)的進(jìn)步,現(xiàn)在出現(xiàn)了基于嵌入式技術(shù)的物聯(lián)網(wǎng)
13、系統(tǒng)5以及嵌入式傳感器。嵌入式系統(tǒng)也由于軟硬件可裁剪、本身體積小、實(shí)時(shí)性高、穩(wěn)定性好、支持網(wǎng)絡(luò)等優(yōu)點(diǎn),成為工控領(lǐng)域的新熱點(diǎn)?;谇度胧郊夹g(shù)的物聯(lián)網(wǎng)應(yīng)用系統(tǒng)有效的將嵌入式技術(shù)和數(shù)據(jù)采集技術(shù)結(jié)合在一起,可以很好的解決基于PC的監(jiān)控系統(tǒng)中存在的設(shè)備體積龐大、便攜性差、實(shí)時(shí)性差等問(wèn)題。在監(jiān)控現(xiàn)場(chǎng)利用嵌入式傳感器,采用專用芯片和嵌入式操作系統(tǒng),把單板采集到的數(shù)據(jù)進(jìn)行編碼然后傳輸?shù)娇蛻舳藢?shí)現(xiàn)實(shí)時(shí)監(jiān)控,有效地提高了系統(tǒng)的實(shí)時(shí)性和穩(wěn)定性。傳感器的發(fā)展主要得益于物聯(lián)網(wǎng)的發(fā)展,而物聯(lián)網(wǎng)在中國(guó)迅速崛起得益于我國(guó)在物聯(lián)網(wǎng)方面的幾大優(yōu)勢(shì)。(1)我國(guó)在1999年就啟動(dòng)物聯(lián)網(wǎng)核心傳感網(wǎng)技術(shù)研究,研發(fā)水平處于世界前列; (2
14、)在世界傳感網(wǎng)領(lǐng)域6,我國(guó)是標(biāo)準(zhǔn)主導(dǎo)國(guó)之一,專利擁有量高; (3)我國(guó)是目前能夠?qū)崿F(xiàn)物聯(lián)網(wǎng)完整產(chǎn)業(yè)鏈的國(guó)家之一; (4)我國(guó)無(wú)線通信網(wǎng)絡(luò)和寬帶覆蓋率高,為物聯(lián)網(wǎng)發(fā)展提供堅(jiān)實(shí)的基礎(chǔ)設(shè)施支持; (5)我國(guó)已經(jīng)成為世界第二大經(jīng)濟(jì)體,有較為雄厚的經(jīng)濟(jì)實(shí)力支持物聯(lián)網(wǎng)發(fā)展。1.3 課題來(lái)源“物聯(lián)網(wǎng)”概念的問(wèn)世,打破了之前的傳統(tǒng)思維。過(guò)去的思路一直是將物理基礎(chǔ)設(shè)施和 IT 基礎(chǔ)設(shè)施分開(kāi):一方面是機(jī)場(chǎng)、公路、建筑物,而另一方面是數(shù)據(jù)中心,個(gè)人電腦、寬帶等。而在“物聯(lián)網(wǎng)”時(shí)代,鋼筋混凝土、電纜將與芯片、寬帶整合為統(tǒng)一的基礎(chǔ)設(shè)施,在此意義上,基礎(chǔ)設(shè)施更像是一塊新的地球工地,世界的運(yùn)轉(zhuǎn)就在它上面進(jìn)行,其中包括經(jīng)濟(jì)管
15、理、生產(chǎn)運(yùn)行、社會(huì)管理乃至個(gè)人生活。 物聯(lián)網(wǎng)可分為三層:感知層、網(wǎng)絡(luò)層和應(yīng)用層,如圖1-2所示。 圖1-2 物聯(lián)網(wǎng)層次圖感知層是物聯(lián)網(wǎng)的皮膚和五官識(shí)別物體,采集信息。感知層包括二維碼標(biāo)簽和識(shí)讀器、RFID 標(biāo)簽和讀寫器、攝像頭、GPS、傳感器、終端、傳感器網(wǎng)絡(luò)7等,主要是識(shí)別物體,采集信息,與人體結(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ò)層將感知層獲取的信息進(jìn)行傳遞和處理,類似于人體結(jié)構(gòu)中的神經(jīng)中樞和大腦。應(yīng)用層是物聯(lián)網(wǎng)的“社會(huì)分工”與行業(yè)需求結(jié)合,實(shí)現(xiàn)廣泛智能化。應(yīng)用層是物聯(lián)網(wǎng)與行業(yè)
16、專業(yè)技術(shù)的深度融合,與行業(yè)需求結(jié)合,實(shí)現(xiàn)行業(yè)智能化,這類似于人的社會(huì)分工,最終構(gòu)成人類社會(huì)。本設(shè)計(jì)就是針對(duì)上述需求對(duì)嵌入式技術(shù)的智能監(jiān)控系統(tǒng)傳感模塊驅(qū)動(dòng)應(yīng)用開(kāi)發(fā)。1.4研究的意義和目的物聯(lián)網(wǎng)如圖1-3所示可以看作是互聯(lián)網(wǎng)的延伸和擴(kuò)張,也是未來(lái)通信信息產(chǎn)業(yè)的發(fā)展趨勢(shì),物聯(lián)網(wǎng)產(chǎn)品的出現(xiàn)也極大地改變了現(xiàn)今社會(huì)人們的生活方式和理念。中國(guó)企業(yè)報(bào)在調(diào)查中還發(fā)現(xiàn),隨著物聯(lián)網(wǎng)技術(shù)涉及范圍漸廣,家電產(chǎn)品也搭上了這班“順風(fēng)車”,物聯(lián)網(wǎng)冰箱、洗衣機(jī)、空調(diào)、微波爐、熱水器等紛紛登場(chǎng)亮相,為人們展示了未來(lái)智能生活的美好圖景。物聯(lián)網(wǎng)的各個(gè)物理實(shí)體連接如圖1-3所示。圖1-3 物聯(lián)網(wǎng)目前,物聯(lián)網(wǎng)發(fā)展極其迅速,而物聯(lián)網(wǎng)的最主
17、要的特點(diǎn)是通過(guò)射頻識(shí)別(RFID) 、紅外感應(yīng)器、全球定位系統(tǒng)、激光掃描器等信息傳感設(shè)備,按約定的協(xié)議,把任何物品與互聯(lián)網(wǎng)相連接,進(jìn)行信息交換和通信。所以傳感模塊是組成物聯(lián)網(wǎng)的必不可少的條件。本系統(tǒng)是基于嵌入式技術(shù)的智能監(jiān)控系統(tǒng)傳感模塊驅(qū)動(dòng)應(yīng)用開(kāi)發(fā)8,主要的目標(biāo)是:(1)實(shí)現(xiàn)mini2440的最小系統(tǒng)的移植,使其最少擁有網(wǎng)絡(luò)功能,USB功能;(2)實(shí)現(xiàn)單板對(duì)環(huán)境數(shù)據(jù)的采集,同時(shí)打包,并通過(guò)串口傳送;(3)實(shí)現(xiàn)單板能接收來(lái)自串口的命令,并實(shí)時(shí)反映;(4)實(shí)現(xiàn)一個(gè)家電服務(wù)器應(yīng)用程序,使其可以對(duì)單板發(fā)送命令,并接收來(lái)自單板的數(shù)據(jù)包,同時(shí)刷新網(wǎng)頁(yè)數(shù)據(jù);(5)實(shí)現(xiàn)boa服務(wù)器,遠(yuǎn)程端可以通過(guò)網(wǎng)頁(yè)查看實(shí)時(shí)
18、數(shù)據(jù),同時(shí)解釋網(wǎng)頁(yè)的命令。1.5 本章小結(jié)首先對(duì)整個(gè)系統(tǒng)的硬件、系統(tǒng)軟件以及應(yīng)用程序做了一個(gè)簡(jiǎn)單的陳述,然后具體介紹了開(kāi)發(fā)此系統(tǒng)的意義和目的。接下來(lái)具體介紹了基于嵌入式的應(yīng)用系統(tǒng)在國(guó)內(nèi)外的發(fā)展現(xiàn)狀以及未來(lái)的發(fā)展趨勢(shì)。由以上分析得出,基于嵌入式技術(shù)的智能監(jiān)控系統(tǒng)傳感模塊驅(qū)動(dòng)應(yīng)用開(kāi)發(fā)與研究是一個(gè)新熱點(diǎn)。2 系統(tǒng)需求分析在進(jìn)行可行性研究和項(xiàng)目開(kāi)發(fā)計(jì)劃以后,如果確認(rèn)開(kāi)發(fā)一個(gè)新的軟件系統(tǒng)是必要的而且是可行的,那么就可進(jìn)入需求分析階段。需求分析是指開(kāi)發(fā)人員要理解用戶的要求,進(jìn)行詳細(xì)的市場(chǎng)調(diào)查,確定系統(tǒng)的新目標(biāo)。為了滿足用戶的需要,回答系統(tǒng)要“做什么”的問(wèn)題。2.1 系統(tǒng)功能需求分析根據(jù)物聯(lián)網(wǎng)層次圖分析,為
19、使物聯(lián)網(wǎng)能夠?qū)崟r(shí)高效的工作,對(duì)感知層的研究就顯得異常的重要。而構(gòu)成感知層的重要組成部分就是各類傳感器。實(shí)質(zhì)上我們的工作就是對(duì)大量傳感模塊的組織與管理,使其有序的工作,并實(shí)時(shí)的采集其有效范圍內(nèi)的相應(yīng)參數(shù),而處理器就可以根據(jù)參數(shù)做出相應(yīng)的處理,比如說(shuō)我們的實(shí)驗(yàn)單板中,有一個(gè)溫濕度傳感器,我們可以不斷的讀取其數(shù)據(jù)來(lái)感應(yīng)環(huán)境的溫度變化,當(dāng)溫度高于我們?cè)O(shè)定的溫度是就開(kāi)啟風(fēng)扇或發(fā)出警報(bào)。同時(shí)由于我們數(shù)據(jù)還將發(fā)送至網(wǎng)絡(luò),所以我們還可以通過(guò)網(wǎng)絡(luò)進(jìn)行實(shí)時(shí)的監(jiān)控。如上綜述,我們的系統(tǒng)要完成的功能有以下四點(diǎn):(1)實(shí)現(xiàn)傳感器對(duì)外界信息的采集,比如溫度、濕度以及光亮強(qiáng)度。(2)實(shí)現(xiàn)單板與服務(wù)器數(shù)據(jù)的互傳(3)實(shí)現(xiàn)服務(wù)
20、器與外界網(wǎng)絡(luò)的連接(4)實(shí)現(xiàn)單板之間的zigbee組網(wǎng)2.2 系統(tǒng)硬件需求分析嵌入式系統(tǒng)開(kāi)發(fā)與硬件平臺(tái)緊密相連,沒(méi)有硬件支持的嵌入式平臺(tái)是不完整的。良好的硬件平臺(tái)也為嵌入式系統(tǒng)應(yīng)用軟件的開(kāi)發(fā)提供了許多便利。選擇合適的硬件平臺(tái)是一項(xiàng)復(fù)雜的工作。同時(shí)對(duì)傳感器的選擇也是非常重要的,我們采用的溫濕度傳感器是DHT11 數(shù)字溫濕度傳感器9,采集光亮強(qiáng)度的傳感器是ISL29003傳感器。根據(jù)此系統(tǒng)的需求分析,選擇的硬件平臺(tái)是ARM920T核10的S3C2440A處理器、RAM控制器、NAND Flash控制器。根據(jù)設(shè)計(jì)的要求進(jìn)行相關(guān)配置和擴(kuò)展,硬件平臺(tái)配置了8位256MB 的NAND Flash和32位6
21、4MB 的SDRAM,通過(guò)以太網(wǎng)控制器芯片DM9000擴(kuò)展了一個(gè)網(wǎng)口,另外需要一塊集成各類傳感模塊的單板,其最少集成了溫濕度傳感器,光感傳感器。根據(jù)系統(tǒng)的需求,路由單板負(fù)責(zé)接收節(jié)點(diǎn)單板的數(shù)據(jù),接收的方式是利用無(wú)線傳輸方式。由于本系統(tǒng)是模擬智能家電系統(tǒng),所以需要一種近距離、低復(fù)雜度、低功耗、低速率、低成本的雙向無(wú)線通訊技術(shù)。經(jīng)過(guò)分析,本系統(tǒng)選擇zigbee無(wú)線傳輸技術(shù)。系統(tǒng)采用的是zigbee無(wú)線組網(wǎng)11方式,使用的zigbee模塊是周立功代理的ZICM2410 模塊,它是集成了CPU的單片zigbee芯片,為 ZigBee網(wǎng)絡(luò)提供一個(gè)高性能,低成本的射頻收發(fā)方案。2.3 系統(tǒng)軟件需求分析軟件平
22、臺(tái)主要是uboot、嵌入式操作系統(tǒng)、嵌入式文件系統(tǒng)12以及BOA服務(wù)器。2.3.1 引導(dǎo)程序uboot是在操作系統(tǒng)內(nèi)核運(yùn)行之前運(yùn)行的一段小程序。通過(guò)這段小程序,可以初始化硬件設(shè)備、建立內(nèi)存空間的映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適的狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備好正確的環(huán)境。本系統(tǒng)所用的是u-boot-1.1.6版本,在網(wǎng)上下載源代碼通過(guò)編譯燒寫到s3c2440的nandflash中。2.3.2 嵌入式操作系統(tǒng)嵌入式操作系統(tǒng)是嵌入式系統(tǒng)極為重要的組成部分。它提高了系統(tǒng)的可靠性、提高了開(kāi)發(fā)效率,縮短了開(kāi)發(fā)周期、充分發(fā)揮了32位CPU的多任務(wù)潛力。嵌入式操作系統(tǒng)的選擇主要考慮其可移植性
23、、可利用資源、系統(tǒng)定制能力和成本。綜合對(duì)比了幾種嵌入式操作系統(tǒng),本系統(tǒng)選擇了嵌入式Linux操作系統(tǒng),它與其它嵌入式操作系統(tǒng)相比,Linux有以下特點(diǎn):(1)Linux系統(tǒng)是層次結(jié)構(gòu)且內(nèi)核完全開(kāi)放。Linux是由很多體積小且性能高的微內(nèi)核系統(tǒng)組成。(2)強(qiáng)大的網(wǎng)絡(luò)支持功能。(3)Linux具備一整套工具鏈,容易自行建立嵌入式系統(tǒng)的開(kāi)發(fā)環(huán)境和交叉運(yùn)行環(huán)境,可以跨越嵌入式系統(tǒng)開(kāi)發(fā)中仿真工具的障礙。(4)Linux具有廣泛的硬件支持特性。無(wú)論是RISC還是CISC、32位還是64位等各種處理器,Linux都能運(yùn)行。(5)Linux有裝載和卸載程序的能力,所有應(yīng)用程序以文件的形式被存放在閃存文件系統(tǒng)中
24、并在必要的時(shí)候被裝載到內(nèi)存中,以節(jié)省RAM。(6)Linux移植到新的微處理器體系非常快捷,一般是將其移植到一種新型的目標(biāo)板,其中包含有獨(dú)特的外設(shè)。2.3.3 嵌入式文件系統(tǒng)根據(jù)上面的分析本系統(tǒng)選擇了Linux作為嵌入式操作系統(tǒng),其支持多種文件系統(tǒng),包括ext2、ext3、vfat、ntfs、iso9660、jffs、romfs和nfs等,為了對(duì)各類文件系統(tǒng)進(jìn)行統(tǒng)一管理,Linux引入了虛擬文件系統(tǒng)VFS,為各類文件系統(tǒng)提供一個(gè)統(tǒng)一的操作界面和應(yīng)用編程接口。 不同的文件系統(tǒng)類型有不同的特點(diǎn),因而根據(jù)存儲(chǔ)設(shè)備的硬件特性、系統(tǒng)需求等有不同的應(yīng)用場(chǎng)合。在嵌入式Linux應(yīng)用中,主要的存儲(chǔ)設(shè)備為RAM
25、和ROM,常用的基于存儲(chǔ)設(shè)備的文件系統(tǒng)類型包括:jffs2, yaffs, cramfs, romfs, ramdisk, ramfs/tmpfs等。綜合考慮了各種文件系統(tǒng)的特點(diǎn),本文選擇了cramfs和yaffs作為本系統(tǒng)的文件系統(tǒng),其有如下特點(diǎn):(1)CRAMFS文件以其只可讀的性質(zhì)非常適合用于作為根文件系統(tǒng)的可讀分區(qū),使其有更高的安全性。(2)YAFFS文件系統(tǒng)類似于JFFS/JFFS2,是專門為NAND閃存設(shè)計(jì)的嵌入式文件系統(tǒng),適用于大容量的存儲(chǔ)設(shè)備。它是日志結(jié)構(gòu)的文件系統(tǒng),提供了損耗平衡和掉電保護(hù),可以有效地避免意外掉電對(duì)文件系統(tǒng)一致性和完整性的影響。(3)YAFFS文件系統(tǒng)是按層次
26、結(jié)構(gòu)設(shè)計(jì)的,分為文件系統(tǒng)管理層接口13、YAFFS內(nèi)部實(shí)現(xiàn)層和NAND接口層,這樣就簡(jiǎn)化了其與系統(tǒng)的接口設(shè)計(jì),可以方便地集成到系統(tǒng)中去。與JFFS相比,它減少了一些功能,因此速度更快,占用內(nèi)存更少。(4)YAFFS采用一種多策略混合的垃圾回收算法,結(jié)合了貪心策略的高效性和隨機(jī)選擇的平均性,達(dá)到了兼顧損耗平均和系統(tǒng)開(kāi)銷的目的。2.3.4 BOA服務(wù)器根據(jù)系統(tǒng)需求,服務(wù)器最終需要把采集到的數(shù)據(jù)通過(guò)網(wǎng)絡(luò)發(fā)送出去,使得遠(yuǎn)程客戶端可以通過(guò)網(wǎng)頁(yè)實(shí)時(shí)的監(jiān)控被控端信息。為了實(shí)現(xiàn)這一目標(biāo),本系統(tǒng)采用的是一個(gè)小型的web服務(wù)器14,即BOA服務(wù)器。本系統(tǒng)選用BOA服務(wù)器的主要原因是BOA服務(wù)器是一種非常小巧的We
27、b服務(wù)器,其可執(zhí)行代碼只有大約60KB左右。作為一種單任務(wù)Web服務(wù)器,雖然BOA只能依次完成用戶的請(qǐng)求,而不會(huì)fork出新的進(jìn)程來(lái)處理并發(fā)連接請(qǐng)求,但BOA支持CGI15,能夠?yàn)镃GI程序fork出一個(gè)進(jìn)程來(lái)執(zhí)行。因此當(dāng)遠(yuǎn)程客戶在點(diǎn)擊網(wǎng)頁(yè)按鈕時(shí),BOA支持的CGI就會(huì)執(zhí)行,從而達(dá)到客戶控制遠(yuǎn)程端的目的。Boa的設(shè)計(jì)目標(biāo)是速度和安全。2.4 本章小結(jié) 在這一章,主要做的工作就是進(jìn)行系統(tǒng)需求分析,這一章在整個(gè)系統(tǒng)開(kāi)發(fā)上起到了至關(guān)重要的作用,可以說(shuō)是一個(gè)關(guān)鍵環(huán)節(jié),這一章的分析調(diào)查結(jié)果直接指導(dǎo)以后的系統(tǒng)開(kāi)發(fā)的工作,也直接關(guān)系著整個(gè)系統(tǒng)完成后的功能情況。在進(jìn)行系統(tǒng)需求時(shí),查閱了大量關(guān)于硬件和嵌入式操作
28、系統(tǒng)方面的知識(shí),綜合各方面的因素,最終確定了選用的硬件平臺(tái)和嵌入式操作系統(tǒng)。并且還查閱了目前市場(chǎng)上的嵌入式物聯(lián)網(wǎng)應(yīng)用系統(tǒng),綜合比較了各個(gè)系統(tǒng)之間的優(yōu)點(diǎn)和不足,最終確定了系統(tǒng)的功能。3 系統(tǒng)設(shè)計(jì)進(jìn)入了系統(tǒng)設(shè)計(jì)階段,要把軟件“做什么”的的問(wèn)題變換成“怎么做”的問(wèn)題。要將需求分析階段生成后的文件將進(jìn)一步的分析和精化。描述軟件的總體體系結(jié)構(gòu),稱為軟件概要設(shè)計(jì)。然后對(duì)結(jié)構(gòu)進(jìn)一步細(xì)化,稱為詳細(xì)設(shè)計(jì)。本章主要介紹系統(tǒng)概要設(shè)計(jì)和系統(tǒng)詳細(xì)設(shè)計(jì)。3.1軟件的運(yùn)行環(huán)境為了保證系統(tǒng)運(yùn)行的可靠性,對(duì)于軟件的運(yùn)行環(huán)境具有一定的要求。軟件的運(yùn)行環(huán)境分為硬件環(huán)境和軟件環(huán)境。(1)服務(wù)器端硬件配置 PC機(jī) 處理器:基于ARM9
29、20T內(nèi)核的S3C2440A處理器 內(nèi)存: 64MB以上 Mini2440開(kāi)發(fā)板集成各類傳感器模塊的單板LPC1114ZICM2410無(wú)線傳輸模塊USB線,網(wǎng)線(2)客戶端硬件配置 處理器:PIII以上計(jì)算機(jī) 內(nèi)存: 256MB以上 顯示器:17#彩顯(3)軟件環(huán)境 Ubuntu10.10操作系統(tǒng) Windows 98/2000/XP操作系統(tǒng)(可選) 嵌入式Linux開(kāi)發(fā)環(huán)境 Zigbee無(wú)線模塊測(cè)試軟件3.2系統(tǒng)概要設(shè)計(jì)軟件總體結(jié)構(gòu)的設(shè)計(jì)是概要設(shè)計(jì)關(guān)鍵的一步,直接影響到詳細(xì)設(shè)計(jì)與編碼的工作。所以要采用一定的設(shè)計(jì)方法,選取合理的設(shè)計(jì)方案。3.2.1 系統(tǒng)功能說(shuō)明根據(jù)系統(tǒng)的需求分析,系統(tǒng)運(yùn)行在前
30、后臺(tái)的不同有不同的功能模塊。我們總共有三個(gè)功能模塊,在數(shù)據(jù)源單板端,主要是實(shí)現(xiàn)數(shù)據(jù)的采集、打包和發(fā)送,同時(shí)不斷的解析來(lái)自服務(wù)器端的命令。在服務(wù)器端,主要實(shí)現(xiàn)一個(gè)相當(dāng)于家電服務(wù)器功能的功能模塊,負(fù)責(zé)對(duì)單板進(jìn)行命令發(fā)送和解析來(lái)自數(shù)據(jù)源端的數(shù)據(jù)。還有遠(yuǎn)程客戶端,主要是實(shí)現(xiàn)人機(jī)交互。綜上所述,本系統(tǒng)有以下功能:(1)用戶通過(guò)網(wǎng)頁(yè)實(shí)時(shí)查看被控區(qū)的溫濕度、光亮強(qiáng)度以及LED燈和風(fēng)扇狀態(tài)。(2)用戶可以直接操作LED燈、風(fēng)扇和蜂鳴器,比如打開(kāi)和關(guān)閉。(3)實(shí)現(xiàn)自動(dòng)控制功能。3.2.2 系統(tǒng)總體功能結(jié)構(gòu)系統(tǒng)總體結(jié)構(gòu)功能圖如圖3-1所示。圖3-1 系統(tǒng)總體功能圖由圖3-1可知,本系統(tǒng)結(jié)構(gòu)主要分為三個(gè)大的層次。分
31、別是遠(yuǎn)程客戶端,服務(wù)器端以及數(shù)據(jù)源端,也就是對(duì)物聯(lián)網(wǎng)中的感知層,網(wǎng)絡(luò)層和應(yīng)用層的實(shí)例化。即數(shù)據(jù)源端來(lái)自于感知層,服務(wù)器端從感知層獲得數(shù)據(jù)后通過(guò)網(wǎng)絡(luò)層把數(shù)據(jù)傳送至遠(yuǎn)程客戶端。遠(yuǎn)程客戶端就可以通過(guò)網(wǎng)絡(luò)進(jìn)行實(shí)時(shí)查看。在數(shù)據(jù)源端,主要是由各類模塊傳感器實(shí)現(xiàn),模塊傳感器顧名思義就相當(dāng)于生物對(duì)外界環(huán)境的相關(guān)反映一樣。可以感知外界環(huán)境的變化,并轉(zhuǎn)化為相應(yīng)的數(shù)據(jù)。然后傳輸給家電服務(wù)器。家電服務(wù)器在接收數(shù)據(jù)后就可以根據(jù)數(shù)據(jù)做出相應(yīng)的反映。在服務(wù)器端,主要是由開(kāi)發(fā)板s3c2440實(shí)現(xiàn),其主要的功能是根據(jù)要求不斷的從數(shù)據(jù)源端獲得外界數(shù)據(jù),然后對(duì)數(shù)據(jù)進(jìn)行處理,并根據(jù)數(shù)據(jù)對(duì)相應(yīng)的家電設(shè)備發(fā)出相關(guān)命令,同時(shí)服務(wù)器端還要響
32、應(yīng)來(lái)自網(wǎng)絡(luò)上的連接,當(dāng)網(wǎng)絡(luò)上有請(qǐng)求連接時(shí),服務(wù)器就要響應(yīng)連接,并實(shí)時(shí)的更新網(wǎng)頁(yè)的數(shù)據(jù),同時(shí)接收來(lái)自網(wǎng)絡(luò)的命令,最后做出相應(yīng)的處理。本系統(tǒng)中服務(wù)器主要由家電服務(wù)程序和小型web服務(wù)器型的boa服務(wù)器組成。在遠(yuǎn)程客戶端,遠(yuǎn)程客戶端主要是主動(dòng)去連接服務(wù)器,然后可以實(shí)時(shí)觀察遠(yuǎn)程的環(huán)境參數(shù),同時(shí)可以根據(jù)環(huán)境參數(shù)的變化對(duì)遠(yuǎn)程的家電設(shè)備進(jìn)行監(jiān)控。當(dāng)然,用戶也可以通過(guò)網(wǎng)頁(yè)對(duì)遠(yuǎn)程端設(shè)備設(shè)置自動(dòng)控制命令。在圖3-1中,遠(yuǎn)程客戶端與服務(wù)器端是通過(guò)互聯(lián)網(wǎng)連接,因此客戶端可以在世界的任何角落都能通過(guò)互聯(lián)網(wǎng)來(lái)監(jiān)控特定的區(qū)域,這就使得我們的監(jiān)控非常具有靈活性。服務(wù)器端與數(shù)據(jù)源是通過(guò)串口實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)摹T跀?shù)據(jù)源端,我們有一個(gè)
33、以上的單板,因此,我們?cè)跀?shù)據(jù)源端設(shè)有一快路由單板,其負(fù)責(zé)收集所有單板的數(shù)據(jù),然后通過(guò)串口把數(shù)據(jù)傳送至服務(wù)器。當(dāng)然,當(dāng)我們的服務(wù)器要給某一塊單板發(fā)送命令時(shí),也是把命令先發(fā)送至路由單板,然后由路由單板把命令發(fā)送給各個(gè)單板。各個(gè)單板在收集到命令進(jìn)行解析,如果是自己的命令就執(zhí)行,否則丟棄。而在整個(gè)鏈路過(guò)程中,最重要的就是路由單板與個(gè)單板節(jié)點(diǎn)的數(shù)據(jù)通信,我們是利用zigbee組網(wǎng)來(lái)實(shí)現(xiàn)路由單板與各單板節(jié)點(diǎn)的數(shù)據(jù)通信的。ZigBee技術(shù)是一種近距離、低復(fù)雜度、低功耗、低速率、低成本的雙向無(wú)線通訊技術(shù)。主要用于距離短、功耗低且傳輸速率不高的各種電子設(shè)備之間進(jìn)行數(shù)據(jù)傳輸以及典型的有周期性數(shù)據(jù)、間歇性數(shù)據(jù)和低反
34、應(yīng)時(shí)間數(shù)據(jù)傳輸?shù)膽?yīng)用。在zigbee組網(wǎng)過(guò)程中,難點(diǎn)是對(duì)數(shù)據(jù)包的定義,同時(shí)要解決數(shù)據(jù)在傳輸過(guò)程中失真或丟失的問(wèn)題,還有就是如何給每個(gè)單板節(jié)點(diǎn)數(shù)據(jù)加上各自獨(dú)一的標(biāo)簽。3.2.3 系統(tǒng)控制流設(shè)計(jì)通過(guò)對(duì)系統(tǒng)的分析,系統(tǒng)實(shí)現(xiàn)用戶通過(guò)網(wǎng)絡(luò)上PC機(jī)的瀏覽器來(lái)登入到服務(wù)器,通過(guò)網(wǎng)頁(yè)來(lái)實(shí)時(shí)的查看和監(jiān)控被控區(qū)域的溫濕度、光亮強(qiáng)度以及控制模擬的家電設(shè)備。具體的系統(tǒng)控制流程圖如圖3-2所示。圖3-2 系統(tǒng)控制流如圖3-2中,可以非常直觀的顯示該系統(tǒng)所設(shè)計(jì)的功能流程和其功能實(shí)現(xiàn)。從何圖中我們可以更直觀的看到數(shù)據(jù)源不斷的采集數(shù)據(jù)并接收來(lái)自服務(wù)器端的命令,服務(wù)器端則響應(yīng)來(lái)自網(wǎng)絡(luò)的請(qǐng)求與下層進(jìn)行交流。從圖可知,用戶可以在遠(yuǎn)
35、程端通過(guò)網(wǎng)絡(luò)連接到我們的服務(wù)器,然后服務(wù)器接到請(qǐng)求后給用戶發(fā)送一個(gè)網(wǎng)頁(yè),則用戶可以通過(guò)網(wǎng)頁(yè)直觀的查看各類環(huán)境參數(shù)。并按照自己的意愿對(duì)遠(yuǎn)程的家電設(shè)備進(jìn)行監(jiān)控。通過(guò)對(duì)系統(tǒng)的分析,在整個(gè)系統(tǒng)中,關(guān)鍵的是如何數(shù)據(jù)的傳輸,本系統(tǒng)中涉及了有線傳輸和無(wú)線傳輸,有線傳輸是給遠(yuǎn)程網(wǎng)絡(luò)的用戶提供服務(wù),無(wú)線傳輸主要是路由對(duì)節(jié)點(diǎn)數(shù)據(jù)的收集。3.3 系統(tǒng)詳細(xì)設(shè)計(jì)在系統(tǒng)的概要設(shè)計(jì)中,已將系統(tǒng)劃分為多個(gè)模塊,并將它們按照一定的原則進(jìn)行組裝,同時(shí)確定了每個(gè)模塊的功能。詳細(xì)設(shè)計(jì)是系統(tǒng)設(shè)計(jì)的第二階段,主要確定每個(gè)模塊的具體執(zhí)行過(guò)程。3.3.1 數(shù)據(jù)源端功能設(shè)計(jì)通過(guò)對(duì)數(shù)據(jù)源端功能的分析,數(shù)據(jù)是由多個(gè)節(jié)點(diǎn)提供。節(jié)點(diǎn)提供給路由端相同的
36、數(shù)據(jù)類型。數(shù)據(jù)源端節(jié)點(diǎn)數(shù)據(jù)的采集是通過(guò)zigbee無(wú)線傳輸方式,路由節(jié)點(diǎn)的流程圖如圖3-3所示。圖3-3路由節(jié)點(diǎn)流程圖普通節(jié)點(diǎn)數(shù)據(jù)流程圖如圖3-4所示。圖3-4 普通節(jié)點(diǎn)流程圖圖3-3中,在該數(shù)據(jù)源端,即單板LPC1114,在本系統(tǒng)中該模塊有三個(gè)作用,其一是采集本身相關(guān)的傳感模塊的數(shù)據(jù),其二是直接與服務(wù)器建立有線連接,該模塊可以接收服務(wù)器的命令,同時(shí)不斷地給服務(wù)器發(fā)送數(shù)據(jù)。其三是與其他節(jié)點(diǎn)建立無(wú)線連接,接收其他節(jié)點(diǎn)的數(shù)據(jù),同時(shí)給其他節(jié)點(diǎn)發(fā)送命令。即該模塊除具備普通節(jié)點(diǎn)的采集數(shù)據(jù)的功能外,還具備了路由的功能,所以可以稱為路由節(jié)點(diǎn)。圖3-4中,在該此數(shù)據(jù)源端中,其主要是與路由節(jié)點(diǎn)建立無(wú)線連接,當(dāng)接
37、收到路由節(jié)點(diǎn)的命令后進(jìn)行解析,然后響應(yīng),如果接收的命令是采集數(shù)據(jù)命令,則采集本身數(shù)據(jù),然后發(fā)送給路由節(jié)點(diǎn)。所以本節(jié)點(diǎn)只有簡(jiǎn)單的與路由節(jié)點(diǎn)連接,故稱為普通節(jié)點(diǎn)。如果把路由路節(jié)點(diǎn)和普通節(jié)點(diǎn)看作一個(gè)整體,即數(shù)據(jù)源端的數(shù)據(jù)節(jié)點(diǎn)的話,其主要有以下的功能。()采集各類傳感器數(shù)據(jù),并按照相應(yīng)的格式打包。()接收來(lái)自服務(wù)器端的命令。()發(fā)送數(shù)據(jù)。3.3.2 數(shù)據(jù)源端zigbee組網(wǎng)設(shè)計(jì)通過(guò)對(duì)數(shù)據(jù)源端多節(jié)點(diǎn)數(shù)據(jù)傳輸方式的分析,系統(tǒng)采用zigbee無(wú)線組網(wǎng)方式,zigbee無(wú)線組網(wǎng)方式拓?fù)浣Y(jié)構(gòu)如圖3-5所示。圖3-5 zigbee拓?fù)浣Y(jié)構(gòu)從圖3-5 zigbee拓?fù)浣Y(jié)構(gòu)圖中可知,路由單板是根據(jù)各單板節(jié)點(diǎn)的ID號(hào)來(lái)
38、區(qū)別各個(gè)單板節(jié)點(diǎn)的。所以單板節(jié)點(diǎn)在定義數(shù)據(jù)包時(shí)要在數(shù)據(jù)包的頭部增加自身的ID號(hào),這樣路由單板在接收到數(shù)據(jù)包后只要解析數(shù)據(jù)頭部的ID就可以區(qū)分接收的數(shù)據(jù)包是哪塊單板發(fā)送的。當(dāng)路由單板在給某個(gè)單板節(jié)點(diǎn)發(fā)送命令時(shí),也是只要在命令的頭部加上要控制的單板節(jié)點(diǎn)的ID號(hào)。所有單板節(jié)點(diǎn)在接收到數(shù)據(jù)后,解析數(shù)據(jù)頭部ID號(hào),如果解析的ID號(hào)與自己ID號(hào)相符則執(zhí)行該命令,如果解析的ID號(hào)與自己的不相符則丟棄該命令。新節(jié)點(diǎn)的加入如圖3-6所示。圖3-6 新節(jié)點(diǎn)加入圖新節(jié)點(diǎn)加入的詳細(xì)流程圖如圖3-7所示。圖3-7 新節(jié)點(diǎn)加入流程圖從圖3-7可以很直觀的了解到新節(jié)點(diǎn)動(dòng)態(tài)加入的流程。設(shè)計(jì)這一功能的優(yōu)點(diǎn)是增加系統(tǒng)的實(shí)用性與擴(kuò)
39、展性。這樣,系統(tǒng)的適用能力更強(qiáng),可以自動(dòng)識(shí)別新節(jié)點(diǎn)和舊節(jié)點(diǎn),這一設(shè)計(jì)使得系統(tǒng)可以在節(jié)點(diǎn)流動(dòng)性大的區(qū)域可靠的使用。新節(jié)點(diǎn)加入過(guò)程中,3.3.3 系統(tǒng)服務(wù)器端各功能設(shè)計(jì)通過(guò)對(duì)系統(tǒng)整體分析得知,系統(tǒng)服務(wù)器承載著大部分的數(shù)據(jù)處理,單板只負(fù)責(zé)簡(jiǎn)單的命令執(zhí)行。根據(jù)這一設(shè)計(jì)思想,系統(tǒng)設(shè)計(jì)出了圖3-8所示的系統(tǒng)流程圖,該圖主要描述了服務(wù)器端的數(shù)據(jù)流程,其主要是作為遠(yuǎn)程客戶端和數(shù)據(jù)源端連接的紐帶,同時(shí)處理比較復(fù)雜的工作,比如處理來(lái)自數(shù)據(jù)源的數(shù)據(jù)以及響應(yīng)來(lái)自網(wǎng)絡(luò)的遠(yuǎn)程客戶端的連接。其主要有以下功能:(1)接收來(lái)自單板的數(shù)據(jù)(2)接收來(lái)自遠(yuǎn)程客戶端的命令(3)給單板發(fā)送命令系統(tǒng)服務(wù)端整體流程如圖3-8所示。圖3-8
40、服務(wù)器端流程圖3.3.4 系統(tǒng)客戶端各功能設(shè)計(jì)圖3-9 客戶端流程圖圖3-9主要描述了客戶端網(wǎng)頁(yè)的簡(jiǎn)單流程,從圖中可以看出系統(tǒng)客戶端的主要功能有以下兩點(diǎn)。(1)一個(gè)動(dòng)態(tài)網(wǎng)頁(yè),動(dòng)態(tài)顯示遠(yuǎn)程單板數(shù)據(jù)(2)實(shí)現(xiàn)相關(guān)控制按鈕3.4 本章小結(jié)系統(tǒng)設(shè)計(jì)是每個(gè)系統(tǒng)的靈魂所在,這一章分為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)兩個(gè)部分,通過(guò)對(duì)系統(tǒng)的概要設(shè)計(jì)得出來(lái)系統(tǒng)的結(jié)構(gòu)功能圖以及系統(tǒng)的控制流圖,這是整個(gè)系統(tǒng)的核心,它直接展示了系統(tǒng)的功能以及整個(gè)系統(tǒng)的控制流。在詳細(xì)設(shè)計(jì)階段,主要闡述服務(wù)器端和客戶端在各個(gè)功能上的設(shè)計(jì)過(guò)程,這個(gè)階段為系統(tǒng)的實(shí)現(xiàn)奠定了基礎(chǔ)。4 嵌入式ARM-Linux環(huán)境建立絕大多數(shù)的軟件開(kāi)發(fā)都是本機(jī)開(kāi)發(fā)、調(diào)試,本機(jī)
41、運(yùn)行的方式進(jìn)行,但是這種方式不適合于嵌入式系統(tǒng)的軟件開(kāi)發(fā),因?yàn)閷?duì)于嵌入式系統(tǒng)的開(kāi)發(fā),它沒(méi)有足夠的資源在本機(jī)運(yùn)行開(kāi)發(fā)工具和調(diào)試工具。因此在宿主機(jī)上搭建一個(gè)好的開(kāi)發(fā)環(huán)境是很關(guān)鍵的一步,它的成敗直接影響下一步的進(jìn)展。根據(jù)需求分析確定了系統(tǒng)的開(kāi)發(fā)環(huán)境是嵌入式Linux操作系統(tǒng)。4.1基于Arm-Linux系統(tǒng)的總體設(shè)計(jì)根據(jù)需求分析和嵌入式系統(tǒng)結(jié)構(gòu),得出了系統(tǒng)所需的系統(tǒng)結(jié)構(gòu)如下圖4-1所示。圖 4-1 系統(tǒng)結(jié)構(gòu)圖論文設(shè)計(jì)的嵌入式實(shí)時(shí)監(jiān)控系統(tǒng)主要分為四個(gè)層次: (1)基于S3C2440A處理器的硬件平臺(tái)。 (2)加載程序uboot,主要初始化處理器及存儲(chǔ)器等硬件設(shè)備。 (3)Arm-Linux內(nèi)核的裁剪、
42、移植,設(shè)備驅(qū)動(dòng)的加載以及文件系統(tǒng)的建立。 (4)boa服務(wù)器的移植和應(yīng)用程序的開(kāi)發(fā):包括數(shù)據(jù)采集、傳輸和網(wǎng)頁(yè)動(dòng)態(tài)顯示。根據(jù)系統(tǒng)結(jié)構(gòu)的設(shè)計(jì),將分以下三個(gè)步驟實(shí)現(xiàn),這一章只實(shí)現(xiàn)其中的前兩步,其它的部分的實(shí)現(xiàn)在后續(xù)章節(jié)展開(kāi)。實(shí)現(xiàn)步驟如下:(1)Arm-Linux交叉開(kāi)發(fā)環(huán)境的建立。(2)嵌入式Arm-Linux的裁剪和移植:其中包括啟動(dòng)加載程序U-Boot的移植、內(nèi)核的裁剪與移植、設(shè)備驅(qū)動(dòng)模塊的加載、文件系統(tǒng)的移植。(3)boa服務(wù)器移植。(4)外界環(huán)境數(shù)據(jù)的采集,傳輸。4.2 Arm-Linux交叉編譯工具鏈的建立與主流軟件開(kāi)發(fā)相同,嵌入式系統(tǒng)開(kāi)發(fā)同樣需要用到編譯器、鏈接器、解釋程序、集成開(kāi)發(fā)環(huán)境
43、以及諸如此類的開(kāi)發(fā)工具。但是在嵌入式系統(tǒng)開(kāi)發(fā)中,由于執(zhí)行應(yīng)用程序的平臺(tái)(目標(biāo)機(jī))與創(chuàng)建應(yīng)用程序的平臺(tái)(宿主機(jī))并不兼容,因此,需要交叉開(kāi)發(fā)工具進(jìn)行交叉編譯。本文采用工具鏈Arm-Linux-gcc-4.4.5創(chuàng)建Arm-Linux交叉編譯環(huán)境9。建立過(guò)程如下:(1) 以超級(jí)用戶的身份登錄Linux操作系統(tǒng),然后在/opt目錄下新建arm目錄。(2) 將工具鏈arm-linux-gcc-4.3.2.tgz復(fù)制到新建ARM目錄下,并執(zhí)行解壓。(3) 在宿主機(jī)中設(shè)置環(huán)境變量使得系統(tǒng)能自動(dòng)調(diào)用已建立好的工具,具體的設(shè)置 方法為:修改環(huán)境變量PATH的值。4.3 Linux內(nèi)核的裁剪與移植嵌入式系統(tǒng)的硬
44、件資源畢竟有限,不能直接將Linux操作系統(tǒng)作為嵌入式硬件平臺(tái)上的操作系統(tǒng),需要針對(duì)具體的應(yīng)用進(jìn)行內(nèi)核的配置和裁減,使整個(gè)系統(tǒng)能夠存放到容量較小的 Flash中。Linux的動(dòng)態(tài)模塊加載方式使 Linux的裁剪極為方便,高度模塊化使得添加和刪減非常容易。結(jié)合該系統(tǒng)在開(kāi)發(fā)中所需要的功能,Linux內(nèi)核的裁剪與移植過(guò)程中涉及到的目錄有:include/ 、arch/ 、drivers/ 、fs/。移植的過(guò)程為:(1) 在根目錄新建/tool目錄,將ARM Linux源代碼解壓至該目錄下。(2) 進(jìn)入內(nèi)核所在目錄,修改配置文件和系統(tǒng)時(shí)鐘(3) 拷貝默認(rèn)配置文件,cp arch/arm/configs
45、/s3c2410_defconfig .config(4) 編譯ARM-Linux內(nèi)核,在終端輸入:make menuconfig。將會(huì)出現(xiàn)如下界面。內(nèi)核配置如圖4-2所示。圖4-2 內(nèi)核配置圖然后對(duì)內(nèi)核進(jìn)行裁剪和配置,配置完成后在終端輸入 make uImage 開(kāi)始編譯內(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)試開(kāi)發(fā)更容易進(jìn)行,只需要將經(jīng)過(guò)交叉編譯器編譯之后生成的可執(zhí)行文件通過(guò)NFS掛載到板子上為調(diào)試做好準(zhǔn)備,避免反復(fù)的燒寫可執(zhí)行文件到FLA
46、SH中,造成時(shí)間浪費(fèi)和FlASH壽命的縮短。如圖4-3、圖4-4、圖4-5所示為最小文件系統(tǒng)的簡(jiǎn)單制作過(guò)程。配置進(jìn)入busybox-1.18.5目錄make menuconfig具體配置如圖4-3所示。圖4-3 busybox配置圖1為開(kāi)發(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)啟動(dòng)的shell文件。4.4.2 BOA服務(wù)器的移植boa 服務(wù)器是一個(gè) web 服務(wù)器,在嵌入式系統(tǒng)中使用比較
47、廣泛。同時(shí)移植簡(jiǎn)單,我們可以在網(wǎng)上下載一個(gè)BOA服務(wù)器的源碼,然后根據(jù)編譯的前面制作的文件系統(tǒng)做適當(dāng)?shù)男薷南嚓P(guān)的文件代碼,最后通過(guò)相關(guān)的命令就可以完成對(duì)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 目錄下 ,然后把虛擬機(jī)下的etc/mime.types也拷貝到該目錄下。最后把說(shuō)需網(wǎng)頁(yè)也放到該目錄下。這樣boa服務(wù)器構(gòu)建完畢!4.5 構(gòu)建嵌入式Linux目標(biāo)平臺(tái)(1
48、)燒寫uboot,我們用JTAG實(shí)現(xiàn)對(duì)mini2440的nandflash燒寫,燒寫過(guò)程這里略過(guò)。(2)燒寫內(nèi)核,內(nèi)核的燒寫我們利用uboot的命令進(jìn)行燒寫,其過(guò)程是,首先啟動(dòng)uboot,然后依次輸入以下命令。FS2410 # tftp uImageFS2410 # nand erase 60000 FS2410 # nand write 60000 FS2410 # setenv bootcmd nand read 60000 ;bootm 4.6本章小結(jié)一個(gè)好的嵌入式開(kāi)發(fā)平臺(tái)是進(jìn)行后續(xù)開(kāi)發(fā)的一個(gè)重要基礎(chǔ),它在整個(gè)嵌入式系統(tǒng)開(kāi)發(fā)的過(guò)程中起著非常重要的作用。本章主要闡述了嵌入式ARM-Linu
49、x開(kāi)發(fā)平臺(tái)的搭建。具體的介紹了交叉編譯工具鏈的建立,嵌入式Linux操作系統(tǒng)的裁剪和移植以及網(wǎng)絡(luò)文件系統(tǒng)的搭建。最后介紹了如何將uboot、內(nèi)核以及文件系統(tǒng)燒寫到目標(biāo)平臺(tái)上。5 系統(tǒng)實(shí)現(xiàn)經(jīng)過(guò)以上的分析和設(shè)計(jì),就要開(kāi)始進(jìn)行系統(tǒng)實(shí)現(xiàn)工作了,系統(tǒng)主要分為服務(wù)器端和數(shù)據(jù)源端。在實(shí)現(xiàn)的過(guò)程中,我認(rèn)為實(shí)現(xiàn)的難點(diǎn)將是數(shù)據(jù)包協(xié)議如何定義, 因?yàn)槿绻麛?shù)據(jù)包協(xié)議定義不合理,將導(dǎo)致數(shù)據(jù)無(wú)法正常發(fā)送至服務(wù)器端,或者服務(wù)器接收的數(shù)據(jù)包會(huì)造成丟失。所以在實(shí)現(xiàn)過(guò)程中我們應(yīng)該由簡(jiǎn)單到復(fù)雜,首先實(shí)現(xiàn)單個(gè)數(shù)據(jù)的發(fā)送,然后在實(shí)現(xiàn)多數(shù)據(jù)的發(fā)送。這樣才能確保項(xiàng)目能更加順利的完成。在本項(xiàng)目中,我們都是由簡(jiǎn)入難,步步為營(yíng)的思想來(lái)按計(jì)劃的完
50、成我們項(xiàng)目。先實(shí)現(xiàn)簡(jiǎn)單的框架再實(shí)現(xiàn)復(fù)雜程序的方法來(lái)完成。5.1 數(shù)據(jù)源端的實(shí)現(xiàn)(1)首先是定義好一個(gè)數(shù)據(jù)包協(xié)議,即實(shí)現(xiàn)一個(gè)數(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è)置對(duì)應(yīng)引腳(PI03_2)為輸出模式 GPIOSetValue(PORT3, 2, 0); /設(shè)置輸出為低電平 delay_ms(30);
51、 /設(shè)延時(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_counter = cnt_last); cnt_last = p3_2_counter; f
52、or(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; GPIOSetInterrupt(PORT3, 2, 0, 0, 1); while(p3_2_counter = c
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- IT技術(shù)職業(yè)規(guī)劃
- 兒科質(zhì)控醫(yī)生年終總結(jié)
- 《機(jī)電一體化系統(tǒng)設(shè)計(jì)》課件-任務(wù)5 綜合練習(xí)
- 電路的組成和連接方式課件-滬粵版物理九年級(jí)上冊(cè)
- 中醫(yī)護(hù)理的食療與藥膳應(yīng)用
- 人文地理上冊(cè) 3.4.2 現(xiàn)代化的牧場(chǎng) 課件
- 給水設(shè)施維護(hù)保養(yǎng)規(guī)范
- 腳手架材料采購(gòu)流程優(yōu)化方案
- 風(fēng)電場(chǎng)智能運(yùn)維平臺(tái)開(kāi)發(fā)方案
- 管道施工現(xiàn)場(chǎng)信號(hào)傳遞方案
- 學(xué)堂在線 雨課堂 學(xué)堂云 信息素養(yǎng)-學(xué)術(shù)研究的必修課 章節(jié)測(cè)試答案
- 市政工程施工組織資源配備計(jì)劃
- 銀行消防管理辦法
- 奧沙利鉑使用的健康宣教
- 礦山三級(jí)安全教育培訓(xùn)
- 人工耳蝸術(shù)后護(hù)理指南
- 2025至2030船用導(dǎo)航雷達(dá)行業(yè)市場(chǎng)深度研究與戰(zhàn)略咨詢分析報(bào)告
- 2025綜合安防系統(tǒng)建設(shè)與運(yùn)維手冊(cè)
- 人員離市出省管理制度
- GB/T 45698-2025物業(yè)服務(wù)客戶滿意度測(cè)評(píng)
- GB/T 16603-2025錦綸牽伸絲
評(píng)論
0/150
提交評(píng)論