<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于DLNA數字媒體適配器的設計

基于DLNA數字媒體適配器的設計

作者: 時(shí)間:2012-12-20 來(lái)源:網(wǎng)絡(luò ) 收藏

3 軟件設計
本系統作為產(chǎn)品,符合其開(kāi)發(fā)標準。表1中列出了互操作架構下的關(guān)鍵技術(shù),系統功能實(shí)現所需技術(shù)也如表1所列。軟件程序采用C語(yǔ)言編寫(xiě),利用Intel SDKfor UPNP Devices的庫文件代碼一起進(jìn)行交叉編譯成ARM平臺Linux動(dòng)態(tài)連接庫文件,供上層應用調用。開(kāi)發(fā)主機采取在VMWare中安裝Linux虛擬機(Ubuntu11.10),以及arm-linux-gcc 4.3.2編譯器作為開(kāi)發(fā)工具鏈。

本文引用地址:http://dyxdggzs.com/article/148176.htm

d.JPG


3.1 控制點(diǎn)軟件模塊設計
作為數字家庭中的重要設備,能夠根據用戶(hù)提供的某項服務(wù),在設備間實(shí)現互操作,包括設備間的通信能力以及交換有效信息的能力??刂泣c(diǎn)(Control Point)作為UPNP AV網(wǎng)絡(luò )中最重要的節點(diǎn),負責在網(wǎng)絡(luò )中搜索媒體服務(wù)器和媒體渲染器,發(fā)現用戶(hù)所需要的媒體信息,協(xié)調兩者之間的交互操作。軟件采用模塊化設計思想,全局分為4個(gè)模塊;設備列表模塊、主控管理模塊、交互通信模塊以及模塊。圖3為控制點(diǎn)軟件模塊結構圖。

c.JPG


1)設備列表模塊
設備列表模塊用來(lái)在網(wǎng)絡(luò )中實(shí)時(shí)監聽(tīng)、查找UPNP設備,對設備進(jìn)行添加和刪除,對設備表述的XML文件進(jìn)行解析,列表與設備之間一一對應。此模塊的設計實(shí)現了設備信息的緩存處理。在設備列表中,包含所有控制點(diǎn)需要的設備信息和設置參數;設備唯一的識別名稱(chēng)、XML文件描述的網(wǎng)絡(luò )地址、基礎URL以及設備超時(shí)時(shí)間等。
2)主控管理模式
作為軟件模塊中的中樞部分,主控模塊基于模塊,與設備列表模塊與交互通信模塊均相連,完成的主要功能包括:管理設備緩存、處理客戶(hù)端命令、響應設備請求、解析設備回應。定義CtrlPointCallbackEventHandlel()函數注冊UPNP消息回調函數;接收到SSDP發(fā)現消息后,管理列表中的UPNP設備,如使用CtrtPointAddDevice()添加設備;調用CtrlPointHandleEvent()函數接收客戶(hù)端的消息,對消息進(jìn)行處理;使用CtrlPointHandleSubscribeUpdate()和StateUpdate()更新訂閱和狀態(tài)列表;調用CtrlPointSendAction()和CtrlPointSendActi onNumeiicArg()給網(wǎng)絡(luò )中的UPNP設備發(fā)送消息。
3)交互通信模塊
交互通信模塊連接了主控模塊與UPNP客戶(hù)端,實(shí)現設備與控制點(diǎn)之間的交互控制,負責與客戶(hù)端的通訊流程,完成服務(wù)端、渲染器以及控制點(diǎn)之間的交互操作。模塊首先確定了與UPNP客戶(hù)端的通信方式,定義Upnp Get ServerIpAddress()設定IP地址、UpnpGetServerProt()設定端口,使用CtrlPoinHandleGetVar()處理主控模塊發(fā)送過(guò)來(lái)的數據包,完成對命令的解析,調用CtrlPointCommandLoop()函數連續發(fā)送指令,使用CtrlPointProcessCommand()函數將指令傳送給主控模塊,完成對命令的解析和處理。
4)模塊
負責所有與UPNP協(xié)議有關(guān)的內容。系統采用libupnp開(kāi)發(fā)包、以UPNP庫作為底層協(xié)議,涵蓋UPNP協(xié)議所需要的API接口及庫函數。
5)UPNP客戶(hù)端
UPNP客戶(hù)端即系統輸出展示設備,包括電視、音響等。



評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>