1 引言
随着internet的普及和数字家庭的深人人心.消费电子、计算机、通信3c一体化趋势日益明显,家庭网络化 已经成为家庭现代化的潮流。家庭网络可看作当作一种分布式网络,普通家电通过嵌入网络接口和能实现本地控制的I/O口,成了网络用具(Internet Personal Appliances),通过家庭网关实现网络用具的远程控制.采用基于IEEE802.15.4标准的Zigbee协议,真正实现宽带网络家庭的最后一 公尺延伸,使家庭组网更加便捷。
2 家庭网络总体设计
2.1家庭网络的结构
图1是家庭网络的总体结构。其中家庭网关是家庭网络的核心,是连接家庭中彼此孤立分散的子网或网络用具、实现信息的交互和共享,并将家庭内网和外部网连接,实现内外网络互通和鉴权的设备。
实现家庭内部组网方面,本系统采用Zigbee无线通信标准。网关采用GPRS无线方式连接外部网络,同时预留RJ45接口。网关全部采用无线通信方式,可以避免家庭布线的繁琐,方便了网关在家庭中的布置,同时使这种网关不仅能够应用于家庭,也能应用在车载等移动系统。
2.2 Zigbee协议概述
Zigbee是基于802.15.4标准开发的关于组网、安全和应用软件方面的技术标准。Zigbee协议包括高层应用规范(profile)、汇聚层、网络层、数据链路层和物理层。其中数据链路层和物理层标准由IEEE802.15.4负责制定,网络层以上由Zigbee联盟制定。
Zigbee技术一开始就是被设计用来构建包括恒温装置、安全装置、家用电表等小型设备的无线网络。作为家庭网络的组网节点,覆盖范围在10m~75m,具有低功耗特性,同时协议实现简单且免收专利费,工作频段为免执照频段等。Zigbee技术的这些特点弥补了低成本、低功耗和低速率无线通信市场的空缺,丰富和便捷的应用为家庭网络化提供了很好的实现手段。值得一提的是,低能耗和极低的时延是蓝牙等无线技术所不能比拟的。
2.3 网络用具
对于网络用具,目前还没有统一的标准,IETF草案中按功能把 它分成胖网络用具(fat IPA)和瘦网络用具(thin IPA)。功能较复杂的胖网络用具定义为:IPA=[network interface][application control][I/O control],即具备网络接口和本地系统控制的I/O端口,同时具备嵌入式应用程序的家用设备.如网络冰箱、网络空调、家庭多媒体系统等需要实现复杂控制功能;如灯、门等实现相对简单的控制功能,需网络接口和I/O控制端口.属于瘦网络用具。网络用具和普通家用设备的区别主要在于有没有网络接口.能否实现网络控制。
3 家庭网关的设计
设计家庭网关是本系统的关键。特别地.作为家庭网络建设的核心.家庭网关的设计思路已经提了不少.本节将主要从j个方面作一些探讨。
3.1基于OSGi的分布式网关模型
开放服务网关起始(OSGi)是OSGi组织制定的一个面向网络开放服务的规范(specification).基于这个规范开发的OSGi框架(Framework)可以部署在嵌入式设备中.框架是具有管理服 务和升级服务等功能的网关设备软件平台。它的实现是以java技术为基础.具备了java平台独立等各种优点,可以独立于不同的制造商.通过API整合不 同的标准.具有跨平台和良好的兼容性,为实现不同通信技术并存和支持多种设备互连奠定基础。本系统网关系统构架设计部署如下图2:
OSGi 框架是OSGi服务平台的核心.是通过java类和java API实现的一些功能集,它负责实现各种服务集(bundles)的实时部署、管理和维护工作.通过对服务集的控制来实现网关的各种功能。服务集是服务的 实现载体,OSGi框架和其它所有的功能都是以服务集的方式通过java类和API实现。通过UPnP(Universal Plug and Play)技术可使网络用具的部署变得非常方便。当网络用具和家庭网关在物理层连接后,OSGi框架的设备管理器就会检测到设备服务注册,然后借助驱动定 位器和驱动选择器从网络或本地下载能跟设备匹配的驱动程序。这样.当用户想在家里添置网络设备时,无需手动安装驱动程序就可以实现设备的“网络即插即用” 把家庭网络设计成分布式,具有很多优势.外部网络只要访问家庭网关,就可以透明地访问不带IP的家庭网络用具,同时也解决了家庭网络用具之问互操作性问 题。
3.2网关硬件实现方案
无线家庭网关由微控制器、GPRS模块和Zigbee射频通信模块三部分组成.硬件模块连接如下图3。
控 制器采用三星公司的ARM9微处理器S3C2410X为主CPU.它是Samsung公司推出的基于ARM9TDMI核.精简指令系统的16/32位高速 微处理器。以S3C2410X为核心.外围扩展一系列功能模块,GPRS模块采用Siemens公司的TC35终端,通过串口与CPU相连.实现与 internet连接。外部网络可 以通过web方式访问家庭网络.查询和控制家庭内部网,同时也通过RJ45网络有线连接外网:Zigbee射频收发模块采用Chipcon AS公司的CC2420芯片.控制家庭网内具备Zigbee标准接口的家庭用具。在家电控制器上加载Zigbee无线模块.通过UPnP技术.网络用具就 成为家庭分布式网络的一个节点。
3.3软件平台软件开发步骤
S3C2410X集成了内存管理单元.可以嵌入多种主流操作系统。在这个系统中.家庭网关采用免费的嵌入式Linux操作系统。Linux源代码的开放性对程序开发者来说很容易实现系统的裁减和再开发.也方便java技术的移植,可以大大地提高系统开发的效率。
系统开发和部署如下:
(1)在主机上安装Linux嵌入式编译和开发环境.如安装交叉编译工具链.采用eclipse作为IDE;
(2)下载CDC及其profile.本系统采用Personal Profile;同时下载OSGi Framework.本系统选用基于OSGi R3的Oscar框架;
(3)裁减Linux嵌入式操作系统.并修改相应的配置文件.交叉编译Linux的内核和组件.生成操作系统镜像文件.通过bootloader把镜像文件下载到目标系统中;
(4)在PC上交叉编译CVM和OSGi Framework,然后通过ftp把编译文件移植到目标板;
(5)按照需求编写相应的bundle服务应用程序、图形用户管理程序等.编译并下载到目标系统。
当然.根据具体的应用还可以添加一些服务程序。总体来说.嵌入式系统的裁减移植和bundle的实现是重点和难点.在开发过程当中需要仔细的调试和分析测试。下面介绍一下http bundle的部分伪代码实现:
package org.osgi.service.http; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse …… //定义HttpContext接口,servlet和资源通过这个接口进行注册 public abstract interface HttpContext{ public abstract boolean handleSecurity(HttpServletRequest request,HttpServletResponse response) throws IOException; //定义接口方法和属性等 } //定义HttpService,其它bundle的资源和servlet 都是通过这个接口被动态注册和加载到OSGi public abstract interface HttpService{ //定义servlet和资源注册处理方法和属性 …… }
在开发完成后,还应该对系统总体进行规划,去除不必要的程序模块,对硬件进行制板封装。
4 应用前景
家庭网关的应用将是大量的.它可以应用于家庭网、楼宇自动化、 车载系统、小型办公室等,具有布置美观方便,无须专业人员维护等优点,必将在未来社会信息化进程中发挥独特的作用。有调查研究表明,一个家庭拥有几台电脑 将会普遍存在,这样家庭网关将发挥不可替代的作用,家庭网关式的Internet的家庭宽带接人和家庭设备共享将成为主流。另外,家庭网关在车载系统等方 面的应用前景也广阔的,它可以应用于车载导航、监控、多媒体等,例如BMW 公司的X5系列汽车采用OSGi实现了导航,MP3音乐下载等各种功能,驾驶者可透过无线通讯技术与PDA结合,可以享受上网浏览或是接收邮件等服务。
5 结束语
采用Zigbee协议组建无线局域网络具有很大的优势,利用CC2420芯片开发短距离射频传输模块成本低、功耗小,并配合基于Java技术的OSGi框架,使网络用具对家庭网络即插即用,同时家庭外部网络访问内部网络具有透明性。