国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于無(wú)線wi-fi技術(shù)的多媒體信息推送系統(tǒng)

2012-06-07 04:02:52項(xiàng)亮亮章雙佐宋占偉
關(guān)鍵詞:聲卡調(diào)用終端

項(xiàng)亮亮,章雙佐,陳 捷,宋占偉

(吉林大學(xué) 電子科學(xué)與工程學(xué)院,長(zhǎng)春 130012)

基于無(wú)線wi-fi技術(shù)的多媒體信息推送系統(tǒng)

項(xiàng)亮亮,章雙佐,陳 捷,宋占偉

(吉林大學(xué) 電子科學(xué)與工程學(xué)院,長(zhǎng)春 130012)

為了在一個(gè)小區(qū)域內(nèi),快速有效地獲取信息,設(shè)計(jì)了多媒體信息推送系統(tǒng)。該系統(tǒng)可設(shè)置中心控制臺(tái)進(jìn)行信息交流,滿(mǎn)足信息實(shí)時(shí)實(shí)地地推送并顯示。將目前流行的wi-fi技術(shù)與嵌入式系統(tǒng)相結(jié)合,采用高分辨率液晶顯示屏做為終端顯示設(shè)備,S3C6410做為主控器。經(jīng)過(guò)實(shí)驗(yàn)測(cè)試,該系統(tǒng)穩(wěn)定性高,圖片、聲音、視頻流等多媒體信息可在局域網(wǎng)內(nèi)快速實(shí)時(shí)地推送并顯示,達(dá)到了預(yù)期目的。

無(wú)線寬帶;嵌入式;實(shí)時(shí)推送;多媒體信息

0 引 言

目前最有效的信息獲取途徑是互聯(lián)網(wǎng)[1]。但現(xiàn)代社會(huì)網(wǎng)絡(luò)信息資源容量急劇膨脹并且對(duì)資源需求的便利性提出了更高的要求。多媒體信息推送技術(shù)最早是由美國(guó)Point Cast Network公司于1996年提出的。推送技術(shù)實(shí)質(zhì)上是依據(jù)一定的技術(shù)標(biāo)準(zhǔn)和約定,自動(dòng)從信息資源中選擇特定的信息并通過(guò)一定的方式有規(guī)律地將信息傳遞給用戶(hù)的一種技術(shù)[2]。本質(zhì)上為一種能根據(jù)用戶(hù)事先向系統(tǒng)輸入信息的請(qǐng)求,進(jìn)行對(duì)多媒體信息篩選、分類(lèi)、排序的特殊軟件系統(tǒng),在適當(dāng)時(shí)候推送到用戶(hù)所需的終端。

組建一個(gè)小范圍的無(wú)線wi-fi局域網(wǎng)模擬實(shí)現(xiàn)多媒體信息的實(shí)時(shí)推送功能。手持系統(tǒng)的終端(下位機(jī))采用三星的S3C6410作為主控芯片,基本符合系統(tǒng)的要求,不僅處理速度快,而且便于開(kāi)發(fā)以及后期的維護(hù)和升級(jí)。服務(wù)器端(上位機(jī))軟件系統(tǒng)是由C++編寫(xiě)的多媒體信息推送窗口。

wi-fi是由無(wú)線以太網(wǎng)相容聯(lián)盟(WECA:Wireless Ethernet Compatibility Alliance)所發(fā)布的業(yè)界術(shù)語(yǔ),中文為“無(wú)線相容認(rèn)證”。作為一種短程無(wú)線傳輸技術(shù),能在數(shù)百英尺范圍內(nèi)支持互聯(lián)網(wǎng)接入的無(wú)線電信號(hào)[3]。同時(shí)也足以提供在家或小區(qū)快速上網(wǎng)的便捷途徑。隨著電子商務(wù)和移動(dòng)辦公的進(jìn)一步普及,廉價(jià)的wi-fi必將成為隨時(shí)需要進(jìn)行網(wǎng)絡(luò)連接用戶(hù)的必然之選[4]。

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

