《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于Linux平臺(tái)的網(wǎng)絡(luò)廣告機(jī)的設(shè)計(jì)
基于Linux平臺(tái)的網(wǎng)絡(luò)廣告機(jī)的設(shè)計(jì)
單片機(jī)與嵌入式系統(tǒng)
何金龍,高文華 太原科技大學(xué)
摘要: 利用嵌入式系統(tǒng)設(shè)計(jì)的優(yōu)越性,在Linux系統(tǒng)平臺(tái)上使用Linux豐富的開源軟件和工具集,構(gòu)建了嵌入式網(wǎng)絡(luò)廣告機(jī)系統(tǒng),滿足網(wǎng)絡(luò)廣告機(jī)的各項(xiàng)功能應(yīng)用要求,成功地實(shí)現(xiàn)了網(wǎng)絡(luò)廣告機(jī)的視頻、圖片和文字等媒體信息的良好發(fā)布,驗(yàn)證了Linux嵌入式平臺(tái)下廣告機(jī)系統(tǒng)設(shè)計(jì)的靈活性、簡(jiǎn)易性和高效性。
Abstract:
Key words :

摘要:利用嵌入式系統(tǒng)" title="嵌入式系統(tǒng)">嵌入式系統(tǒng)設(shè)計(jì)的優(yōu)越性,在Linux" title="Linux">Linux系統(tǒng)平臺(tái)上使用Linux豐富的開源軟件和工具集,構(gòu)建了嵌入式網(wǎng)絡(luò)廣告機(jī)" title="網(wǎng)絡(luò)廣告機(jī)">網(wǎng)絡(luò)廣告機(jī)系統(tǒng),滿足網(wǎng)絡(luò)廣告機(jī)的各項(xiàng)功能應(yīng)用要求,成功地實(shí)現(xiàn)了網(wǎng)絡(luò)廣告機(jī)的視頻、圖片和文字等媒體信息的良好發(fā)布,驗(yàn)證了Linux嵌入式平臺(tái)下廣告機(jī)系統(tǒng)設(shè)計(jì)的靈活性、簡(jiǎn)易性和高效性。
關(guān)鍵詞:Linux;網(wǎng)絡(luò)廣告機(jī);嵌入式系統(tǒng)

引言
    網(wǎng)絡(luò)廣告機(jī)俗稱digital signage system,是在網(wǎng)絡(luò)信息化飛速發(fā)展的時(shí)代背景下產(chǎn)生的一種新型網(wǎng)絡(luò)多媒體信息發(fā)布系統(tǒng)。基于這種系統(tǒng),用戶可以采用多種方式于公共顯示終端上發(fā)布公共信息內(nèi)容。目前,數(shù)字化、網(wǎng)絡(luò)化、信息化的多媒體網(wǎng)絡(luò)廣告機(jī)成為傳媒市場(chǎng)的一大亮點(diǎn),然而單機(jī)版的廣告機(jī)以及單一的媒體發(fā)布形式已經(jīng)難以滿足日益增長(zhǎng)的市場(chǎng)需求,國(guó)內(nèi)外正在積極投入基于多種媒體形式和多功能交互型網(wǎng)絡(luò)廣告機(jī)的研究。本文利用Linux嵌入式系統(tǒng)設(shè)計(jì)的優(yōu)越性能,使用廣大Linux系統(tǒng)支持的開源軟件和工具集,構(gòu)建了成本低、功能健全和網(wǎng)絡(luò)分布靈活的網(wǎng)絡(luò)媒體廣告機(jī)系統(tǒng)。

1 系統(tǒng)概述
    如圖1所示,整個(gè)系統(tǒng)大體分為廣告機(jī)監(jiān)控終端" title="監(jiān)控終端">監(jiān)控終端、服務(wù)器控制中心、廣告機(jī)顯示終端3個(gè)部分。監(jiān)控終端通過Web瀏覽器控制頁(yè)面接收管理員輸入的控制命令,經(jīng)過網(wǎng)絡(luò)路由向服務(wù)器控制中心提交表單。服務(wù)器控制中心根據(jù)監(jiān)控終端提交的不同表單類別調(diào)用對(duì)應(yīng)的CGI例程來(lái)啟動(dòng)相應(yīng)的Socket服務(wù)進(jìn)程,建立與開發(fā)板Socket監(jiān)聽服務(wù)進(jìn)程之間的網(wǎng)絡(luò)通信,同時(shí)傳遞對(duì)應(yīng)的控制命令和信息。廣告機(jī)顯示終端解析相應(yīng)的控制命令和信息,來(lái)控制顯示終端設(shè)備上的媒體信息播放形式。

