• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    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.czjhyjcfj.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客戶端即系統輸出展示設備,包括電視、音響等。



    評論


    技術專區

    關閉
    主站蜘蛛池模板: 定安县| 新乡市| 九江县| 合肥市| 和田市| 清流县| 景泰县| 会昌县| 浮梁县| 禹州市| 苍南县| 恭城| 敦化市| 麻城市| 静乐县| 寿光市| 白朗县| 息烽县| 凉城县| 利辛县| 昌都县| 南京市| 仙居县| 青海省| 永宁县| 库尔勒市| 阜平县| 思南县| 桑日县| 黄骅市| 呼和浩特市| 朔州市| 安溪县| 江川县| 连城县| 阳朔县| 松潘县| 杂多县| 德州市| 嘉黎县| 全南县|