日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 物聯(lián)網(wǎng) > 《物聯(lián)網(wǎng)技術(shù)》雜志
[導(dǎo)讀]摘要:針對傳統(tǒng)車載多媒體廣告機(jī)的局限性,提出了一種基于嵌入式Liunx與Qt/Embedded的車載多媒體廣告機(jī)的設(shè)計(jì)方案。該方案采用以ARM處理器S3C6410為核心的硬件平臺和以嵌入式Linux系統(tǒng)為核心的軟件平臺,并在此基礎(chǔ)上采用開放源代碼的圖形界面庫Qt開發(fā)廣告機(jī)界面,同時利用開源播放軟件MPlayer作為播放器。經(jīng)實(shí)驗(yàn)驗(yàn)證,該多媒體廣告機(jī)具有成本較低、界面友好、反應(yīng)靈敏等特點(diǎn),并在跨平臺性、可擴(kuò)展性等方面比傳統(tǒng)方案有顯著改善。

引言

隨著科學(xué)技術(shù)的發(fā)展,越來越多的多媒體廣告機(jī)出現(xiàn)在出租車中。現(xiàn)有的出租車廣告機(jī)大多采用移動數(shù)字電視和數(shù)字存儲播放兩種方式。移動數(shù)字電視只能應(yīng)用在存在數(shù)字電視信號的地區(qū),在無信號或信號較弱的地區(qū)則無法播放,對于廣告的播出時段、播出內(nèi)容需要和廣電系統(tǒng)合作協(xié)商,導(dǎo)致效率低、成本高,而且播出的節(jié)目不能點(diǎn)播;數(shù)字存儲播放的方式需要將節(jié)目內(nèi)容先期進(jìn)行制作,然后將節(jié)目內(nèi)容刻錄成光盤或者存儲于播放設(shè)備的存儲器中,這種方式目前存在的缺點(diǎn)是節(jié)目更新較為困難、時效性較差,而且存在軟硬件成本較高的問題%

針對現(xiàn)有的車載廣告機(jī)存在的不足,本文提出了一種新型的車載多媒體廣告機(jī)的設(shè)計(jì)方案。采用嵌入式Linux系統(tǒng)和ARM處理器S3C6410分別構(gòu)建多媒體廣告機(jī)的軟硬件平臺,在此基礎(chǔ)上采用開放源代碼的圖形界面庫Qt/E設(shè)計(jì)廣告機(jī)的程序界面,在Qt設(shè)計(jì)的界面上顯示多媒體播放器MPlayer播放的視頻,結(jié)合FrameBuffer在視頻的上方和下方分別顯示Log。和字幕,最終完成應(yīng)用程序的開發(fā)。

1系統(tǒng)總體設(shè)計(jì)

車載廣告機(jī)的基本設(shè)計(jì)思想是在基于ARM的嵌入式平臺上完成多媒體文件的存儲、解析和處理,控制LCD模塊和音頻模塊完成多媒體廣告的播放,并采用Wi-Fi無線網(wǎng)絡(luò)完成多媒體廣告機(jī)系統(tǒng)中視頻文件的智能下載更新?;谇度胧杰?、硬件環(huán)境,車載廣告機(jī)系統(tǒng)的整體結(jié)構(gòu)如圖1所示:

基于嵌入式Linux的車載多媒體廣告機(jī)設(shè)計(jì)

2系統(tǒng)硬件設(shè)計(jì)

車載廣告機(jī)系統(tǒng)的硬件結(jié)構(gòu)圖如圖2所示。系統(tǒng)的核心處理器采用基于ARM1176JZF-S核的S3C6410芯片,其主頻最高可達(dá)到667MHz,內(nèi)部集成了強(qiáng)大的多媒體處理單元,帶有3D圖形硬件加速器,并支持2D圖形圖像的平滑縮放等操作,有利于為用戶提供高靈敏度的汽車狀態(tài)動態(tài)顯示;外接16GB的SD卡和2GBNANDFLASH,為多媒體文件的本地存儲提供了充足的硬件環(huán)境;顯示接口采用8寸TFT液晶顯示屏,處理器內(nèi)部集成的LCD控制器信號線經(jīng)過驅(qū)動電路后即可連接LCD模塊,為多媒體廣告的顯示提供了硬件平臺;外接觸摸屏,用戶可根據(jù)需要自主選擇喜愛的節(jié)目;外接音頻編解碼芯片CS42L50,為多媒體播放提供音頻支持;外接基于Marvell8686芯片的SDWi-Fi模塊,使廣告機(jī)終端能夠接入無線網(wǎng)絡(luò),連接到遠(yuǎn)端服務(wù)器,完成系統(tǒng)所需多媒體文件的智能下載更新。