a.JPG


1.1 硬件環(huán)境
    廣告機(jī)監(jiān)控終端和服務(wù)器控制中心的設(shè)備為普通PC機(jī)。廣告機(jī)顯示終端采用的是芯勝嵌入式VT8430開發(fā)板。該開發(fā)板的處理器是芯晟科技推出的數(shù)字音視頻多標(biāo)準(zhǔn)多媒體處理芯片CSM1200。該芯片采用ARM9內(nèi)核,支持MPEG-2、H.264、AVS的高清和標(biāo)清解碼/輸出,視頻輸出支持PAL/NTSC/480p/576p/720p/1080i。
    同時(shí),CSM1200是一個(gè)有著豐富的外圍設(shè)備和強(qiáng)大媒體能力的嵌入式平臺(tái)SoC,可以靈活地選擇多種LCD或者其他顯示設(shè)備,作為廣告機(jī)信息發(fā)布節(jié)點(diǎn)的媒體播放設(shè)備。
1.2 軟件環(huán)境
    監(jiān)控終端和服務(wù)器控制中心的采用Linux系統(tǒng)平臺(tái)。監(jiān)控終端只需能夠提供正常的Web頁(yè)面瀏覽功能便可以借助瀏覽器實(shí)現(xiàn)信息的交互。服務(wù)器控制中心和顯示終端是多媒體信息發(fā)布的關(guān)鍵的部分,需要配置相關(guān)的環(huán)境如下:
    ①構(gòu)建CGI模塊。CGI用來(lái)設(shè)計(jì)基于Web瀏覽器的B/S(Browser/Serrer)系統(tǒng)架構(gòu),可以在無(wú)客戶端(client)的情況下,廣泛地使用Web瀏覽器提供的按鈕、輸入框、字體和顏色等界面元素。通過不同平臺(tái)瀏覽器監(jiān)控終端遞交的表單就可以控制信息的交互。在官網(wǎng)下載源碼包li-bcgi-1.0.tar.gz后,解壓、編譯和安裝即可。
    ②創(chuàng)建和配置httpd服務(wù)。官網(wǎng)下載httpd-2.2.4.tar.gz,解壓、配置、編譯和安裝后,設(shè)置相應(yīng)CGI程序以及html服務(wù)路徑和目錄,以提供Web瀏覽器監(jiān)控端不同的控制頁(yè)面目錄和CGI例程集存儲(chǔ)目錄。
    ③配置數(shù)據(jù)庫(kù)。安裝Sqlite3數(shù)據(jù)庫(kù)來(lái)提供對(duì)于各種媒體信息的查詢、插入和刪除等控制操作。SQLite是存儲(chǔ)在單一磁盤文件中的一個(gè)完整的數(shù)據(jù)系統(tǒng),尤其適合于嵌入式系統(tǒng)設(shè)計(jì)。在Ubuntu10.04服務(wù)器系統(tǒng)平臺(tái)上,使用aptitude安裝libsqlite3-0、libsqlite3-dev、libs-qlite3和libsqlite3-doc開源軟件包即可。
    ④定制顯示終端Linux系統(tǒng)。顯示系統(tǒng)采用基于ARM9的CSM1200處理芯片,因此使用arm-9tdmi-linux-gun交叉編譯工具,基于Linux2.6.2 7內(nèi)核源碼包定制針對(duì)顯示開發(fā)板環(huán)境平臺(tái)的Linux操作系統(tǒng),詳見參考文獻(xiàn)。編譯好內(nèi)核之后進(jìn)行u-boot的燒寫、根文件系統(tǒng)的制作,并設(shè)置相應(yīng)的啟動(dòng)方式來(lái)加載制作的Linux內(nèi)核。詳細(xì)的步驟見參考文獻(xiàn)。
    ⑤搭建顯示終端Qt環(huán)境。顯示終端通過Qt圖形界面播放各種媒體信息,首先獲取Qt開源軟件包qtopia-core-opensource-src-4.2.2.tar. gz,解壓后設(shè)置arm-9tdmi-linux-gun為編譯器環(huán)境,編譯安裝Qt軟件包后,拷貝所需資源到開發(fā)板文件系統(tǒng)。
    上述環(huán)境搭建的大部分內(nèi)容都可以從相應(yīng)的官網(wǎng)獲取開源源碼包和詳細(xì)的配置安裝信息。

