a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

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

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

作者: 時間:2012-12-20 來源:網絡 收藏

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

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

d.JPG


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

c.JPG


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



評論


技術專區

關閉