基于嵌入式Linux的車載多媒體廣告機(jī)設(shè)計(jì)

3系統(tǒng)軟件設(shè)計(jì)

車載廣告機(jī)的軟件設(shè)計(jì)主要是開發(fā)基于嵌入式Linux系統(tǒng)的客戶端應(yīng)用程序。本系統(tǒng)采用嵌入式Linux作為操作系統(tǒng),在Linux平臺下編寫廣告機(jī)的驅(qū)動程序;利用Qt/Embedded作為圖形界面解決方案實(shí)現(xiàn)廣告機(jī)的圖形界面,在此界面上顯示Mplayer播放器播放的視頻。

該系統(tǒng)軟件的開發(fā)主要有4個內(nèi)容:開發(fā)平臺的搭建、編譯Qt/Embedded庫、視頻播放器MPlayer的移植和廣告機(jī)應(yīng)用程序的實(shí)現(xiàn)。

3.1嵌入式Linux系統(tǒng)開發(fā)平臺的搭建

為了開發(fā)滿足要求的應(yīng)用程序,本文采用的軟件開發(fā)環(huán)境是VmwareWorkstation7虛擬機(jī)和Fedora9操作系統(tǒng),在此環(huán)境中安裝交叉編譯器ARM-linux-gcc4.3.2,用來完成包含相關(guān)驅(qū)動程序的虛擬儀表系統(tǒng)內(nèi)核、QT庫和應(yīng)用程序的編譯;在Fedora9系統(tǒng)中安裝QtCreator軟件,用于完成虛擬儀表系統(tǒng)應(yīng)用程序的開發(fā);移植嵌入式設(shè)備的系統(tǒng)引導(dǎo)程序U-boot;編寫硬件平臺中音頻模塊、Wi-Fi模塊和SD卡等設(shè)備的驅(qū)動,然后裁剪編譯Linux2.6.29內(nèi)核并在其中加載已編譯的相關(guān)驅(qū)動[5],制作硬件平臺需要的根文件系統(tǒng)。

3.2編譯Qt/Embedded庫

Qt是一個跨平臺的C++圖形用戶界面應(yīng)用程序框架,其對象容易擴(kuò)展,可移植性較好,支持多個GUI平臺的交互開發(fā)。Qt/EmbeddedLinux是為嵌入式Linux優(yōu)化過的Qt版本,被廣泛應(yīng)用于各種嵌入式產(chǎn)品和設(shè)備當(dāng)中,其實(shí)現(xiàn)結(jié)構(gòu)如圖3所示。為了減少系統(tǒng)內(nèi)存占用量、提高系統(tǒng)性能,可以對Qt/EmbeddedLinux進(jìn)行重新裁剪編譯,去掉不需要的特性。

下載tslib1.4.tar.gz,在搭建好的開發(fā)平臺內(nèi)解壓后執(zhí)行配置、編譯和安裝命令,編譯安裝Tslib庫,添加觸摸屏支持。然后通過./configure裁剪、配置Qt/Embedded庫。配置完成后采用make命令編譯,用makeinstall命令安裝Qt/EmbeddedLinux到指定的位置。

基于嵌入式Linux的車載多媒體廣告機(jī)設(shè)計(jì)

3.3移植視頻播放器MPlayer

MPlayer是一款開源的多媒體播放器,遵循GPL規(guī)范。該播放器可以在多種操作系統(tǒng)上運(yùn)行。MPlayer自帶的音頻、視頻解碼器可以支持許多流行的音頻和視頻格式。相對于其他播放器,MPlayer運(yùn)行過程中資源占用非常少,對系統(tǒng)硬件的配置要求比較低,故本系統(tǒng)采用MPlayer作為多媒體播放器。直接使用MPlayer作為播放器還可以節(jié)約開發(fā)成本,同時也增加了系統(tǒng)的可靠性[6]。

下載libmad后解壓,使用./configure配置libmad,然后分別使用make命令和makeinstall命令安裝libmad。下載解壓MPlayer源文件,使用./configure命令進(jìn)行配置,注意一定要添加一target=arm-linux,標(biāo)明為ARM平臺配置,然后使用make命令進(jìn)行編譯,使用makeinstall命令安裝至當(dāng)前目錄。生成的可執(zhí)行文件Mplayer即為MPlayer播放器,將其拷貝至開發(fā)板/bin目錄下,完成MPlayer的移植。