2 系統(tǒng)功能模塊設(shè)計(jì)
    系統(tǒng)功能模塊原理圖如圖2所示。監(jiān)控終端由Qt控制頁(yè)面、Mplayer控制頁(yè)面和文件更新控制頁(yè)面組成。在不同的監(jiān)控控制頁(yè)面觸發(fā)相應(yīng)的控制操作,將通過Web功能訪問服務(wù)器控制中心并向服務(wù)器遞交不同的表單。控制中心主體部分由服務(wù)器Web httpd站點(diǎn)、CGI控制模塊、數(shù)據(jù)庫(kù)Sqlite3和TCP Socket Client端組成。根據(jù)監(jiān)控終端遞交的不同的表單,相應(yīng)的CGI控制程序?qū)?zhí)行,CGI程序進(jìn)行的相應(yīng)的錄入、刪除和更新Sqlite3數(shù)據(jù)庫(kù)操作,同時(shí)調(diào)用并開啟對(duì)應(yīng)的Socket Client進(jìn)程,將對(duì)應(yīng)的控制命令和數(shù)據(jù)庫(kù)信息通過網(wǎng)絡(luò)Socket遞交到顯示終端TCP Socket Server監(jiān)聽服務(wù)器。顯示終端的TCPSocket Server監(jiān)聽接收TCP Client端傳來(lái)的控制命令,通過解析控制命令的類別,將空控制命令和相關(guān)的信息寫入到Qt本地或者M(jìn)player本地套接字服務(wù)器,并存儲(chǔ)在本地Linux文件系統(tǒng)中。Mplayer播放器和Qt播放程序讀取文件系統(tǒng)中各自本地套接字的控制信息,調(diào)用相應(yīng)的音視頻驅(qū)動(dòng)程序來(lái)控制音視頻文件在Qt界面和Mplayer端的顯示和播放。

b.JPG



3 關(guān)鍵算法設(shè)計(jì)
3.1 數(shù)據(jù)庫(kù)設(shè)計(jì)
    根據(jù)廣告機(jī)監(jiān)控終端所監(jiān)控媒體種類的不同,使用Sqlite3數(shù)據(jù)庫(kù)維護(hù)媒體視頻播放、圖片背景和Qt字幕的信息。數(shù)據(jù)庫(kù)原理見參考文獻(xiàn)。對(duì)于廣告機(jī)監(jiān)控管理員以及管理者的身份,需要設(shè)計(jì)管理者的ID、登錄密碼和對(duì)應(yīng)的用戶名信息,以便對(duì)廣告機(jī)的監(jiān)控和管理。就視頻和圖片媒體而言,都涉及對(duì)相應(yīng)媒體對(duì)象的插入、刪除、更新和播放順序等控制操作,因此分別設(shè)置ID、文件名、加入時(shí)間和排序序號(hào)來(lái)進(jìn)行相應(yīng)的維護(hù)和控制管理。對(duì)應(yīng)的數(shù)據(jù)庫(kù)設(shè)計(jì)原理圖如圖3所示。

c.JPG


