当前位置:首页 > 物联网 > 《物联网技术》杂志
[导读]摘要:为了使办公室中相互独立的各种智能设备能够实现对等网络连接,提出了利用UPnP网络与ZigBee网络相互结合的解决方案,让ZigBee设备通过网桥实现UPnP设备的虚拟化。并利用UPnP网络实现电脑、办公设备、移动设备等各类电子设备之间的无缝连接,使这些设备彼此自动连接和协同工作,并实现与Internet的连接,从而通过浏览器进行对设备的远程监测与控制。

引言

20世纪80年代末,随着通信与信息技术的发展,出现了通过总线技术对住宅或办公室中各种通信、电器、安防设备进行监控与管理的商用系统。近几年来,随着市场上智能化楼宇的不断升温,智能化办公室亦得到空前的发展,应用日渐增多,特别是在专业的写字楼。

随着科学技术的发展和网络的普及,物联网与互联网的结合是必然的趋势。ZigBee是基于IEEE802.15.4标准的低功耗个域网协议。根据这个协议规定的技术是一种短距离、低功耗的无线通信技术。其特点是近距离、低复杂度、自组织、低功耗、高数据速率、低成本。主要适合用于自动控制和远程控制领域,可以嵌入各种设备。微软提出的通用即插即用协议UPnP(UniversalPlugandPlay)是由UPnPForum提出的一种标准化协议,其分布式的开放网络架构可以根据不同的应用场景完成不同的智能框架。将UPnP协议与ZigBee相结合,是未来智能办公室发展的一大趋势,旨在打造一个安全舒适、节能环保的智能办公室。

1系统设计

现在许多智能办公室使用了总线技术,如X10、LonWorks、CAN等或者使用无线组网技术来控制和监控整个办公环境,比如灯光、安防和其他设备等。目前,总线技术之间的开放性和互操作性还难以统一。使用UPnP设备可以桥接这些网络成为一个网络,并提供用户更多设备存取家庭网络中的设备。在实现时也无须对像X10网络中的现有布线和设备进行昂贵的升级,只需要将设备变成UPnP设备并能够与控制点通讯并接受控制点的控制命令。除此之外,使用UPnP可以对这布在不同PC端上的音乐库进行统一管理。这些设备能被发现然后被其他控制点(比如个人电脑、UPnP接收器)控制。同时这些控制点也可以控制办公室中的任何一个扬声器。图片库可以自己作为一个设备存在,并自动在网络上声明。这使得一个图片库可能临时为多个应用程序使用,例如可以进行幻灯片显示的同时,在电子像框、机顶盒和电视上进行显示。

为了实现以上功能特点,本文设计的智能办公室是基于UPnP网络与ZigBee技术。系统总体框架如图1所示。

基于UPnP与ZigBee的智能办公室研究

该系统将智能办公室中的设备分为两大类,一类是具有读写功能的设备,这些设备不仅能够读取反馈自身实时状态,还能接收外部控制指令进行控制,比如智能空调、智能电灯、智能电视等;另一类就是具备只读功能的设备,它无法从外部写入,只读自身感知元件数据,像温度传感器、照度传感器、湿度传感器等。

将各类计算机、智能办公设备、智能照明、安全报警设备等相连接构成UPnP网络,以实现设备自动发现、动态组网、资源内同共享和协同服务控制,形成一个多层次统一的办公网络,解决设备间互联、互通、互操作性问题。

在UPnP网络中,凡是具备IP地址的设备都必须直接使用网络的IP地址,但有些设备可能并不具备直接使用网络IP地址的能力,例如,电灯开关的控制就是这样,这是非IP设备。这类非IP设备可利用ZigBee技术通过网桥来与控制指针交换信息,同样也可达到预期控制效果。

2系统网桥设计

目前传统办公设备,大多都不具有网络接口,要使其成为UPnP设备,不仅需要为其添加网络接口,若是通过有线局域网还需要重新铺设网络线路,具有较大难度且费用高。但若要是传统办公设备成为ZigBee节点,则相对比较容易,只需为其加上ZigBee模块即可实现对设备的无线控制

若将ZigBee技术融入UPnP网络中,让每个ZigBee节点都成为UPnP设备,构成混合型智能办公网络,则既能发挥ZigBee设备的灵活、无线传输的特性,又能实现设备的即插即用和网络远程控制的功能。

ZigBee/UPnP网桥主要的作用有两点:一是将ZigBee节点信息提供给UPnP网络,并建立与UPnP的连接;二是当ZigBee网络建立后,则通过网桥来进行相关控制。网桥架构如图2所示。

