欢迎来到论文网! 识人者智,自知者明,通过生日认识自己! 生日公历:
网站地图 | Tags标签 | RSS
论文网 论文网8200余万篇毕业论文、各种论文格式和论文范文以及9千多种期刊杂志的论文征稿及论文投稿信息,是论文写作、论文投稿和论文发表的论文参考网站,也是科研人员论文检测和发表论文的理想平台。lunwenf@yeah.net。
您当前的位置:首页 > 科技论文 > 计算机论文

SOAP协议实现UPnP-AV播放系统设备控制

时间:2011-04-24  作者:秩名

论文导读:使用UPnP协议不需要设备驱动程序。UPnP设备工作过程由设备寻址、设备发现、设备描述、设备控制、设备事件、设备表征几部分构成。下面重点介绍GetProtocolInfo、RendererControl、PrepareForConnection、SetAVTransportURI、Play等操作的设计与实现。它用来针对不同的请求类型生成不同的SOAP内容体和信封格式。
关键词:UPnP,设备控制,SOAP,设计与实现
 

1. 引言

UPnP是通用即插即用(UniversalPlug and Play)的缩写,主要用于实现设备的智能互联互通。在结合了UPnP技术的设备以物理形式连接到网络中之后,它们可以通过网络自动彼此连接在一起,而且连接过程无需用户的参与和使用中央服务器   [4]   。使用UPnP协议不需要设备驱动程序,因此使用UPnP建立的网络是介质无关的,它可以运行在几乎所有的操作系统平台之上,可使用C,C++,JAVA和VB等开发语言,可方便地构建设备相互联通的网络环境。

2. UPnP-AV媒体播放系统概述

UPnP提供的媒体播放系统体系结构定义了基本的AV设备和服务模板,说明了UPnP控制点和 UPnP-AV设备之间的整体关系,支持多种设备类型、内容格式及传输协议。一个UPnP控制点控制多个设备完成所需工作,但这些设备与控制点之间的相互作用都是独立的,控制点协调各台设备,使其成为一个整体。

1.1 UPnP设备控制的过程

UPnP设备工作过程由设备寻址、设备发现、设备描述、设备控制、设备事件、设备表征几部分构成,其核心部分就是设备控制。免费论文参考网。

设备控制过程主要基于简单对象存取协议(SimpleObject Access Protocol )。SOAP协议是一种应用程序之间进行数据通讯的机制,是一种在HTTP上使用XML发送命令并接收值的远程过程调用   [5]   。控制点通过向设备服务发出操作来控制设备,一般通过向服务的控制URL地址发送一个适当的控制消息,而服务则做出相应的响应。操作的效果可能改变一个描述服务运行状态的变量,设备事件将这一改变发送到所有相关的控制点。控制点也会轮询服务以获得状态变量的当前值,而每个服务则必须保持状态变量的一致性。

1.2 UPnP-AV媒体播放系统的控制过程

  一个完整的UPnP-AV体系由三部分组成:一个用于控制播放过程的控制点(ControlPoint),相当于遥控器;一台用于存取视频、音频文件的MediaServer,相当于影碟机;一台用于输出图像和声音的MediaRenderer,相当于电视机。UPnP-AV系统工作由控制点启动。控制点请求设置 MediaServer 和MediaRenderer 以便使需要的内容从 MediaServer 流动到MediaRenderer (使用双方都支持的协议和数据格式)。 MediaServer 和 MediaRenderer 则处理控制点的UPnP操作调用。控制点不参与实际的内容传送过程,而只在需要时对它们进行简单的设置,并启动传输,一旦传输开始,控制点就退出了。如果用户需要,控制点可以调用各种各样的 AVTransport 操作来控制内容的流动,如Stop、Pause、FF、REW等。此外,控制点也能控制 MediaRenderer 设备的播放特性,如亮度、对比度、音量等。图1描述了三者之间的相互作用顺序。

 

 
 

 

图1 UPnP-AV设备作用顺序

2. UPnP-AV系统设备控制的实现

2.1 设备控制消息格式   [6]   设备控制过程由控制点通过发SOAP请求,调用设备的各种服务提供的操作方法,控制数据从MediaServer传到MediaRenderer的过程,并控制MediaRenderer的播放过程。所用的消息格式由SOAP协议规定。典型的设备控制消息格式如下:

POST path of control URL  HTTP/1.1

HOST:host of control URL:port of control URL

CONTENT-LENGTH:bytes in body

CONTENT-TYPE: text/xml;charset=”utf-8”

SOAPACTION:”urn:schemas-upnp-org:service:serviceType:v#actionName”

<s:Envelope

xmlns:s=”http://schemas.xmlsoap.org/soap/envelope/”

s:encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/”>

<s:Body>

<u:actionName xmlns:u=”urn:schemas-upnp-org:service:serviceType:v”>

<argumentName>in argvalue</argumentName>

other in args and their values go here, if any

</u:actionName>

</s:Body>

</s:Envelope>

2.2 设备控制设计与实现   [1][2][3]   下面重点介绍GetProtocolInfo、RendererControl、PrepareForConnection、SetAVTransportURI、Play等操作的设计与实现。

2.2.1 GetProtocolInfo操作

1)作用

控制点通过该操作从MediaServer和MediaRenderer获取各自所支持的传输协议和数据格式并进行匹配,确定最后传输时所用的协议。

2)输入参数:无

3)输出参数:2个

source:源设备可用协议

sink: 播放设备可用协议

协议格式如下:

<protocol>’:’ <network>’:’<contentFormat>’:’<additionalInfo>

4)GetProtocolInfo()函数工作过程,如图2所示。

 

 
 

 

图2 GetProtocolInfo()函数工作过程

2.2.2 RendererControl操作

1)作用

这是整个设备控制阶段中最重要的一个操作,它用来针对不同的请求类型生成不同的SOAP内容体和信封格式,并将此SOAP请求发送到相应服务的控制URL,从而调用该服务所提供的相应操作,实现控制点的控制请求。

2)算法描述

PublicSub RendererControl()

Select Case m_enuRequestType '根据请求类型生成不同的SOAP请求

Case 枚举请求类型值

strBody =…  ’生成请求体

enuService = … ’确定要调用的MediaRenderer服务名

strAction = … ’确定要调用的MediaRenderer操作名

 

查看相关论文专题
加入收藏  打印本文
上一篇论文:SF6泄漏报警监测系统在电厂应用(图文)
下一篇论文:ZnO基稀磁半导体材料研究进展
科技论文分类
科技小论文 数学建模论文
数学论文 节能减排论文
数学小论文 低碳生活论文
物理论文 建筑工程论文
网站设计论文 农业论文
图书情报 环境保护论文
计算机论文 化学论文
机电一体化论文 生物论文
网络安全论文 机械论文
水利论文 地质论文
交通论文
相关计算机论文
最新计算机论文
读者推荐的计算机论文