3.2 廣告機(jī)顯示終端
    廣告機(jī)顯示終端的Qt圖形界面原理如圖4所示。Qt界面的設(shè)計(jì)原理見參考文獻(xiàn)。開發(fā)板通電之后,主程序程序開始執(zhí)行,Mplayer媒體播放器讀取存儲(chǔ)在開發(fā)板上的視頻文件進(jìn)行循環(huán)播放,同時(shí)將監(jiān)聽自己的本地套接字。當(dāng)網(wǎng)絡(luò)通信模塊將控制終端傳來(lái)的控制命令寫到Mplayer播放程序的本地套接字之后,Mplayer將根據(jù)控制命令執(zhí)行相應(yīng)的響應(yīng),如暫停、播放下一首、重頭開始播放等。Qt圖形界面程序開始執(zhí)行時(shí),先讀取本地圖片文件和文本文件,進(jìn)行循環(huán)播放。同時(shí),Qt圖形界面程序的監(jiān)聽命令線程將監(jiān)聽Qt圖形界面的本地套接字。當(dāng)接到控制命令時(shí),Qt圖形界面程序?qū)?zhí)行相應(yīng)的操作,如關(guān)閉、打開、更新滾動(dòng)字幕等。

d.JPG

    本地套接字與本地TCP Socket Server端進(jìn)行通信,并將相關(guān)控制命令最終上傳,而本地TCP Socket Server命令則是來(lái)源于控制中心TCP Socket Client端對(duì)控制命令的上傳。本地Socket Server套接字的部分控制代碼如下:
e.JPG
3.3 服務(wù)器控制中心
    服務(wù)器控制中心通過傳遞管理員用戶的控制命令,來(lái)控制顯示終端圖片、視頻以及文字媒體的更新和播放狀態(tài)的改變。管理者用戶通過點(diǎn)擊Qt或者M(jìn)player控制頁(yè)面的各種控制按鈕和媒體更新文件操作,觸發(fā)監(jiān)控中心的各種CGI例程,因此監(jiān)控終端的各種控制操作便與相應(yīng)的CGI控制操作例程一一對(duì)應(yīng)。CGI例程通過TCP Socket網(wǎng)絡(luò)通信向顯示終端服務(wù)器遞交相應(yīng)的控制命令和相關(guān)控制信息,就可以完成對(duì)各種媒體信息的操作控制。Linux系統(tǒng)網(wǎng)絡(luò)套接字編程見參考文獻(xiàn)。
    由圖2可知,顯示終端分為Qt和Mplayer模塊。其中,Qt模塊用來(lái)播放媒體圖片和字幕信息,Mplayer負(fù)責(zé)播放各種視頻文件。對(duì)于媒體視頻和圖片文件信息,控制的方式基本上分為兩種:一種是不帶上傳內(nèi)容的單純媒體運(yùn)行方式的控制操作(如視頻文件的播放暫停、視頻播放調(diào)序等),只需要點(diǎn)擊相關(guān)的控制按鈕即可完成;另一種是基于文件上傳的媒體更新的操作。例如視頻文件、圖片庫(kù)的更新等操作。因此,將結(jié)合上述不同的控制方式給出廣告機(jī)字幕滾動(dòng)、純命令控制和文件上傳的關(guān)鍵算法設(shè)計(jì)。
    Qt更新顯示終端滾動(dòng)字幕的表單部分如下所示:
f.JPG
    用戶通過Qt控制頁(yè)面添加更新的文字內(nèi)容,點(diǎn)擊更新字幕按鈕會(huì)觸發(fā)改變字幕的CGI例程。qt_change_list.cgi例程將創(chuàng)建從本地到顯示開發(fā)板上的TCP Socket Server端的TCP套接字連接,并將控制命令“更新文字”與文字內(nèi)容一起上傳到TCP Socket Server端服務(wù)器。
    廣告機(jī)控制命令的控制表單部分設(shè)計(jì)如下:
g.JPG
    對(duì)于單純的控制命令,廣告機(jī)終端的設(shè)計(jì)比較簡(jiǎn)單,對(duì)于每一種控制命令均對(duì)應(yīng)有不同的CGI例程和命令宏定義,每個(gè)例程將對(duì)應(yīng)的控制命令通過Socket上傳就可以實(shí)現(xiàn)。
    上傳文件關(guān)鍵表單部分設(shè)計(jì):
