kaiyun官方注册
您所在的位置: 首页> 通信与网络> 设计应用> 基于SIP家庭网关和Web Service的智能家居系统
基于SIP家庭网关和Web Service的智能家居系统
佟晓霞, 侯 文
摘要:提出了一种将SIP家庭网关技术和Web Service技术相结合的智能家居系统的设计和实现方案,详细介绍了系统各功能模块,给出了在PDA上调用基于SIP家庭网关的Web服务来监控家中各电器状态的实现结果。该技术可以向用户提供智能家居管理、远程监控等具体服务。
Abstract:
Key words :

摘 要:提出了一种将SIP家庭网关技术和Web Service技术相结合的智能家居系统的设计和实现方案,详细介绍了系统各功能模块,给出了在PDA上调用基于SIP家庭网关的Web服务来监控家中各电器状态的实现结果。该技术可以向用户提供智能家居管理、远程监控等具体服务。
 关键词:家庭网关;SIP协议; Web Service

随着家庭网络化的兴起,如何设计一种集家电管理、协议转换和家庭网络监控为一体的家庭网关,实现家用电器的网络化、智能化和远程控制,已成为当前研究的热点。
  在目前的智能家庭解决方案中,主要是基于家庭网关技术来实现用户对家用电器的智能监控和管理[1-3]。但是,目前基于家庭网关的智能家庭解决方案存在以下问题,首先是服务信息的发布,即如何让用户方便地获得家庭网关所提供的各项服务的信息;其次是如何简化用户对服务信息的处理操作,让用户方便地处理服务信息;最后是如何对家庭网关所提供的各项服务进行管理。Web Service技术的出现解决了这些问题。
  本文提出了一种将SIP家庭网关和Web Service技术相结合的智能家居监控解决方案,通过将家庭网关对智能家电的管理和控制功能包装成Web Service,在Web Service中心处发布以供用户使用,可实现用户在任何时间、任何地点对家中状况的动态监控和管理。同时,利用Web Service中心对各种Web的服务管理能力实现对各服务提供商SP所提供的各种服务的管理,包括:智能家庭相关服务的综合管理;通过在Web Service中心引入鉴权和计费模块,便于移动网络运营商、各服务提供商SP对移动用户的收费和管理。
1 SIP
  SIP(Session Internet Protocol)是一种应用层控制信令协议,用于创建、修改和结束与一个或多个参与者的会话。这些会话可以包括Internet多媒体会议、远程学习、Internet电话呼叫以及多媒体公布。起初SIP被作为建立互联网会议、电话、多媒体和其他类型的通信会议可选择的协议提出,之后,也被用于新型的通信服务,如即时短消息和应用级的跨网络移动通信(包括无线通信)及跨用户设备的通信。SIP借鉴了HTTP的设计思想和体系结构,使用了许多HTTP的消息类型和报头域,用实体头(内容类型描述)标识信息流的内容,并且考虑了认证授权,所使用的认证授权方法类似于Web中所使用的认证授权方法。
  SIP协议基于文本,工作在应用层,可以建立、修改或结束一个或几个参与者的会议,包括Internet多媒体会议、Internet电话呼叫以及多媒体公布。会议中的成员可以通过多点传送(multicast)方式或单点传送(unicast mesh) 方式,甚至两者混合的方式进行通信。以现有的Internet为基础来构架IP电话业务网, 因此SIP有着与H.323完全不同的设计思想。H.323域时,为了在局域网上提供无QoS多媒体通信,很大程度也借鉴了其他协议:如ISDN上的H.320、B-IS-DN上的H.321、PSIN上的H.324等,由于H.323最早为单个LAN的应用考虑的,在WAN(特别是存在大量H.323域时)上寻址、用户定位和环路检测方面较欠缺。SIP是一个分散式的协议,它将网络设备的复杂性推向网络边缘,使核心网络仍是一个“Best Effort”的传送通道。与以前应用较广泛的H.323标准相比,SIP具有更高的功能性和增长潜力,许多标准化住址和团体已经声明或正在考虑对SIP的支持。Microsoft Messenger采用了SIP协议,而不是之前Microsoft NetMeeting所采用的H.323协议。
  目前业界对SIP的支持越来越广泛。全球大的运营商都转向支持SIP方式,在北美和欧洲,多数新的方案都选用SIP ,国内的服务商在考虑组建新网络时,也开始采用SIP。SIP可以提供PC机作为一个软客户的方式入网;可以通过IP电话,终端识别器的方式,也可以通过网关的方式入网;还可以提供多媒体服务IP电话、呼叫中心等个性化服务。
