智能家居中的多屏互动技术研究
2017-05-31王耀彬郑风
王耀彬 郑风
摘要摘要:传统的智能家居都依赖于单一的家庭网关中心,而多屏互动则大多应用于流媒体的即时推送与点播。通过对UPnP技术的扩展和应用,将多屏互动技术应用到智能家居控制系统中,成功设计与实现了多屏互动系统,改变了集中式智能家居控制方式,满足了智能终端间媒体资源和智能家居控制软件的即时推送和点播控制。实验结果表明,媒体平均传输延迟控制最大增量为50ms/h,流量传输时间得到了有效控制。
关键词关键词:多屏互动;智能家居;UPnP
DOIDOI:10.11907/rjdk.171422
中图分类号:TP319
文献标识码:A文章编号文章编号:16727800(2017)005011003
0引言
智能家居是互联网物联化的体现,它以住宅为平台,将智能家居网关作为家居控制核心,通过网络化综合智能控制和管理,将家居生活设施集成,构建高效的住宅设施与家庭日程事务管理系统[12]。多屏互动技术则通过WiFi网络连接,在不同多媒体终端上进行多媒体内容的传输、解析、展示、控制等一系列操作,在不同平台设备上同时共享展示内容[34]。
本文通过对UPnP技术的扩展和应用,将多屏互动技术应用到智能家居系统中,设计了一款集流媒体和应用软件即时推送与多屏点控软件。该软件不仅实现用户手机与智能家居网关中心间音频、视频、图片多屏互动娱乐功能,而且实现家居控制软件的共享与即时点控,取代了以往单一、集中式的智能家居控制方式,让用户在接入WiFi的状态下,手持移动终端便能“随处”对智能家居进行控制,从而达到“多屏互动”控制智能家居的目的。
1多屏互动智能家居系统架构
1.1系统功能结构
系统模块功能如下:控制播放模块负责对家居控制软件和媒体共享推送和多屏控制;虚拟目录模块负责共享家居网关中心的媒体文件,分类建立索引,供用户使用;管理和建立连接模块负责网络下的设备发现、建立连接、监听以及设备撤销等管理操作;媒体传输模块负责共享后的媒体文件传输。
系统控制架构工作流程分为6个阶段:基于DHCP协议的设备寻址、基于SSDP协议的设备发现、基于Mini Web Server模块的设备描述、基于SOAP(简单对象访问协议)的设备控制、基于GENA(通用事件提醒框架)事件处理和基于Http协议消息处理的播放展示。通过该流程的协同,可以实现控制器与服务器端间的有效多屏互动[67]。
1.2设备互联设计
系统设备互联设计包括设备文件描述设计、服务描述设计和事件控制设计。
一个设备的UPnP描述包含所有嵌入式设备定义、多个特定厂商信息和设备展示URL以及所有服务列表,包括事件触发URL和控制URL[5,8]。本系统XML设计中,设备的最外层为root标签定义,由device、specVersion、iconList三部分组成。表1描述了系统设备文件描述集合。
本系统的服务描述主要由Date类型、State变量和Action变量组成范围和事件特征。表2为系统服务描述集合。
系统控制时序流程描述如下: UPnP设备加入网络,然后搜索邻居设备和可订阅服务,完成后作为服务控制点进行远程控制;同时监听时间状态变量值,当事件状态变化后立即更新,防止混乱的操作行为。
2多屏互动系统关键技术实现
2.1设备地址处理
设备和网关加入系统网络后,地址的获取和确认是保证通信的第一步。如图1所示,设备首先发出一条DhcpDiscover消息请求IP地址,然后该设备一直处于监听状态,一旦收到DhcpOffer消息便会分配动态地址;如果请求超时,则会自动配置静态IP地址。
为确定DHCP服务器的存在,必须对自动配置了IP地址的设备进行定时检查。每5分钟发送一次DHCPDISCOVER消息来进行检查,该检查频度可达到有效维护连接性和节省网络带宽的平衡。收到DHCP信息后,设备立即进行动态地址分配。该动作完成后,设备即可释放自动配置的地址,或者暂时保留该地址以维持连接性。如果要进行IP地址转换操作,设备则必须取消有关原地址的公开宣告并进行刷新操作。
2.2控制点与设备的交互处理
当UPnP设备搜索到邻居节点,并查询到此邻居节点提供的服务,便能维护该设备的服务状态。而服务控制设备则在XML描述文档中解析出相关的设备事件,并提醒其进行响应服务。所有操作都基于TCP的HTTP协议进行,并关联到预定义的相关事件URL,这些URL均提前注册在描述文档XML中。
控制点与设备交互处理流程如图2所示。当UPnP设备加入网络之后,首先进行寻址,将SSDP报文(包括设备、服务等)以广播的形式发送出去,用以查询邻居设备是否存在。一旦收到单播回应消息,便建立其设备间的邻居关系;如果一直没有收到回应消息,则会继续定时发送SSDP广播报文持续检测。设备邻居关系建立后,本地设备之间会相互查询邻居设备订阅的服务,如果合法则允许传输相关的媒体和家居控制信息。
2.3媒体和控制软件的轨迹和响应处理
每个UPnP动作均被封装成为一个独立的函数,该函数原型为:intupnp_action(INDocument*in,OUTDocument**out,OUTchar**errorString)。它首先傳入一个指定动作参数的XML文档,并要求创建相应的响应文档,如果出错则返回适当的标识字符串。当某个控制点产生订阅请求时,SDK将调用回调函数并将EventType变量值设为UPNP_EVENT_SUBSCRIPTION_REQUEST。设备通过UpnpAcceptSubscriptionExt()或者UpnpAcceptSubscription()来接受请求,然后将当前状态表发送给控制点。当控制点对某变量进行当前状态的查询请求时,SDK也通过调用注册的回调函数并将变量EventType设为UPNP_CONTROL_GET_VAR_REQUEST来实现。
2.4网络延迟控制和优化
如图3所示,设备加入网络后发送的各种组播报文(主要由设备的搜索报文、订阅、通告报文和生存报文等组成)是UPnP网络中最主要的网络延迟因素,而这些组播报文的传送是UPnP网络中各设备建立通信、维持通信的必要操作。因此,采用以下两条技术策略,能对降低网络延迟起到明显的改进作用。
(1)设备离线时,主动发出自身离线的报文通知邻居设备。
如前所述,组播报文会占用系统较大的网络带宽。如果设备离线或者撤销服务后不主动通知邻居节点,会导致邻居设备一直处于监听状态或者本地设备不断发送组播请求,大量不必要的组播报文占用有限的UPnP网络带宽。因此需要建立起主动离线通知等有效处理机制,提高系统带宽的有效利用率。
(2)对IP数据包的TTL值进行设置(900s左右)。
UPnP设备具有不同时段状态变化大、可订阅服务变化快等特点,而且在设备邻居节点关系建立之后,会有一段时间的设备静默期,此时组播报文少、网络流量小、通信频率低。因此可以对最小流量和最大设备状态进行折衷,通过设定其存活时间来控制网络拥塞报文。经测试,通过将TTL值设置为900s左右,可以明显降低网络延迟时间。
3系统测试
3.1测试环境
测试系统硬件平台是Cotex-A8的ARM控制器,搭载Android 4.0系统,集成了 ZigBee协调器的网关平台。网络环境为TP-LINK TL-WR845N,理论传输速率为300Mbps。
3.2功能测试
(1)测试目的:检验无线WiFi连接环境下,在装有多屏互动系统的安卓设备和智能家居网关之间,能否有效进行多屏点播操作。
测试方法步骤:①在各种安卓设备上,对联网设备上的媒体文件进行搜索和多屏点播等操作;②持续对图片进行切换等操作;③持续对视频和音频文件进行快进后退、切换以及暂停等操作。
测试表明系统音频、视频和图片的多屏点播功能运行正常,没有业务冲突情况,如图4所示。
(2)测试目的:检验无线WiFi连接环境下,装有多屏互动系统的安卓设备能否有效进行多屏点控操作。
测试方法步骤:①在各种安卓设备上获取智能家居控制软件,检查解析网关家居控制软件;②持续对各种家居设备进行多屏点控操作,检查其能否正确点控各种智能家居设备。
测试表明系统多屏点控功能运行正常,没有业务冲突,如图5所示。
3.3性能测试
视频、音频和图片的工作时间和传输延迟时间的影响关系如图6所示,测试时间为一個小时。纵轴以毫秒(ms)为单位,表示传输延迟时间;横轴以分钟(Minute)为单位,表示设备加入网络后的持续工作时间。由图6可见,视频、音频和图片的平均传输延迟时间分别为550ms、300ms和200ms左右。而随着设备持续工作时间的增加,其传输延迟时间只有小幅度增长,在测试时间段内平均延迟时间最大增量为50ms左右,说明系统满足工作性能要求,具有良好的实用性。
4结语
本文设计并实现了智能家居系统的多屏互动,深入探讨和扩展了UPnP技术以及Android应用程序开发,不仅实现了流媒体多屏互动娱乐功能,而且实现了家居控制软件的共享与即时点控,达到“随处”、“多屏”控制智能家居的目的。
参考文献参考文献:
[1]童晓渝,房秉毅,张云勇. 物联网智能家居发展分析[J]. 移动通信,2010(9):1620.
[2]黄也平,杜怿平. 三网融合与无线网络新竞争格局探讨多屏、多终端互动的营销应用[J]. 东南传播, 2013(1) :111114.
[3]THOMPSON T. The Android mobile phone platform[J]. The World of Software Development,2008,33(9):40 47.
[4]罗旋. 中兴通讯IPTV平台的多屏互动设计研究[D].长沙:湖南大学, 2012.
[5]曹甜甜. 基于Android系统的UPNP媒体播放器的研究与实现[D].南京:南京邮电大学, 2013.
[6]YONGHONG WU, JIANCHAO LUO, LEI LUO. Porting mobile web application engine to the Android platform [C]. 10th IEEE International Conference on Computer and Information Technology,2010.
[7]徐垚,周海涛,周小龙. 社交电视手机客户端与IPTV播控平台双屏互动设计[J]. 广播与电视技术,2013(1):1534.
[8]张喆. 基于UPnP协议的智能家庭网络设备的研究与实现[D].南京:南京邮电大学, 2013.
责任编辑(责任编辑:杜能钢)