h.JPG
    文件上傳將根據(jù)Qt圖片和視頻文件的不同調(diào)用相應(yīng)的上傳例程。這里除了要將圖片或者視頻文件上傳到開發(fā)板顯示終端外,還要向服務(wù)器監(jiān)控中心的Sqlite3數(shù)據(jù)庫(kù)中添加相應(yīng)的資源信息和狀態(tài)信息,根據(jù)前面數(shù)據(jù)庫(kù)對(duì)不同媒體類別的設(shè)計(jì)屬性域添加相應(yīng)的相關(guān)信息,以便后續(xù)的插入、排序、刪除和更新操作。其中,使用多線程傳輸模型設(shè)計(jì)上傳程序my_scp實(shí)現(xiàn)對(duì)較大視頻和圖片文件的快速傳輸,關(guān)于多線程編程見參考文獻(xiàn)。上傳文件的部分代碼如下所示:
i.jpg
3.4 監(jiān)控終端
    為了提升安全性能,需要設(shè)置用戶密碼功能。管理員通過用戶名和密碼的匹配輸入后,就可以獲得廣告機(jī)的控制權(quán)限。根據(jù)廣告機(jī)媒體類型的不同,分別設(shè)計(jì)了Qt控制頁(yè)面、Mplayer控制頁(yè)面和文件更新控制頁(yè)面。通過控制不同的控制頁(yè)面,即可控制廣告機(jī)的不同媒體播放操作。

