基于Zigbee协议的OSGi无线家庭网关设计

2024-02-21 20:48

本文主要是介绍基于Zigbee协议的OSGi无线家庭网关设计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 1 引言

 随着internet的普及和数字家庭的深人人心.消费电子、计算机、通信3c一体化趋势日益明显,家庭网络化 已经成为家庭现代化的潮流。家庭网络可看作当作一种分布式网络,普通家电通过嵌入网络接口和能实现本地控制的I/O口,成了网络用具(Internet Personal Appliances),通过家庭网关实现网络用具的远程控制.采用基于IEEE802.15.4标准的Zigbee协议,真正实现宽带网络家庭的最后一 公尺延伸,使家庭组网更加便捷。

  2 家庭网络总体设计

  2.1家庭网络的结构

  图1是家庭网络的总体结构。其中家庭网关是家庭网络的核心,是连接家庭中彼此孤立分散的子网或网络用具、实现信息的交互和共享,并将家庭内网和外部网连接,实现内外网络互通和鉴权的设备。

基于Zigbee协议的OSGi无线家庭网关设计

 实现家庭内部组网方面,本系统采用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:

基于Zigbee协议的OSGi无线家庭网关设计

 OSGi 框架是OSGi服务平台的核心.是通过java类和java API实现的一些功能集,它负责实现各种服务集(bundles)的实时部署、管理和维护工作.通过对服务集的控制来实现网关的各种功能。服务集是服务的 实现载体,OSGi框架和其它所有的功能都是以服务集的方式通过java类和API实现。通过UPnP(Universal Plug and Play)技术可使网络用具的部署变得非常方便。当网络用具和家庭网关在物理层连接后,OSGi框架的设备管理器就会检测到设备服务注册,然后借助驱动定 位器和驱动选择器从网络或本地下载能跟设备匹配的驱动程序。这样.当用户想在家里添置网络设备时,无需手动安装驱动程序就可以实现设备的“网络即插即用” 把家庭网络设计成分布式,具有很多优势.外部网络只要访问家庭网关,就可以透明地访问不带IP的家庭网络用具,同时也解决了家庭网络用具之问互操作性问 题。

 

 3.2网关硬件实现方案

 无线家庭网关由微控制器、GPRS模块和Zigbee射频通信模块三部分组成.硬件模块连接如下图3。

基于Zigbee协议的OSGi无线家庭网关设计

 控 制器采用三星公司的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框架,使网络用具对家庭网络即插即用,同时家庭外部网络访问内部网络具有透明性。

 

这篇关于基于Zigbee协议的OSGi无线家庭网关设计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/733027

相关文章

Python中的可视化设计与UI界面实现

《Python中的可视化设计与UI界面实现》本文介绍了如何使用Python创建用户界面(UI),包括使用Tkinter、PyQt、Kivy等库进行基本窗口、动态图表和动画效果的实现,通过示例代码,展示... 目录从像素到界面:python带你玩转UI设计示例:使用Tkinter创建一个简单的窗口绘图魔法:用

无线路由器哪个品牌好用信号强? 口碑最好的三个路由器大比拼

《无线路由器哪个品牌好用信号强?口碑最好的三个路由器大比拼》不同品牌在信号覆盖、稳定性和易用性等方面各有特色,如何在众多选择中找到最适合自己的那款无线路由器呢?今天推荐三款路由器让你的网速起飞... 今天我们来聊聊那些让网速飞起来的路由器。在这个信息爆炸的时代,一个好路由器简直就是家庭网编程络的心脏。无论你

Java如何接收并解析HL7协议数据

《Java如何接收并解析HL7协议数据》文章主要介绍了HL7协议及其在医疗行业中的应用,详细描述了如何配置环境、接收和解析数据,以及与前端进行交互的实现方法,文章还分享了使用7Edit工具进行调试的经... 目录一、前言二、正文1、环境配置2、数据接收:HL7Monitor3、数据解析:HL7Busines

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

怎么让1台电脑共享给7人同时流畅设计

在当今的创意设计与数字内容生产领域,图形工作站以其强大的计算能力、专业的图形处理能力和稳定的系统性能,成为了众多设计师、动画师、视频编辑师等创意工作者的必备工具。 设计团队面临资源有限,比如只有一台高性能电脑时,如何高效地让七人同时流畅地进行设计工作,便成为了一个亟待解决的问题。 一、硬件升级与配置 1.高性能处理器(CPU):选择多核、高线程的处理器,例如Intel的至强系列或AMD的Ry

无线领夹麦克风什么牌子好用?揭秘领夹麦克风哪个牌子音质好!

随着短视频行业的星期,围绕着直播和视频拍摄的电子数码类产品也迎来了热销不减的高增长,其中除了数码相机外,最为重要的麦克风也得到了日益增长的高需求,尤其是无线领夹麦克风,近几年可谓是异常火爆。别看小小的一对无线麦克风,它对于视频拍摄的音质起到了极为关键的作用。 不过目前市面上的麦克风品牌种类多到让人眼花缭乱,盲目挑选的话容易踩雷,那么无线领夹麦克风什么牌子好用?今天就给大家推荐几款音质好的

基于51单片机的自动转向修复系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 单片机

【Linux】应用层http协议

一、HTTP协议 1.1 简要介绍一下HTTP        我们在网络的应用层中可以自己定义协议,但是,已经有大佬定义了一些现成的,非常好用的应用层协议,供我们直接使用,HTTP(超文本传输协议)就是其中之一。        在互联网世界中,HTTP(超文本传输协议)是一个至关重要的协议,他定义了客户端(如浏览器)与服务器之间如何进行通信,以交换或者传输超文本(比如HTML文档)。

如何选择SDR无线图传方案

在开源软件定义无线电(SDR)领域,有几个项目提供了无线图传的解决方案。以下是一些开源SDR无线图传方案: 1. **OpenHD**:这是一个远程高清数字图像传输的开源解决方案,它使用SDR技术来实现高清视频的无线传输。OpenHD项目提供了一个完整的工具链,包括发射器和接收器的硬件设计以及相应的软件。 2. **USRP(Universal Software Radio Periphera

SprinBoot+Vue网络商城海鲜市场的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍:CSDN认证博客专家,CSDN平台Java领域优质创作者,全网30w+