核心芯片系統(tǒng)采用韓國(guó)三星的S3C6410系列處理器作為系統(tǒng)的MCU(Microprogrammed Control Unit)。外圍主要硬件由 WM-G-MR-09核心芯片設(shè)計(jì)的 wi-fi模塊以及群創(chuàng)的AT070TN83顯示器控制模塊組成。整個(gè)系統(tǒng)分為上位機(jī)和下位機(jī)兩部分。上位機(jī)(PC Control)是整個(gè)系統(tǒng)的推送者,負(fù)責(zé)在多媒體信息推送中完成音頻、視頻、數(shù)據(jù)等信息的封裝和排列,使其能在多媒體推送信道上傳送。下位機(jī)(各終端)通過(guò)無(wú)線wi-fi方式與上位機(jī)控制系統(tǒng)進(jìn)行數(shù)據(jù)傳輸并根據(jù)用戶(hù)需求作出相應(yīng)的顯示或反饋。系統(tǒng)整體框架如圖1所示。

圖1 多媒體信息推送系統(tǒng)框架圖Fig.1 The diagram of multimedia information push system

1.1 上位機(jī)系統(tǒng)部分設(shè)計(jì)

推送終端承擔(dān)與服務(wù)器進(jìn)行信息交互,接受多媒體鏡像,執(zhí)行命令任務(wù)和提交系統(tǒng)日志等任務(wù),是整個(gè)系統(tǒng)中重要的部分[5]。

設(shè)計(jì)的上位機(jī)系統(tǒng)主要由C++編程語(yǔ)言設(shè)計(jì)完成,主要任務(wù)是完成各種信息的打包處理并將其推送到用戶(hù)終端。為了提高數(shù)據(jù)的傳送效率,減少網(wǎng)絡(luò)出現(xiàn)擁塞的可能性,采用上述組播傳播技術(shù)。采用目前主流的組播(Multicast)傳輸技術(shù)。所謂組播是一種允許一個(gè)或多個(gè)發(fā)送者發(fā)送單一數(shù)據(jù)包到多個(gè)接收者的網(wǎng)絡(luò)技術(shù)。當(dāng)組播源把數(shù)據(jù)包發(fā)送到特定的組播組(Multicast Group)時(shí),只有加入到該組播組的終端才能接收到這些數(shù)據(jù)包。這樣設(shè)計(jì)可節(jié)省網(wǎng)絡(luò)帶寬,因?yàn)闊o(wú)論有多少個(gè)目標(biāo)地址,在整個(gè)網(wǎng)絡(luò)的任何一條鏈路上只傳送單一的數(shù)據(jù)包。而且在發(fā)送者和每個(gè)接收者之間實(shí)現(xiàn)一點(diǎn)對(duì)多點(diǎn)的網(wǎng)絡(luò)連接[6]。

在軟件設(shè)計(jì)上,主體利用線程池技術(shù),使當(dāng)線程池中的線程不處于阻塞狀態(tài)時(shí),后續(xù)請(qǐng)求將進(jìn)入緩沖隊(duì)列等待[7]。服務(wù)器在處理管理主機(jī)發(fā)布多媒體信息任務(wù)時(shí),同時(shí)監(jiān)聽(tīng)由推送終端發(fā)出的更新請(qǐng)求。在收到終端的更新請(qǐng)求后,根據(jù)請(qǐng)求數(shù)據(jù)包頭獲取終端編號(hào),在數(shù)據(jù)庫(kù)中以終端編號(hào)查詢(xún)對(duì)應(yīng)鏡像名稱(chēng)、存儲(chǔ)路徑等信息,對(duì)終端進(jìn)行實(shí)時(shí)數(shù)據(jù)更新[8]。關(guān)鍵的視頻推送部分利用RTP(Real-Time Transport Protocol)數(shù)據(jù)實(shí)現(xiàn)。在這里只給出數(shù)據(jù)發(fā)送部分程序的主要設(shè)計(jì)過(guò)程,其他部分將在下位機(jī)實(shí)現(xiàn)中給出;當(dāng)RTP會(huì)話建立成功時(shí),需要設(shè)置數(shù)據(jù)發(fā)送的目標(biāo)地址,通過(guò)調(diào)用RTPSession類(lèi)的AddDestination()、DeleteDestination()和ClearDestinations()完成。通過(guò)調(diào)用RTPSession類(lèi)的SendPacket()方法,向目標(biāo)地址發(fā)送流媒體數(shù)據(jù),調(diào)用RTPSession類(lèi)的SetDefaultPayloadType()、SetDefaultMark()和SetDefault-TimeStampIncrement(),并將其設(shè)置為會(huì)話的默認(rèn)參數(shù),指明發(fā)送的數(shù)據(jù)及其長(zhǎng)度,進(jìn)行數(shù)據(jù)發(fā)送。