3.4設(shè)計(jì)廣告機(jī)應(yīng)用程序

3.4.1廣告機(jī)界面的實(shí)現(xiàn)

廣告機(jī)界面的實(shí)現(xiàn)較為簡單,只需要在屏幕的右側(cè)顯示一排可以點(diǎn)擊的圖形按鈕,左側(cè)用于廣告視頻的顯示。對于圖形按鈕的設(shè)計(jì),需要首先準(zhǔn)備好每一個按鈕未點(diǎn)擊和點(diǎn)擊后的圖片素材并將他們添加到程序的資源文件advertise.qrc中,程序運(yùn)行時會加載這些圖片到內(nèi)存中,然后在窗口的paintEvent()函數(shù)中進(jìn)行按鈕的繪制,在用戶點(diǎn)擊圖形按鈕時,在mousePressEvent()函數(shù)中處理按鈕的點(diǎn)擊事件;視頻采用全屏顯示,需要在main函數(shù)中,用showFullScreen()函數(shù)顯示窗口即可實(shí)現(xiàn)全屏;為了在視頻播放的同時顯示Log。和字幕,應(yīng)用程序使用了4個FrameBuffer,分別用于顯示Qt程序界面、MPlayer視頻圖像、Log。和字幕,實(shí)現(xiàn)四者的疊加顯示。

3.4.2實(shí)現(xiàn)視頻的播放

要實(shí)現(xiàn)廣告視頻文件在Qt窗口上播放,需要使用戶界面通過QProcess類啟動一個新程序來實(shí)現(xiàn)對MPlayer的控制,如圖4所示。QProcess類使應(yīng)用程序在Qt程序中調(diào)用另外一個進(jìn)程。其實(shí)現(xiàn)代碼如下:

mplayerProcess=newQProcess(this);//創(chuàng)建一個QProcess對象

connect(mplayerProcess,SIGNAL(finished(int,QProcess::ExitStatus)),this,SLOT(mplayerEnded(int,QProcess::ExitStatus)));//finished信號在MPlayer程序結(jié)束時發(fā)射,標(biāo)志著一個視頻已播放完成,用此信號可通知程序自動播放下一個視頻,實(shí)現(xiàn)視頻的循環(huán)播放

基于嵌入式Linux的車載多媒體廣告機(jī)設(shè)計(jì)

3.4.3界面與MPlayer的交互

MPlayer與Qt4程序之間使用管道方式進(jìn)行通信,QProcess類隱藏了具體的通信細(xì)節(jié),將新建立的進(jìn)程當(dāng)做主程序的一個I/O設(shè)備,因此需要使用QProcess類提供的read()/write()函數(shù)來調(diào)用這個進(jìn)程的標(biāo)準(zhǔn)輸入/輸出[7],如下所示:

mplayerProcess->write(“quit\nv);//通知MPlayer退出

當(dāng)QProcess啟動MPlayer后,應(yīng)用程序可以將控制命令寫入MPlayer的標(biāo)準(zhǔn)輸入,MPlayer從標(biāo)準(zhǔn)輸入讀到數(shù)據(jù)后會執(zhí)行相應(yīng)的功能。其實(shí)現(xiàn)代碼如下:

QStringListargs;

args<<v-framebuffer-indexv<<”1”;//MPlayer不支持將視頻顯示在Qt/E的串口上,而是直接顯示在FrameBuffer上,在這里結(jié)合多FrameBuffer特性,以及screenrect參數(shù),將視頻定位到Qt繪制的窗口的劃定區(qū)域上面

QStringscreenRect=QString("%1,%2,%3,%4").arg(m_videoWindowRect.left()).arg(m_videoWindowRect.top()).arg(m_videoWindowRect.width()).arg(m_videoWindowRect.height。);//計(jì)算顯示視頻的區(qū)域

args<<screenRect;//位置傳遞

args<<"-slave";//使用MPlayer的slave模式,在此模式下,MPlayer在運(yùn)行過程中能夠接收用戶的輸入命令。

m_mplayerProcess->start(MPLAYER_PATH,args);//寫入命令

3.4.4視頻文件的更新