图2ZigBee/UPnP网桥架构

ZigBee/UPnP网桥通过网口连接UPnP网络,并通过串口通信来连接ZigBee协调器,通过ZigBee协调器来获取信息并对ZigBee终端节点进行控制。网桥中运行UPnP协议的设备部分,为ZigBee网络的每一个节点创建一个虚拟UPnP设备,实现信息的准确传输。这样一来,ZigBee节点均实现了UPnP功能。

为实现其功能,ZigBee/UPnP网桥工作流程大致为以下几步:

注册:当接收到ZigBee网络送来的信息时,必须执行一连串的注册程序,并将该设备的相关信息写入XML文件中。

配对:当任一装置加入UPnP网络之后,必须针对设备的行为与功能做配对才能让才能让相同性质的设备进行通信,UPnP网络虽然提供了自动配对功能,但为了符合ZigBee网络的灵活性,需增加手动配对功能。

控制:在配对成功后,由UPnP的控制点发出控制命令必须经过转换,才能对ZigBee节点进行控制,相对地,由ZigBee节点发出的控制命令也必须经过转换才能对UPnP的控制点进行控制。

3系统软件设计

3.1UPnP网络建立

UPnP网络的建立如图3所示,分为设备寻址、设备发现、设备描述、设备控制、设备事件和设备表达这6个环节叫其中,设备寻址、设备发现和设备描述这3个环节是所有设备必须实现的部分,而设备控制、设备事件和设备表示这3个环节则根据设备自身特点选择是否实现该功能。例如,多媒体服务器就不需要实现设备表达,其只向外提供本地资源。图3UPnP网络建立流程图

基于UPnP与ZigBee的智能办公室研究

设备寻址是指当一个设备接入网络时,通过动态主机配置协议DHCP(DynamicHostConfigurationProtocol)服务器,或者通过AutoIP取得设备唯一的IP地址。一旦设备连接到网上并且分配了地址,设备就根据简单服务发现协议SSDP(SimpleServiceDiscoveryProtocol)来发现。在设备发现操作之后,控制点可以发现感兴趣的设备,并使得控制点获得设备能力的描述,同时控制点也可以向设备发送命令,侦听设备状态的改变,并将设备展示给用户。对于一个设备的UPnP描述一般分成两个部分:描述设备和描述设备提供的服务。UPnP对某一设备的描述以XML形式表示出来,设备描述包括制造商信息,包括模块名称和编号、序列号、制造商名称、制造商网站的URL等。在获取了设备以及其服务的信息后,控制点可以向这些服务发出动作,并且接收动作回馈响应。最后,设备表示则采用HTML页的形式进行表示,使控制点能做浏览器中打开,用来浏览设备状态或控制设备図。

目前比较常用的UPnP软件开发工具SDK有Intel的libUPnP-1.2.1C语言)、Cyberlink的cybergarag(Java语言)等。本文选择了Intel的libUPnP-1.2.1作为原型开发用的SDK。

UPnP设备端程序流程图如图4所示。

其中,初始化内容包括初始化SDK、设置根目录、注册设备描述文件、执行设备相关初始化和向网络发出宣告消息。处理异步请求是,设备有订阅请求、获取服务状态当前值的请求和改变服务状态值这三种不同类型的请求。节点发出事件消息,保持控制点信息的更新。当发出SSDP”bye-bye”消息时,先从SDK取消设备注册,随后关闭SDK网。UPnP控制点端程序流程图如图5所示。

与设备类似,控制点也需初始化SDK,同时注册控制点的回调函数。初始化完成后,就可以在UPnP网络上捜索感兴趣的设备。对于网络电视而言,捜索目标定义为

charTVDeviceType[]="urn:schemas-cyoffice-org:NetworkTV:1";

控制点对感兴趣的设备进行订阅服务,每当设备中的状态列表改变时,设备会向订阅过这些事件的控制点发出事件消息。控制点根据这些信息来控制设备状态。

3.2网桥设备端实现

网桥设备端的运行流程如图6所示。

基于UPnP与ZigBee的智能办公室研究

启动用户命令线程,持续等待接受用户输入的命令,并执行相应的动作。启动UPnP框架包括初始化线程池,以及创建相关处理机和注册表。启动Webserver独立线程,开始接受用户Web访问。启动串口独立线程,开始接收来自串口(ZigBee网络)的消息,并对信息做出相应处理。当完成以上环节后,设备进入正常运行状态,对各种命令、消息做出处理和响应。

根据本文网桥设计方案,网桥设备端需要为每个连上网桥的的ZigBee设备创建一个虚拟UPnP设备节点,现将虚拟设备节点结构定义如下:

structdev_Info

{

char*UDN;

char*DevType;

char*ServiceType[SERVICE_NUM];char*ServiceId[SERVICE_NUM];char*EventURL[SERVICE_NUM];char*CtrlURL[SERVICE_NUM];char*SCPDURL[SERVICE_NUM];structServiceContentSeeviceTable[SERVICE_NUM];intServiceCount;

unsignedcharDevKind;

unsignedcharDevId;

intDeviceHandle;

};

其中,服务列表节点结构定义如下:

structServiceContent

{

char*VarName[VAR_NUM];char*VarValStr[VAR_NUM];char*ActionName[ACTION_NUM];

upnp_actionAction[ACTION_NUM];

unsignedintVarCount;

unsignedintActionCount;

};

3.3XML文档设计

设备所具备的功能是设备服务描述的主体部分。例如,支持UPnP的空调设备包含温度调节、模式调节、风力方向等服务;支持UPnP的照明系统包含电灯的开关调节和亮度调节。基于XML的UPnP设备/服务描述是实现服务发现、资源共享的基础,UPnP论坛制定了如下设备XML描述模板[2]:

<?xmlversion=”1.0”?>

<rootxmlns="…">

<specVersion>

<device>

<serviceList>

<service>

</servise>

</serviceList>

</device>

</root>

下面以网络电视机为例,详细介绍基于上述模板开发的XML描述文档:

首先,进行设备类型描述设计为:

<deviceType>urn:schemas-cyoffice-org:NetworkTV:1

</deviceType>

接下来需设计唯一设备名字(UDN)。遵循唯一性原则,这里我们取设备名与该设备的MAC地址组合而成。设该设备的MAC地址为8888888888888。因此,UDN元素可表达为:

<UDN>uuid:Upnp-Net_TV-1_0-8888888888888</UDN>

至此,便完成了设备描述文档第一部分的设计,如下所示:

<?xmlversion=”1.0”?>

<rootxmlns="urn:schemas-cyoffice-org:NetworkTV-1-0”>

<specVersion>

<major>1</major>

<minor>0</minor>

</specVersion>

<device>

<deviceType>urn:schemas-cyoffice-org:NetworkTV:1</deviceType>

<UDN>uuid:Upnp-Net_TV-1_0-8888888888888</UDN>

<serviceList>

</serviceList>

<presentationURL>/NetTVpres.html</presentationURL>

</device>

</root>

本文所选择的网络电视设备包含音量调节、亮度调节、频道选择等服务。服务描述文档定义了这些服务动作的调用接口。所以必须做出进一步的XML文档设计。

例如,可把音量当前值的状态变量定义为VolAdjust,默认值名定义为DefaultVolAdjust,数据类型为整型。对于VolAdjust来说,定义minimum=1,maximum=100,step=l。当其sendEventAttribute(事件发生属性)的属性值为真时,将发出事件通知。于是,网络电视音量变量的定义如下所示:

<stateVariable>

<name>VolAdjust</name>

<sendEventAttribute>yes

</sendEventAttribute>

<dataType>int</dataType>

<allowedValueRange>

<minimum>1</minimum><maximum>100</maximum>

<step>1</step>

</allowedValueRange>

</stateVariable>

<stateVariable>

<name></name>

<sendEventAttribute>no</sendEventAttribute>

<dataType>int</dataType>

<allowedValueRange>

<minimum>1</minimum>

<maximum>100</maximum>

<step>1</step>

</allowedValueRange>

</stateVariable>

可设计与音量的相关动作:GetVolAdjust、SetVolAdjust、GetDefaultVolAdjust、SetDefaultVolAdjust。

网络电视的其他功能的状态变量与动作设计与此类似,具体设计不再赘述。

总结上述过程,我们首先确定服务所包含的功能类型,然后为每一个功能设计两个状态变量(当前值和默认值);然后为每一个状态变量设计查询动作和设置动作。设计过程符合规范且扩充方便。

4结语

本文所研究的基于UPnP网络与ZigBee技术智能办公室系统,使用低成本、低功耗、高灵活性的ZigBee无线网络来构建相关感应节点,通过ZigBee/UPnP网桥,即可实现ZigBee设备到虚拟UPnP的映射。利用UPnP网络是即插即用性,是各智能终端不需要任何设定就可以操作。在系统启动后,不管在办公室内,或在外,均可通过浏览器连接到本系统进而达到远程监控的目的。

20211223_61c34c7eebc59__基于UPnP与ZigBee的智能办公室研究

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