1.2 下位機(jī)終端實(shí)現(xiàn)

1.2.1 終端類(lèi)型

移動(dòng)多媒體系統(tǒng)用戶(hù)終端主要分為單向終端和雙向終端兩種形式[9](見(jiàn)表1)。

表1 多媒體系統(tǒng)用戶(hù)終端類(lèi)型Tab.1 The types of multimedia system user terminal

由于需要語(yǔ)音的雙向通信,所以設(shè)計(jì)成為雙向終端。

1.2.2 終端代碼實(shí)現(xiàn)

1)聲卡驅(qū)動(dòng)。音頻信號(hào)是一種連續(xù)變化的模擬信號(hào),但計(jì)算機(jī)只能處理和記錄二進(jìn)制的數(shù)字信號(hào),由自然音源得到的音頻信號(hào)必須變換成數(shù)字音頻信號(hào)后,才能送到處理器中作進(jìn)一步處理。在聲卡驅(qū)動(dòng)上,從安全性角度考慮,應(yīng)用程序在Linux下無(wú)法直接對(duì)聲卡設(shè)備進(jìn)行操作,而是通過(guò)內(nèi)核提供的驅(qū)動(dòng)程序完成對(duì)聲卡的各種操作[10]。

系統(tǒng)調(diào)用open()函數(shù)獲得對(duì)聲卡的訪問(wèn)權(quán),同時(shí)為隨后的系統(tǒng)調(diào)用做好準(zhǔn)備,其函數(shù)原型:int open(const char*pathname,int flags,int mode);參數(shù)pathname是將要被打開(kāi)的設(shè)備文件名稱(chēng),對(duì)于本系統(tǒng)為/dev/dsp;參數(shù)flags標(biāo)志設(shè)備打開(kāi)方式;mode為可選參數(shù)。當(dāng)指定設(shè)備文件不存在時(shí),指明新創(chuàng)建文件具有的權(quán)限。系統(tǒng)調(diào)用read()函數(shù)從聲卡讀取數(shù)據(jù),其函數(shù)原型:int read(int fd,char*buf,size_t count);參數(shù)fd是設(shè)備文件的標(biāo)識(shí)符,通過(guò)open函數(shù)調(diào)用獲得;參數(shù)buf是緩沖區(qū),保存從聲卡獲得的數(shù)據(jù);參數(shù)count限定從聲卡獲得的最大字節(jié)數(shù);如果調(diào)用成功,將返回從聲卡讀取的實(shí)際字節(jié)數(shù),如果調(diào)用失敗,將返回-1。因?yàn)樵O(shè)計(jì)聲音為雙向通信,故系統(tǒng)調(diào)用write函數(shù)向聲卡寫(xiě)入數(shù)據(jù),函數(shù)原型:size_t write(int fd,const char*buf,size_t count);其參數(shù)和read函數(shù)一樣。系統(tǒng)調(diào)用ioctl對(duì)聲卡進(jìn)行控制,在此設(shè)置采樣率,量化位數(shù)以及聲道數(shù)目和控制方式。

2)視頻以及圖像顯示。在顯示設(shè)備的圖形用戶(hù)界面利用linux內(nèi)核中的一種驅(qū)動(dòng)程序接口,幀緩沖驅(qū)動(dòng)(Framebuffer Driver)接口。當(dāng)Linux抽象出FrameBuffer設(shè)備時(shí)[11],利用Framebuffer機(jī)制模仿顯卡的功能,將顯卡硬件結(jié)構(gòu)抽象掉后,便于在程序設(shè)計(jì)上利用用戶(hù)態(tài)進(jìn)程實(shí)現(xiàn)對(duì)屏的直接寫(xiě)功能,使設(shè)計(jì)簡(jiǎn)明,便于維護(hù)升級(jí)?;谶@種理念的設(shè)計(jì)本質(zhì)上是為了避免考慮物理顯存的位置、換頁(yè)機(jī)制,將對(duì)顯示設(shè)備的操作抽象化、統(tǒng)一化,用戶(hù)將Framebuffer看成是顯存的一個(gè)映像,將其映射到進(jìn)程地址空間后,就能直接進(jìn)行讀寫(xiě)操作,而寫(xiě)操作立即反應(yīng)在屏幕上。這樣的設(shè)計(jì)更加方便,而且效果可以達(dá)到預(yù)期指標(biāo)。

