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