2 Web Service
  Web Service是建立在开放的Internet基础上的新型分布式计算模型,是在现有Web技术和设施的基础上通过制定新的协议和标准、提出新的技术来实现的。利用Web Service技术,能够创建出可供任何人从任何地方使用的功能非常强大的应用程序,它极大地拓展了应用程序的功能,并实现了软件的动态提供。Web Service的优势在于它不像传统的组件技术那样依赖特定的对象模型协议,而是通过利用通用的Internet协议(如HTTP协议)和数据格式(如XML)来实现对服务的访问。Web Service的请求者只要遵从Web Service接口的定义,即可以基于任何平台、使用任何编程语言发送和接收信息。
  Web Service采用SOA(Service-Oriented Architecture)模型作为体系结构,如图1所示。

  Web Service工作流程如下:
  (1) 服务提供者所能提供的服务接口用WSDL(Web Service描述语言)和WSFL(Web Service流语言)描述出来。
  (2) 服务中介者使用UDDI注册服务接口,并接受服务请求者的查询。
  (3) 服务请求者通过使用UDDI在服务中介者处查询,得到所需服务接口的描述文件,然后绑定到这些服务,最终完成服务调用。服务参与者之间的三种操作都采用简单对象访问协议(SOAP)完成。
3 智能家居系统的设计
3.1 整体方案

  在该系统的设计过程中通过引入SIP家庭网关技术和Web Service技术,移动用户利用手机或PDA等移动设备,通过查询Web Service中心可远程地获得家中各智能家电的状态,实现对智能家电的远程控制,同时Web Service中心的计费和鉴权模块可实现对用户身份的认证和计费。
  本系统由三个功能模块组成:SIP家庭网关功能模块、Web Service中心功能模块和用户控制终端功能模块,如图2所示。


  本系统中SIP家庭网关完成内外异构网络的协议解释、转换、分发等工作,并监视、控制各节点的工作,对各个智能家电的控制服务包装成SIP Web Service后在Web Service中心发布以供用户使用。Web Service中心对各服务提供商SP所提供的Web服务进行发布和管理,同时对使用Web服务的移动用户进行鉴权和计费。移动用户通过各种移动终端如手机、PDA等接入Internet,通过查询UDDI注册中心,即可得到所需服务的WSDL文件,最后通过远程调用的方式使用Web服务,查看家中电器状态并对其进行控制。