應(yīng)用程序通過廣告機(jī)內(nèi)置的無線網(wǎng)卡訪問遠(yuǎn)程服務(wù)器即可實(shí)現(xiàn)廣告視頻文件的更新。廣告機(jī)終端在系統(tǒng)開機(jī)運(yùn)行時通過QThread類新建一個線程,通過無線網(wǎng)卡定期向遠(yuǎn)程服務(wù)器查詢是否需要更新視頻文件,在廣告機(jī)準(zhǔn)備好更新時,服務(wù)器通過無線網(wǎng)可將封裝后的視頻發(fā)送到無線局域網(wǎng)中去。接收端系統(tǒng)通過驅(qū)動程序接收數(shù)據(jù)包,進(jìn)行解封裝得到需要更新的視頻目錄和視頻數(shù)據(jù),終端則根據(jù)更新目錄進(jìn)行視頻文件的刪除或下載等操作。其實(shí)現(xiàn)代碼如下:

classDownLoad:publicQThread

{Q_OBJECTprotected:voidrun();//開機(jī)即開啟一個QTimer定時器,定時向遠(yuǎn)程服務(wù)器查詢是否需要更新視頻文件。

signals:voidupDates();//在需要進(jìn)行視頻更新時,以信號與槽(signals/slot)的方式,通知主程序進(jìn)行視頻文件的更新。

3.4.5畫面閃爍問題的解決

畫面的動態(tài)刷新顯示,會使屏幕出現(xiàn)閃爍。本設(shè)計(jì)釆用雙緩沖機(jī)制解決畫面閃爍的問題,將整個窗口部件在屏幕外的像素映射中繪制,然后把這個像素映射復(fù)制到顯示窗口中叫其實(shí)現(xiàn)代碼如下:

voidMainwidow::paintEvent(QPaintEvent*event)

{??????

QsizenewSize=rect.size().expandedTo(pixmap.size());//創(chuàng)建至少和所繪區(qū)域一樣大的繪圖緩沖

QPainterpainter(&pixmap,this);//創(chuàng)建操作像素映射的QPainter

Painter.translate.(-rect.x(),-rect.y());//對像素映射中繪制矩形的畫筆進(jìn)行坐標(biāo)轉(zhuǎn)換

bitBlt(this,rect.x(),rect.y(),&pixmap,0,0,rect.width(),rect.height());//利用bitBlt()把像素映射復(fù)制到顯示窗口部件上}

4運(yùn)行發(fā)布程序

將裁剪、編譯過的內(nèi)核與制作的帶QT庫的文件系統(tǒng)燒寫到開發(fā)板。在開發(fā)環(huán)境內(nèi)交叉編譯編寫的應(yīng)用程序,得到可執(zhí)行二進(jìn)制文件,將此文件移植到開發(fā)板,即可實(shí)現(xiàn)應(yīng)用程序的發(fā)布。重新開機(jī),運(yùn)行應(yīng)用程序即可啟動廣告機(jī),其啟動后的畫面如圖5所示。

基于嵌入式Linux的車載多媒體廣告機(jī)設(shè)計(jì)

5結(jié)語

本文提出了一種新型的車載多媒體廣告機(jī)的設(shè)計(jì)方案,以ARM和嵌入式Linux為基礎(chǔ)平臺,通過定制移植QT和MPlayer并設(shè)計(jì)應(yīng)用程序?qū)崿F(xiàn)多媒體廣告機(jī)系統(tǒng)的設(shè)計(jì)。通過本設(shè)計(jì)方案設(shè)計(jì)的廣告機(jī),采用開放源代碼軟件設(shè)計(jì),使系統(tǒng)的成本降低,同時采用雙緩沖技術(shù)消除頁面閃爍,使其更具有市場競爭力;采用Qt插件的方式設(shè)計(jì)系統(tǒng)的各個模塊,增強(qiáng)了系統(tǒng)的可擴(kuò)展性和可定制性;通過Wi-Fi與服務(wù)器交互實(shí)現(xiàn)視頻文件的更新,解決了大批量設(shè)備同時進(jìn)行大容量視頻數(shù)據(jù)更新的問題,提高了更新速度。經(jīng)實(shí)驗(yàn)測試,該系統(tǒng)所有功能模塊都能正常運(yùn)行,達(dá)到了預(yù)期的效果,隨著信息化的發(fā)展,有著廣闊的前景。

20211120_6197d6ce9384e__基于嵌入式Linux的車載多媒體廣告機(jī)設(shè)計(jì)

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

在接下來的5G時代當(dāng)中,華為也將會憑借著自身的優(yōu)勢,從而處于遙遙領(lǐng)先的地位,但其實(shí)厲害的又不僅僅是華為企業(yè),如今,作為國際巨頭的三星開始了在6G當(dāng)中的研發(fā),6G接下來的網(wǎng)速,將會是5G的50倍,對于三星的這一個大動作,華...

關(guān)鍵字: 5G 6G 三星

隨著人工智能概念的爆發(fā),越來越多的企業(yè)開始關(guān)注并布局智能家居領(lǐng)域。有研究機(jī)構(gòu)預(yù)測預(yù)測,2022年中國智能家居的整體產(chǎn)值將突破萬億元,前景一片向榮。

關(guān)鍵字: 全屋智能 智慧生活 小愛同學(xué)

博鰲亞洲論壇國際科技與創(chuàng)新論壇第二屆大會在廣州舉行。期間舉行的5G科技應(yīng)用與6G展望分論壇備受矚目。六位通信領(lǐng)域的頭部企業(yè)、高校和科研院所的專家通過線上線下聯(lián)動方式,共同研討5G軟硬件關(guān)鍵技術(shù)研發(fā)現(xiàn)狀與未來6G發(fā)展前景展...

關(guān)鍵字: 5G 6G 通信算法

智能家居作為住宅家居現(xiàn)代生活場景方式,當(dāng)下已經(jīng)不再只是一個概念,而是基于家居家裝軟硬件產(chǎn)品為載體的生活方式實(shí)景呈現(xiàn),越來越多的人在家裝時選擇智能家居。需求助推行業(yè)持續(xù)火熱,大小資本都以狂風(fēng)席卷之勢進(jìn)駐這個行業(yè),根據(jù)企查查...

關(guān)鍵字: 全屋智能 智能家居 智能門鎖

5G領(lǐng)先讓我們信心大增,但是這不能成為我們高枕無憂的理由。隨著我們認(rèn)識到通訊技術(shù)在科技領(lǐng)域的重要性之后,競爭必然會更加激烈起來。在5G還未成熟的年代,通訊商們就已經(jīng)開始將目光瞄準(zhǔn)了6G,并開始相關(guān)的研發(fā)和布局。

關(guān)鍵字: 5G 6G 虛擬數(shù)字世界

小米智能家居現(xiàn)在已經(jīng)能實(shí)現(xiàn)聯(lián)動和自動化了,比如指紋鎖進(jìn)屋就打開窗簾電視,播放天氣預(yù)報(bào),根據(jù)設(shè)定溫度決定是否打開空調(diào),根據(jù)空氣質(zhì)量檢測儀決定是否打開新風(fēng)機(jī)~結(jié)合人體移動和光線傳感器開燈就更是不用說了~最近也在搞全屋智能化,...

關(guān)鍵字: 全屋智能 溫度感應(yīng) 小米

根據(jù)5G設(shè)備市場的調(diào)研數(shù)據(jù)當(dāng)中來看,三星所拿下的5G設(shè)備市場份額就達(dá)到了10.4%,也就是說,排在了第四名的位置。

關(guān)鍵字: 6G 三星 華為

擁有 5G、人工智能、物聯(lián)網(wǎng)等新技術(shù)的支撐,智能家居行業(yè)逐漸從單品智能邁入全屋智能階段 。其由于全屋智能產(chǎn)品特殊性,落地安裝涉及到方案場景設(shè)計(jì)、布線,安裝,施工、后期維護(hù)更新等多個環(huán)節(jié),整體最好的實(shí)施路徑是通過房屋整體裝...

關(guān)鍵字: 全屋智能 5G 物聯(lián)網(wǎng)

5G時代,我們實(shí)現(xiàn)了彎道超車,一躍超越高通,愛立信,領(lǐng)先于世界?,F(xiàn)如今,5G正在全世界加速普及和應(yīng)用。通訊和實(shí)業(yè)的結(jié)合,已助力生產(chǎn)效率進(jìn)一步提高,讓我們的生活變得更加美好。

關(guān)鍵字: 5G 6G 中國移動

自從2020年作為建設(shè)主體納入大灣區(qū)綜合性國家科學(xué)中心先行啟動區(qū),躋身科創(chuàng)國家隊(duì)以來,松山湖科學(xué)城圍繞科研創(chuàng)新人才的需求,全面提升城市服務(wù)能級和城市品質(zhì),讓松山湖成為近悅遠(yuǎn)來、宜居宜業(yè)宜研宜創(chuàng)的科學(xué)家園。

關(guān)鍵字: 智慧城市 科學(xué)家園 人工智能

《物聯(lián)網(wǎng)技術(shù)》雜志

2511 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