基于Yocto Project的嵌入式應(yīng)用設(shè)計(jì)
Telematics服務(wù)功能如下:
①衛(wèi)星定位:通過(guò)GPS配合路線資訊,作路況報(bào)道與路線指引;
②道路救援:行車(chē)過(guò)程中,假使發(fā)生車(chē)禍或故障意外,通過(guò)按鍵自動(dòng)聯(lián)系救援;
③汽車(chē)防竊:通過(guò)衛(wèi)星定位提供失竊車(chē)輛的搜尋與追蹤,并短信通知車(chē)主;
④自動(dòng)防撞系統(tǒng):通過(guò)傳感器或雷達(dá),感應(yīng)車(chē)與車(chē)間的安全行駛距離;
⑤車(chē)況掌握:車(chē)輛性能與車(chē)況的自動(dòng)偵測(cè)、維修診斷等;
⑥個(gè)人化資訊接收:收發(fā)電子郵件與個(gè)人化資訊等;
⑦多媒體娛樂(lè)資訊:高畫(huà)質(zhì)與高音質(zhì)的視聽(tīng)設(shè)備、游戲機(jī)、上網(wǎng)機(jī)、個(gè)人資訊中心隨選視訊等。
⑧拖車(chē)追蹤:是一種追蹤通過(guò)安裝在拖車(chē)的翼卡車(chē)聯(lián)網(wǎng)和移動(dòng)通信網(wǎng)絡(luò)或衛(wèi)星通信定位數(shù)據(jù)的技術(shù)。
⑨緊急救援:車(chē)主在行車(chē)過(guò)程中如遇到車(chē)輛缺油、缺水、故障等現(xiàn)象,可通過(guò)按下緊急按鈕向服務(wù)中心進(jìn)行求救。
根據(jù)智能車(chē)載系統(tǒng)的功能需求,把車(chē)載系統(tǒng)的硬件結(jié)構(gòu)以模塊的形式實(shí)現(xiàn),智能車(chē)載系統(tǒng)硬件結(jié)構(gòu)框圖如圖2所示。本文引用地址:http://www.ex-cimer.com/article/147998.htm
要實(shí)現(xiàn)衛(wèi)星定位和道路緊急救援,需要通過(guò)GPS模塊作路況報(bào)導(dǎo)與路線指引,道路救援和汽車(chē)防竊需要GSM/GPRS模塊來(lái)通知車(chē)主和收發(fā)信息。多媒體娛樂(lè)資訊的用戶(hù)交互需要液晶觸摸屏和揚(yáng)聲器來(lái)實(shí)現(xiàn),數(shù)據(jù)交互功能采用SD卡/USB存儲(chǔ)。攝像頭監(jiān)控車(chē)內(nèi)外實(shí)時(shí)的情
況,智能車(chē)載系統(tǒng)還需要加速度傳感器來(lái)測(cè)量加速度。
4 智能車(chē)載系統(tǒng)軟件設(shè)計(jì)和實(shí)現(xiàn)過(guò)程
采用Yocto project來(lái)定制智能車(chē)載系統(tǒng)的軟件功能模塊,如圖3所示。智能車(chē)載系統(tǒng)的軟件主要實(shí)現(xiàn)GPS模塊、顯示模塊、控制模塊、通信模塊和娛樂(lè)模塊等的功能等。
4.1 定制智能車(chē)載系統(tǒng)平臺(tái)
在Yocto Project中,現(xiàn)有的元數(shù)據(jù)以功能集合來(lái)劃分,通過(guò)Profile來(lái)定義用戶(hù)所需要的集合,智能車(chē)載系統(tǒng)需要的功能有Wi—Fi、GPS、GPRS、USB、setial、keyboard、touchscreen等,所以只需要在Profile文件中修改目錄:DISRO_FEATURES=”alsa ext2 touchscreen wifi usb serial keyboard…”
4.2 智能車(chē)載系統(tǒng)中添加一個(gè)新的項(xiàng)目
添加一個(gè)新項(xiàng)目只需要3行元數(shù)據(jù),需要指定依賴(lài)關(guān)系、指定源代碼地址、繼承類(lèi),然后會(huì)根據(jù)繼承的Yocto Project類(lèi)來(lái)自動(dòng)生成所需要的構(gòu)建任務(wù)。
首先,要將源代碼從網(wǎng)上下載。bitbake通過(guò)SRC_URI變量知道到哪里去下載源碼。把需要的源代碼地址指定:
SRC_URI=http://sourceforge.net/project/
4.3 定制實(shí)現(xiàn)過(guò)程
在Linux下安裝好需要的包之后創(chuàng)建鏡像:
$ wget http://www.yoctoprojlect.org/downloads/poky/poky-bernard-5.0.1.tar.bz2
$tar xjf poky-bernard-5.0.1.tar.bz2
$ source poky-betnard-5.0.1/poky-init-build-env poky-5.0.1build
用bitbak定制系統(tǒng):
$bitbake-k poky-image-sato
使用模擬器,模擬器中用戶(hù)可使用終端:
$pokyr-qemu qemux86
定制過(guò)程完成,用戶(hù)可以定位車(chē)載、收發(fā)信息,并實(shí)時(shí)監(jiān)控車(chē)內(nèi)外情況以及享受聽(tīng)歌、播放視頻、上網(wǎng)等智能車(chē)載系統(tǒng)功能。
結(jié)語(yǔ)
采用Yocto Project構(gòu)建的智能車(chē)載系統(tǒng),實(shí)現(xiàn)了智能車(chē)載的信息定位、信息收發(fā)、數(shù)據(jù)交互、實(shí)時(shí)監(jiān)控、用戶(hù)交互,以及多媒體娛樂(lè)功能,構(gòu)建過(guò)程靈活簡(jiǎn)單。構(gòu)建一個(gè)嵌入式Linux系統(tǒng)需要構(gòu)建引導(dǎo)模塊、內(nèi)核和文件系統(tǒng)。這是一個(gè)相當(dāng)復(fù)雜的過(guò)程,特別是文件系統(tǒng)的構(gòu)建。Yocto Project就是為了簡(jiǎn)化嵌入式系統(tǒng)的構(gòu)建過(guò)程而設(shè)計(jì)。由以上設(shè)計(jì)可以看出,Yocto Project提供足夠的靈活性,定制化非常簡(jiǎn)單,當(dāng)用戶(hù)不需要應(yīng)用程序的可移植性,并且用戶(hù)的嵌入式設(shè)備需要深度定制化時(shí),使用Yocto Prcject最為省時(shí)省力。
linux操作系統(tǒng)文章專(zhuān)題:linux操作系統(tǒng)詳解(linux不再難懂)
linux操作系統(tǒng)文章專(zhuān)題:linux操作系統(tǒng)詳解(linux不再難懂)萬(wàn)能遙控器相關(guān)文章:萬(wàn)能遙控器代碼
linux相關(guān)文章:linux教程
評(píng)論