3)視頻信息的傳輸。設(shè)計(jì)網(wǎng)絡(luò)環(huán)境中實(shí)時(shí)傳輸流媒體數(shù)據(jù)是運(yùn)用RTP。利用它能一對(duì)一(unicast,單播)或一對(duì)多(multicast,組播)[12]傳播。RTP是在傳輸協(xié)議基礎(chǔ)上作為應(yīng)用程序的一部分加以實(shí)現(xiàn)的(見(jiàn)圖2)。

考慮到成本問(wèn)題,設(shè)計(jì)采用開(kāi)源的RTP庫(kù)——JRTPLIB(面向?qū)ο蟮腞TP庫(kù))。以下給出設(shè)計(jì)程序?qū)崿F(xiàn)的主要過(guò)程。

1)初始化:使用JRTPLIB進(jìn)行實(shí)時(shí)流媒體數(shù)據(jù)傳輸前,首先生成RTPSession類(lèi)的一個(gè)實(shí)例表示此次RTP會(huì)話,再調(diào)用Create()方法對(duì)其進(jìn)行初始化操作[13]。RTPSession類(lèi)的Create()方法只有一個(gè)參數(shù),用來(lái)指明此次RTP會(huì)話所采用的端口號(hào)[13]。

2)數(shù)據(jù)接收:首先調(diào)用RTPSession類(lèi)的PollData()方法接收RTP或者RTCP(Real-Time Transport Control Protocol)數(shù)據(jù)報(bào)。由于同一RTP會(huì)話中允許有多個(gè)參與者(源),調(diào)用RTPSession類(lèi)的GotoFirstSourceWithData()和GotoNext-SourceWithData()方法遍歷攜帶有數(shù)據(jù)的源。從RTP會(huì)話中檢測(cè)出有效數(shù)據(jù)源后,調(diào)用RTPSession類(lèi)的GetNextPacket(),并從中抽取RTP數(shù)據(jù)報(bào),RTP數(shù)據(jù)報(bào)處理完后,將其釋放。

3)數(shù)據(jù)控制:JRTPLIB是個(gè)高度封裝后的RTP庫(kù),在使用時(shí)可以由JRTPLIB完成傳輸。只要Poll-Data()或SendPacket()方法被成功調(diào)用,JRTPLIB就能自動(dòng)對(duì)到達(dá)的RTCP數(shù)據(jù)報(bào)進(jìn)行處理,并在需要時(shí)發(fā)送RTCP數(shù)據(jù)報(bào),確保整個(gè)RTP會(huì)話過(guò)程的正確性[14]。

圖2 結(jié)構(gòu)層Fig.2 Structure layer

2 調(diào) 試

在調(diào)試階段,進(jìn)行了聲音、圖片以及視頻等多媒體信息實(shí)時(shí)推送測(cè)試。測(cè)試結(jié)果表明,在接收終端和控制中心的距離在200m以?xún)?nèi)聲音的實(shí)時(shí)性和真實(shí)性比較理想,視頻能順暢播放,圖片推送十分理想。下面給出圖片測(cè)試的過(guò)程以及效果圖。

將所有設(shè)備連接好,在主控機(jī)窗口添加被推送內(nèi)容(見(jiàn)圖3);選擇被推送圖片后,選擇已連接的IP(用戶(hù)終端提出請(qǐng)求的IP地址)點(diǎn)擊“發(fā)送數(shù)據(jù)”按鈕即可將多媒體信息打包推送出去。