結(jié)語(yǔ)
    本項(xiàng)目設(shè)計(jì)使用Linux開源系統(tǒng)和軟件工具集,構(gòu)建了基于嵌入式多網(wǎng)絡(luò)節(jié)點(diǎn)、性能優(yōu)越的廣告機(jī)系統(tǒng),最終獲得了滿意的效果。本系統(tǒng)的設(shè)計(jì)不但涵蓋了Linux系統(tǒng)開發(fā)的軟件和硬件技術(shù),也涵蓋了嵌入式產(chǎn)品設(shè)計(jì)的各種綜合素質(zhì)和多項(xiàng)技能,具有一定的實(shí)用價(jià)值。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲一区三区电影在线观看| 亚洲精品一区中文| 亚洲电影免费在线观看| 国产色爱av资源综合区| 国产精品一二三四区| 欧美三级视频在线播放| 欧美精品电影| 欧美v日韩v国产v| 你懂的成人av| 欧美高清一区二区| 欧美国产在线观看| 欧美精品18videos性欧美| 欧美大片在线观看| 欧美福利视频在线观看| 欧美成人dvd在线视频| 欧美~级网站不卡| 欧美96在线丨欧| 欧美国产高潮xxxx1819| 欧美精品色综合| 欧美日韩和欧美的一区二区| 欧美精品亚洲二区| 欧美日韩免费| 欧美午夜一区二区福利视频| 国产精品高潮呻吟久久| 国产精品女主播| 国产伦精品一区二区三区高清| 国产欧美另类| 精品电影一区| 亚洲国产欧美日韩| 亚洲免费av电影| 中文欧美字幕免费| 亚洲女ⅴideoshd黑人| 午夜一区不卡| 亚洲第一天堂无码专区| 日韩视频精品| 亚洲欧美日韩一区| 久久精品一区四区| 女女同性女同一区二区三区91| 欧美久久综合| 国产精品视频自拍| 激情综合色综合久久综合| 亚洲国产精品久久精品怡红院| 91久久线看在观草草青青| 日韩视频在线观看国产| 亚洲免费视频成人| 亚洲电影在线播放| aa级大片欧美三级| 欧美一区成人| 免费日韩视频| 欧美色道久久88综合亚洲精品| 国产噜噜噜噜噜久久久久久久久| 黑人一区二区| 日韩网站在线观看| 小黄鸭精品aⅴ导航网站入口| 亚洲成人在线网站| 在线亚洲一区二区| 久久精品成人一区二区三区| 欧美成人免费播放| 国产精品久久久久久久一区探花| 国产日韩欧美不卡在线| 亚洲国产成人精品女人久久久 | 亚洲综合精品| 亚洲人成久久| 亚洲欧美日韩国产中文在线| 久久综合色8888| 国产精品免费久久久久久| 樱桃成人精品视频在线播放| 中国亚洲黄色| 最近中文字幕mv在线一区二区三区四区 | 久久久7777| 欧美日韩亚洲高清一区二区| 国产一区二区av| 亚洲免费av观看| 久久精品亚洲一区二区三区浴池| 这里只有精品视频在线| 久久婷婷麻豆| 国产精品久久久久久亚洲毛片| 亚洲第一精品福利| 亚洲欧美中文在线视频| 一区二区三区四区五区精品视频| 久久久欧美精品sm网站| 国产精品s色| 亚洲国产精品第一区二区| 午夜在线不卡| 亚洲夜晚福利在线观看| 欧美gay视频| 国内一区二区三区在线视频| 亚洲天堂偷拍| 一本色道久久综合| 久久一日本道色综合久久| 国产精品一区二区三区乱码| 99视频热这里只有精品免费| 亚洲人成人一区二区在线观看| 性视频1819p久久| 欧美日韩在线视频一区二区| 亚洲国产精品va在线看黑人动漫 | 欧美日韩中文| 亚洲激情网址| 亚洲激情在线视频| 久久中文欧美| 国产一级一区二区| 亚洲一区二区黄色| 在线亚洲观看| 欧美人妖在线观看| 亚洲日本成人网| 亚洲欧洲精品一区二区三区波多野1战4 | 国产毛片一区| 亚洲深夜福利在线| 亚洲自拍电影| 国产精品久久久久久久久久三级 | 亚洲精品免费电影| 另类亚洲自拍| 在线日韩欧美| 亚洲欧洲日本一区二区三区| 久久亚洲精品一区| 国内一区二区三区在线视频| 久久精品官网| 久久影院午夜片一区| 国模大胆一区二区三区| 欧美一区二区三区久久精品| 久久9热精品视频| 国产亚洲一区二区在线观看| 欧美亚洲日本国产| 久久精品视频在线看| 国产自产v一区二区三区c| 久久精品国产第一区二区三区最新章节| 久久都是精品| 狠狠色狠狠色综合人人| 亚洲成人直播| 欧美第一黄色网| 亚洲免费av片| 亚洲一区二区三区视频播放| 国产精品久久久久久久久久妞妞| 亚洲一区二区三区免费观看| 欧美一级精品大片| 国色天香一区二区| 亚洲片在线观看| 欧美母乳在线| 亚洲综合首页| 久久人人爽国产| 亚洲黄色免费电影| 亚洲色诱最新| 国产模特精品视频久久久久| 久久国产精品久久久| 欧美不卡在线视频| 99re8这里有精品热视频免费| 羞羞色国产精品| 国外视频精品毛片| 亚洲精品影院在线观看| 欧美三级日韩三级国产三级| 亚洲欧美制服另类日韩| 免费成人av在线看| 亚洲乱码国产乱码精品精| 亚洲欧美亚洲| 伊人久久成人| 中文日韩在线| 国产日产亚洲精品| 亚洲黄一区二区| 欧美日韩一区自拍| 午夜精品亚洲| 欧美成人精品在线观看| 一区二区三区四区蜜桃| 久久成人久久爱| 亚洲大胆人体在线| 亚洲一区二区四区| 国产专区一区| 亚洲视频播放| 国语自产精品视频在线看抢先版结局| 日韩亚洲成人av在线| 国产乱码精品一区二区三区不卡 | 99re6热在线精品视频播放速度| 欧美天堂在线观看| 久久精品三级| 国产精品成人在线| 亚洲福利电影| 欧美午夜片在线免费观看| 亚洲成色精品| 国产精品裸体一区二区三区| 91久久久在线| 国产乱码精品一区二区三区av| 亚洲精品在线观| 国产一区二区精品| 亚洲午夜黄色| 在线观看不卡av| 午夜精品久久久久久久久| 亚洲国产精品成人| 欧美一区二区在线播放| 亚洲乱码国产乱码精品精天堂 | 99国内精品久久| 理论片一区二区在线| 亚洲资源av| 欧美啪啪成人vr| 久久精品亚洲国产奇米99| 国产精品女主播一区二区三区| 亚洲精品一级| 国产一区美女| 亚洲欧美激情诱惑| 亚洲美女区一区| 欧美国产日韩一区| 亚洲国产精品ⅴa在线观看|