3.2 系统模块设计
  系统各功能区域的模块设计如图3所示。


  (1)SIP家庭网关模块设计
  SIP家庭网关负责对家中各智能家电的管理,并与Web Service中心进行通信,将家庭网关所提供的服务在Web Service中心处发布。SIP协议包含两类组件:服务代理和网络服务器。服务代理担任着信息编译码和冲突检测等工作;移动用户终端和家庭网关进行统一格式的通信,对于移动终端发来的信息,服务代理分析信息包得出信息含义。网络服务器主要为用户代理提供注册、认证和路由等服务,它又分为代理服务器、重定位服务器和注册服务器。
  (2) Web Service中心模块设计
  Web Service中心模块主要包括用户数据库子模块、UDDI注册中心子模块、Web服务处理子模块和用户计费子模块。其中用户数据库子模块负责对使用Web Service的用户的认证;UDDI注册中心子模块负责发布Web Service及处理用户对Web Service的查询请求;Web服务处理子模块负责对用户调用Web服务的请求进行处理,调用SIP家庭网关侧的SIP Web Service,并将服务调用结果返回给移动终端;计费子模块负责对移动用户进行计费。
  (3) 用户控制终端模块设计
  移动终端为用户监控家庭智能应用终端的通用遥控器,与家庭网关、Web Sercice中心进行双向通信。移动终端携带方便,带触摸屏,具有良好的用户界面,操作简单。一个终端在手,用户可以控制网络中的所有节点,功能强大且性能稳定。终端的功能由安全登录、设备监控组成。
  安全登录:启动PDA后,移动终端生成用户登陆页面。用户登录子模块完成用户在调用SIP Web Service前,向Web Service中心提交身份认证的功能。终端采用异用户异权限机制,不同的用户(管理员、客人、一般用户)具有不同的安全等级和操作权限。若登录失败,终端将反馈给用户警告页面,连续三次失败,终端将自动关闭;登录成功,则根据不同等级的用户,终端生成不同控制页面,控制页面包含着Web服务查询功能、消费服务操作、可以控制的设备以及设备对应的操作。
  设备监控:登录成功后,用户进入家庭控制页面。用户通过Web服务查询子模块完成用户向UDDI注册中心查询所需Web服务的WSDL文件的功能。消费服务模块根据用户从Web Service中心处得到的Web服务的WSDL文件,以远程调用的方式使用SIP Web Service。
4 移动终端调用SIP Web Service的实现
  在本系统的实现过程中,SIP家庭网关和Web Service中心均由PC机来模拟,移动终端由PDA来模拟。
  在移动终端上调用Web Service有两种方法:一种是使用Enhydra组织的kSOAP API,通过建立能独立处理SOAP消息的J2ME移动终端,生成SOAP请求并将请求直接发送到Web服务环境,进而调用Web Service,该方法不使用代理;另一种方法采用代理方式,移动终端通过一个代理Stub与Web Service进行交互,本系统中实现移动终端上调用SIP Web Service采用了代理方式。
  开发时使用了SUN公司提供的WTK(Wireless Toolkit)中的Stub生成器来生成本地Stub的Java代码,该Java代码称为代理的组件。J2ME客户程序将调用SIP Web Service所需的全部信息发送给该组件,该组件将这些信息封装为SOAP请求后发送到Web Service中心并等待应答。代理组件从Web Service中心收到SOAP应答后即从SOAP消息中提取出结果信息并将其呈现给J2ME客户端。在代码的实现中使用了用于J2ME设备上调用Web Service功能的可选包JSR172,整个系统流程如图4所示。


  本文将SIP家庭网关技术和Web Service技术融合到智能家庭系统解决方案中,较好的解决了传统的单独基于家庭网关的智能家庭系统存在的缺陷。标准SIP协议的使用,既解决了当前家电设备所存在的管理、命名和移动等一系列问题,也使远程控制程序设计者不必关心家庭网关的实现细节。通过在PC机及PDA上的测试表明,该系统不仅能满足用户随时随地对家电状况的监控,同时也实现了Web Service中心对家庭网关提供的各项服务信息的管理以及对用户的计费。


参考文献
[1] 周游,方滨,王普.基于ZigBee技术的智能家居无线网络系统[J].电子技术应用,2005,32(9):37-40.
[2] 严丽平,曾辉,宋凯.嵌入式智能家庭网关的设计与实现[J].微计算机信息,2005,35:14-16.
[3] 方海玉,陈章龙,涂时亮.基于nRF2401的智能家居无线网络节点设计[J].微型电脑应用,2007,14(1):12-15.
[4] 马忠梅,籍顺心. 单片机的C语言应用程序设计[M].北京:北京航空航天大学出版社,1999.
[5] SCHMIDT D, LEVINE D, MUNGEE S. The design and performance of real-time object request brokers[J].
Computer Communications Journal,April 1998,21(4).


此内容为AET网站原创,未经授权禁止转载。
Baidu
map