當(dāng)用戶(hù)終端接收到來(lái)自PC Control從數(shù)據(jù)庫(kù)推送過(guò)來(lái)的信息時(shí),終端根據(jù)數(shù)據(jù)包信息判斷后,提取有用數(shù)據(jù)還原并顯示,實(shí)驗(yàn)效果如圖4所示。

圖3 上位機(jī)推送窗口Fig.3 The windows of upper machine push system

圖4 用戶(hù)終端顯示圖 Fig.4 The showing diagram of user terminal

3 結(jié) 語(yǔ)

基于目前十分流行的無(wú)線wi-fi技術(shù),通過(guò)TCP/IP協(xié)議成功地模擬出了在一個(gè)局域網(wǎng)內(nèi)快速便捷地對(duì)媒體信息推送的系統(tǒng)。通過(guò)實(shí)驗(yàn)測(cè)試表明,數(shù)據(jù)流能快速準(zhǔn)確地被推送并在用戶(hù)終端的LCD屏上清晰顯示,系統(tǒng)工作穩(wěn)定,達(dá)到了既定目標(biāo)。此項(xiàng)技術(shù)的實(shí)現(xiàn)加速了我國(guó)在數(shù)字化城市道路上的步伐,為建設(shè)智能小區(qū)提供了技術(shù)參考。

[1]范迎秋.基于網(wǎng)格的信息推送服務(wù)模式[J].情報(bào)探索,2007(3):58-60.

FAN Ying-qiu.Information Push Service Model Based on Grid[J].Information Research,2007(3):58-60.

[2]NICOPOLITIDIS P,PAPADIMITRIOU G I,POMPORTSIS A S.Adaptive Wireless Push System for Multichannel Environments with Single-Receiver Clients[J].Electronics Letters,2011,47(2):147-148.

[3]RANJAN D,TRIPATHI A K.Effect of Variability of a Framework upon Its Testing Effort:An Empirical Evaluation[C]∥Computer Sciences and Convergence Information Technology(ICCIT),2010 5th International Conference on.[S.l.]:IEEE,2010:146-151.

[4]YANG Xiao.IEEE 802.11n:Enhancements for Higher Throughput in Wireless LANs[C]∥IEEE Wireless Communications.[S.l.]:IEEE,2005:1284-1536.

[5]徐萌,王曉.利用信息推送技術(shù)做好圖書(shū)館的服務(wù)工作[J].科技情報(bào)開(kāi)發(fā)與經(jīng)濟(jì),2010,20(8):52-57.

XU Meng,WANG Xiao.Doing Well Library Service by Using Information Pushing Technology[J].Sci-Tech Information Development & Economy,2010,20(8):52-57.

[6]劉傳,王毅.普適多媒體信息發(fā)布系統(tǒng)的構(gòu)建[J].計(jì)算機(jī)工程與設(shè)計(jì),2011,32(1):103-106.

LIU Chuan,WANG Yi.Building of Pervasive Multimedia Message Distribution System[J].Computer Engineering and Design,2011,32(1):103-106.

[7]賀杰.線程池技術(shù)應(yīng)用研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2011(5):58-60.

HE Jie.Research and Application of Thread Pools[J].Network Security Technology & Application,2011(5):58-60.

[8]李云華.獨(dú)辟蹊徑品內(nèi)核:Linux內(nèi)核源代碼導(dǎo)讀[M].北京:電子工業(yè)出版社,2009.

LI Yun-hua.Inventive Product Kernel:Linux Kernel Source Code Review[M].Beijing:Publishing House of the Electronics Industry,2009.

[9]陳維,黃永平,陳博,等.基于MOST網(wǎng)絡(luò)的多媒體信息傳輸設(shè)計(jì)與實(shí)現(xiàn)[J].吉林大學(xué)學(xué)報(bào):信息科學(xué)版,2010,28(2):141-146.

CHEN Wei,HUANG Yong-ping,CHEN Bo,et al.Design and Implement of Multimedia Transmission Based on MOST[J].Journal of Jilin University:Information Science Edition,2010,28(2):141-146.

[10]CHU He-ting,ROSENTHAL,MARILYN.Search Engines for the World Wide Web:A Comparative Study and Evaluation Methodology[EB/OL].(1996-10-21).[2011-04-05].http://cui.unige.ch/tcs/cours/algoweb/2002/articles/art_h(yuǎn)abashi_arash.pdf.

[11]趙潔,龔?fù)?嵌入式Linux幀緩沖設(shè)備驅(qū)動(dòng)程序[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2010,19(12):208-211.

ZHAO Jie,GONG Wei.Framebuffer Driver Based on Embedded Linux[J].Computer Systems & Applications,2010,19(12):208-211.

[12]WARREN W G.實(shí)戰(zhàn)Linux Socket編程[M].西安:西安電子科技大學(xué)出版社,2002:56-64.

WARREN W G.Combat Linux Socket Programming[M].Xi'an:Xidian University Press,2002:56-64.

[13]劉華文,申春,楊冬,等.語(yǔ)義 Web服務(wù)基礎(chǔ)技術(shù)研究綜述[J].吉林大學(xué)學(xué)報(bào):信息科學(xué)版,2010,28(1):47-54.

LIU Hua-wen,SHEN Chun,YANG Dong,et al.Surver of Semantic Web Service Techniques[J].Journal of Jilin University:Information Science Edition,2010,28(1):47-54.

[14]WU Jia-gao,JIANG Nan,ZOU Zhi-qiang,et al.HPSIN:A New Hybrid P2PSpatial Indexing Network[J].Journal of China University of Posts and Telecommunications,2010,17(3):66-72.

Multimedia Information Push System Based on Wireless wi-fi

XIANG Liang-liang,ZHANG Shuang-zuo,CHEN Jie,SONG Zhan-wei
(College of Electronic Science and Engineering,Jilin University,Changchun 130012,China)

In order to access information quickly and efficiently in a small area,we present a solution.We combine the currently popular technology of wi-fi with embedded system,using high-resolution LCD(Liquid Crystal Display)as the terminal display device,S3C6410as the master controller.After experimental tests,the system has high stability and pictures,audios,videos and other multimedia information can be pushed and displayed immediately in the real time in a local area network,achieving the expected purpose.

wi-fi;embedded system;real-time push;multimedia information

TN915

A

2011-08-26

吉林省科技支撐計(jì)劃重點(diǎn)基金資助項(xiàng)目(20100314)

項(xiàng)亮亮(1987—),男,浙江慈溪人,吉林大學(xué)碩士研究生,主要從事嵌入式系統(tǒng)研究,(Tel)86-13596404548(E-maill)xll_boy@163.com;宋占偉(1962—),男,長(zhǎng)春人,吉林大學(xué)教授,碩士生導(dǎo)師,主要從事嵌入式系統(tǒng)研究,(Tel)86-13504473223(E-mail)songzw@jlu.edu.cn。

1671-5896(2012)01-0018-05

(責(zé)任編輯:劉俏亮)

猜你喜歡
聲卡調(diào)用終端
X美術(shù)館首屆三年展:“終端〉_How Do We Begin?”
核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
通信控制服務(wù)器(CCS)維護(hù)終端的設(shè)計(jì)與實(shí)現(xiàn)
LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
多功能北斗船載終端的開(kāi)發(fā)應(yīng)用
電子制作(2016年15期)2017-01-15 13:39:14
基于系統(tǒng)調(diào)用的惡意軟件檢測(cè)技術(shù)研究
ABB Elastimold 10kV電纜終端及中間接頭
利用RFC技術(shù)實(shí)現(xiàn)SAP系統(tǒng)接口通信
麻雀成鳳凰 本本聲卡變X—Fi
用心聆聽(tīng),“高清”聲卡進(jìn)階技
蓬安县| 蛟河市| 抚顺市| 绍兴县| 来安县| 延边| 广德县| 灵石县| 黄冈市| 南城县| 绩溪县| 广水市| 江孜县| 鸡东县| 修文县| 云林县| 饶阳县| 富锦市| 军事| 五大连池市| 师宗县| 谢通门县| 灵寿县| 宜兰市| 德江县| 荆州市| 富顺县| 紫金县| 即墨市| 天水市| 麟游县| 齐河县| 固阳县| 仁化县| 白河县| 行唐县| 乌拉特中旗| 华容县| 湖州市| 金华市| 营口市|