ZigBee网络拓扑结构显示
- 格式:doc
- 大小:32.44 MB
- 文档页数:31
1.ZigBee技术简介ZigBee是一种短距离,低功耗,低速率,低成本的一种无线自组网通信技术。
2.ZigBee网络特点ZigBee网络有如下特点:低功耗,自组网,多跳路由,高安全,抗干扰能力强……3.ZigBee网络角色3.1协调器ZigBee协调器(英文名:ZigBee Coordinate,通常简写为:ZC)。
协调器在ZigBee网络中,有且只能有一个协调器,它在网络中起了网络搭建和网络维护的功能。
是整个网络的中心枢纽。
是等级最高的父节点。
3.2路由器ZigBee路由器(英文名:ZigBee Router,通常简写为:ZR),路由器在ZigBee网络中既可以充当父节点,也可以充当子节点,有信息转发和辅助协调器维护网络的功能。
3.3终端ZigBee终端(英文名:ZigBee End-Device,通常简写为:ZED),终端在ZigBee网络中,其功能最为简单,只能加入网络,为最末端的子节点设备。
只能与其父节点进行通信,如果两个终端之间需要通信,必须经过父节点进行多跳或者单跳通信。
是ZigBee网络中可允许存在的数量最多的节点,也是唯一允许低功耗的网络设备。
4.ZigBee拓扑结构ZigBee根据网络结构可分为三种,即:星状网络、树状网络和网状网络。
4.1星状网络ZigBee星状网络在ZigBee网络中属于一种最为简单的网络拓扑结构。
包含一个协调器(中心节点)和若干个路由器和终端(附属节点)组成。
该结构如下图所示:该结构网络中,每个附属节点只能与中心节点通信,如果需要两个附属节点之间通信,必须经过中心节点进行数据转发。
4.2树状网络ZigBee树状网络包含一个协调器,若干个路由器和终端组成。
其网络拓扑结构如下图所示:ZigBee树状网络可以看做多个星状网络组成,每个树杈分支处(带节点的路由器)可看做组成星状网络的“中心节点”,每个字设备只能与其父节点通信,最高级的父节点为协调器。
在树状网络中,协调器将整个网络搭建起来,路由器作为承接点,将网络以树状向外扩散。
ZigBee树型网络地址分配及结构
树型路由机制包括配置树型地址和树型地址的路由。
当协调器建立一个新的网络,它将给自己分配网络地址0,网络深度d=0。
网络深度表示仅仅采用父子关系的网络中,一个传送帧传送到ZigBee协调器所传递的最小跳数。
如“节点A”加入网络并与协调器连接,那么“节点A”的网络深度是1;“节点B”加入网络并与“节点A”连接,那么“节点B”的网络深度是2,依此类推。
在树簇型网络中,协调器和路由器都可以连接N个路由节点和终端节点做为自己的子节点,形成一个个“簇”。
但是协调器和路由器能连接的子节点的数量是不是无限的呢?
协议栈中,有以下几个参数影响网络拓扑的形态:
Cm(nwkMaxChildren):每个父节点可以连接的子节点的总个数;
Rm(nwkMaxRouters):在Cm中,可以是路由节点的个数,Rm<=Cm;
Lm:网络最大深度,协调器的深度为0。
这三个参数的值在Z-stack中分别由变量CskipChldrn、CskipRtrs、MAX_NODE_DEPTH决定。
这三个变量可以在NWK中的nwk_globals.c 和 nwk_globals.h 两个文件中查找。
地址的分配:
每一个节点加入网络时,都会被分配16位
(未完待续)。
ZigBee技术的网络拓扑结构ZigBee技术的网络拓扑结构2010-04-06 11:53ZigBee技术网络有两种网络拓扑结构:星型的拓扑结构和对等的拓扑结构。
星型拓扑网络结构有一个叫做PAN主协调器的中央控制器和多个从设备组成,主协调器必须为一个完整功能的设备,从设备既可为完整功能设备也可为简化功能设备,在实际应用中,应根据具体应用情况,采用不同功能的设备,合理的构造通信网络。
在网络通信中,通常将这些设备分为起始设备或者终端设备,PAN主协调器既可作为起始设备、终端设备,也可以作为路由器,它是PAN网络的主要控制器。
在任何一个拓扑网络上,所有设备都有唯一的64位长地址码,该地址码可以在PAN中用于直接通信,或者当设备发起连接时,可以将其转变为16位的短地址码分配给PAN设备,因此,在设备发起连接时,应采用64位的长地址码,只有在连接成功后,系统分配了PAN的标识符后,才能采用16位的短地址进行连接,因此,短地址吗是一个相对地址码,长地址码是一个绝对地址码。
在ZigBee技术应用中,PAN主协调器是主要的耗能设备,而其他从设备均采用电池供电,ZigBee技术的星型拓扑结构通常在家庭自动化、PC外围设备、玩具、游戏以及个人健康检查等方面得到应用。
对等的拓扑网络机构中,同样也存在一个PAN主设备,但该网络不同于星型拓扑网络结构,在该网络中的任何一个设备只要是在它的通信范围内,就可以和其它设备进行通信。
对等拓扑网络结构能够构成较为复杂的网络结构,例如,网孔拓扑网络结构,这种对等拓扑网络结构在工业监测和控制、无线传感器网路偶、供应物资跟踪、农业智能化,以及安全监控等方面都有广泛的应用。
一个对等网络的路由协议可以是基于Ad hoc技术的,也可以是自组织式的和自恢复的,并且,在网络中各个设备之间发送消息时,可通过多个中间设备中继的方式进行传输,即通常称为多跳的传输方式,以增大网络的覆盖范围。
其中,组网的路由协议,在ZigBee网络层中没有给出,这样为用户的使用提供了更为灵活的组网方式。
z i g b e e网络体系结构本页仅作为文档封面,使用时可以删除This document is for reference only-rar21year.MarchZigbee体系Zigbee的体系结构由称为层的各模块组成。
每一层为其上一层提供特定的服务:即由于数据服务实体提供数据传输服务;管理实体提供所有的其他管理服务。
每个服务实体通过相应的服务接入点(SAP)为其上层提供一个接口,每个服务接入点通过服务原语来完成所对应的功能。
Zigbee网络体系结构IEEE仅处理低级MAC层和物理层协议,因此zigbee联盟对其网络层协议和API进行了标注化,zigbee联盟还开发了安全层。
Zigbee物理层物理层定义了物理无线信道和MAC子层之间的接口,提供物理层数据服务和物理层管理服务物理层数据服务从无线物理信道上收发数据。
物理管理服务维护一个由物理层相关数据组成的数据库。
物理层内容:(1)zigbee的激活(2)当前信道的能量检测(3)接收链路服务质量信息(4)Zigbee信道接入方式(5)信道频率选择(6)数据传输和接收MAC层:MAC层负责处理所有的物理无线信道访问,并产生网络信号、同步信号;支持PAN连接和分离,提供两个对等MAC实体之间可靠的链路。
MAC层数据服务:保证MAC协议数据单元在物理层数据服务中正确收发MAC层管理服务:维护一个存储MAC子层协议状态相关信息的数据库。
MAC层功能“(1)网络协调器产生信标;(2)与信标同步(3)支持PAN链路的建立和断开(4)为设备的安全性提供支持(5)信道接入方式采用免冲突载波检测多址接入(CSMA-CA)机制(6)处理和维护保护时隙(GTS)机制(7)在两个对等的MAC实体之间提供一个可靠的通信链路网络层Zigbee协议栈的核心部分在网络层,网络层主要实现节电加入或离开网络、接收或抛弃其他节点、路由查找及传送数据等功能,支持Cluster-Tree等多种路由算法,支持星行、树形、网络拓扑结构。
ZigBee mesh结构图1描述了常见的网络拓扑类型,即。
星,树和网。
该图显示了zigbee元素(例如协调器,路由器和终端设备)如何在这些不同的网络拓扑类型中连接。
通常在网状网络中,每个节点中继或路由数据直到它到达目的节点。
网状网络在路由数据方面非常强大。
在网格中,每个节点与其他节点协作,从而可以实现相等的数据分布。
网状网络的优点如下:•扩展范围,因为它允许数据从节点跳到节点,并且在网络中容易插入任何节点。
•网络是自我修复类型,因为在任何节点发生故障或连接条件丢失的情况下,数据可以通过网络中的其他健康节点进行路由。
由于zigbee支持其设备之间的网状拓扑,因此它已成为非常流行的无线网状网络系统。
它的开发旨在支持低数据速率和低功耗应用。
Zigbee Mesh网络基础知识图2描绘了由协调器,路由器和终端设备组成的简单zigbee网状网络。
在该网络中,所有节点都可以发送或接收数据,但它们具有特定的角色/功能。
Zigbee是开放标准,因此不同供应商设备之间的互操作性可以毫无问题地完成。
•只需一名协调员即可组建zigbee网络。
它存储有关zigbee网络的所有关键信息,包括加密密钥。
•路由器是中间节点,有助于在设备之间中继数据。
•终端设备有两种类型的缩减功能设备和全功能设备。
减少功能的设备不能中继数据,并且会与其父设备(路由器/协调器)通信以执行中继。
另一方面,全功能设备完成中继工作。
Zigbee Mesh网络使用全功能设备。
Zigbee Mesh网络的特点以下是Zigbee网状网络的功能。
zigbee网络拓扑结构及节点设计作者:叶子2 1 引言基于zigbee技术的无线传感器网络适用于网点多、体积小、数据量小,传输可靠、低功耗等场合,在环境监测、无线抄表、智能小区、工业控制等领域已取得一席之地[1]。
同时,zigbee规范与协议日臻完善[2]。
从zigbee1.0、zigbee1.1到目前最新的zigbee2007/pro,zigbee协议规范的演进对硬件系统提出了更高的要求[3]。
2 设计要求2.1 zigbee网络结构从网络结构上看,zigbee网络有星形,树形,网状3种模式,按照网络节点功能划分可分为终端节点(ep)、路由器节点(rp)和协调器节点(cp)3种[2]。
其组织结构如图1示。
图1 zigbee网络拓扑结构其中,协调器节点负责发起并维护一个无线网络,识别网络中的设备加入网络;路由器节点支撑网络链路结构,完成数据包的转发;终端节点是网络的感知者和执行者,负责数据采集和可执行的网络动作[2]。
这就要求zigbee网络节点需扮演终端感知者、网络支持者、网络协调者3种角色。
从功能上,zigbee节点应由微控制器模块、存储器、无线收发模块、电源模块和其它外设功能模块组成。
其结构如图2所示。
图2 zigbee网络节点模块图其中,包括dma、usart模块、定时器模块、a/d模块在内的丰富的外设功能来满足网络对硬件资源的需求,存储器模块完成协议栈的存储与执行,cpu实现数据的运算与处理,mac定时器用于实现网络同步,使用aes技术对信息进行加密,无线模块完成收据的收发与信息帧控制。
2.2 zigbee网络节点设计要求(1)可供选择的无线频段。
无线频段的选择要兼具较高的传输速率和较好的绕射性能,同时要具备一定的抗干扰力。
2.4ghz频段是ieee 502.15.4定义的工作在ism频段的两个工作频段之一,有16个速率为250kb/s的信道。
(2)体积小,成本低,易于大规模布建。
zigbee技术较其它无线技术的优势在于自组网,这就需要布建大规模的网络节点,因此成本问题凸显出来,有资料显示:10$左右的zigbee网络节点有较高的性价比。
实验六ZigBee网络拓谱结构显示实验实验目的1熟悉Qt编程方法。
2了解Qt显示ZigBee网络拓扑结构工作原理。
实验设备1 PC一台(安装Ubuntn);2 物联网开发设计平台;实验要求使用Qt为zigBee网络编写拓扑结构1 编程要求:使用提供的API函数编写应用程序;2 实现功能:构建ZigBee网络拓扑结构;3 实验现象:显示网络拓扑结构;实验原理本实验针对Qt下,将服务器程序API做一定封装,并提供非常方便使用的接口函数,可以让用户在Qt环境下绘制ZigBee网络拓扑结构,这些函数都封装在一个叫TopolgyWidegt的类中,函数原型void Topologet Widget:::setTopologyArea(constQstring&ip,QscrollArea*area);功能设置用来显示拓扑图的滚动区控件参数ip:运行服务程序的网关IP地址Area:用来显示拓扑图的滚动控件返回值无头文件使用本函数需要包含“topologywidget.h”函数原型void Topologet Widget::setTopologyArea(QscrollArea*area);功能立即刷新滚动区域控件拓扑图参数area:用来显示拓扑图的滚动控件;返回值无在实际中用户需要首先设置一个“scrollArea”,只需在窗体函数中,完成setupUi操作之后,调用Topologet Widget:::setTopologyArea函数,即可拓扑显示在这个滚动区域中。
实验步骤1 打开Ubuntu,双击QtCreator。
2“File”→“New File or Project”。
3 选择新建文件类型,选择“Qt C++ Project”,右侧点击“Qt Gui Application”,“Choose”。
4 输入工程名称“Topology”。
选择创建工程路径,“Next”。
5选择编译方式,选中“Qt 4.7.0 Opensource”代表Pc编译方式,选中“Qt 4.7.0 ARM”代表嵌入式版本编译方式,两者都选,“Next”继续。
Zigbee网络优点:1)低功耗:在非工作状态下,ZigBee 节点会处于休眠模式,耗能很低,两节五号干电池可以支持一个节点工作 6-24 个月,甚至更久;在工作模式下,由于ZigBee 技术的数据传输速率低,传输的数据量很小,因此信号作用的时间很短。
再加上设备的休眠激活、搜索和信道接入时延都比较短,这使得 ZigBee 节点更加省电[1]。
2)延时短:ZigBee 的响应速度很快,通信时从休眠状态转换到激活的时延都非常短,一般只需 15ms,节点连接进入网络所需要的时间仅为 30ms,进一步减少了能源消耗[2]。
3)低成本:因为ZigBee网络的数据传输速率低,协议简单,所以大大降低了硬件开发成本,并且 ZigBee 协议免收专利费用和免执照频段[2]。
4)安全性高:ZigBee 提供了数据完整性检查和鉴权功能,在数据传输中提供了三级安全性。
第一级实际是无安全方式,对于某种应用,如果安全并不重要或者上层已经提供足够的安全保护,器件就可以选择这种方式来转移数据。
对于第二级安全级别,器件可以使用接入控制清单(ACL)来防止非法器件获取数据,在这一级不采取加密措施。
第三级安全级别在数据转移中采用属于高级加密标准(AES)的对称密码。
AES可以用来保护数据净荷(一帧中传输的用户数据部分)和防止攻击者冒充合法器件[3]。
5)网络容量大:一个星型结构的 ZigBee 网络最多可以容纳 254 个从设备和一个主设备,网络构成灵活,在一个单独的 ZigBee 网络内可以支持超过 65000 个ZigBee网络节点[2]。
6)免执照频率:ZigBee 技术有三种传输频率段,分别为 868MHz(欧洲1个信道,数据传输速率为20kb/s),915MHz(美国10个信道,数据传输速率为40kb/s)和2.4GHz(16个信道,全球统一无需申请的ISM频段,有助于ZigBee设备的推广和生产成本的降低)频率段为全球免费使用频段,传输速率达到250KB/s。
简介ZigBee是一种新兴的短距离、低功耗、低数据传输速率的无线网络技术,它是一种介于无线标记技术和蓝牙之间的技术方案。
ZigBee是建立在IEEE 802.15.4标准之上,它确定了可以在不同制造商之间共享的应用纲要。
IEEE 802。
15.4标准定义了ZigBee协议的PHY层和MAC层。
PHY层规范确定了在2.4GHz(全球通用的ISM频段)以250kb/s的基准传输率工作的低功耗展频无线电以及另有一些以更低数据传输率工作的915MHz(北美的ISM频段)和868MHz(欧洲的ISM频段)的实体层规范。
MAC层规范定义了在同一区域工作的多个IEEE 802。
15。
4无线电信号如何共享空中通道。
为了促进ZigBee技术的发展,2001年8月成立了ZigBee联盟,2002年下半年,英国Invensys公司、日本三菱电子公司、美国摩托罗拉公司以及荷兰飞利浦半导体公司四大巨头共同宣布,它们将加入“ZigBee联盟”,目前该联盟已经有150多家成员,以研发名为ZigBee的下一代无线通信标准.正如前面所述,ZigBee不仅仅只是802。
15.4的名字,IEEE 802。
15.4仅处理低级MAC层和PHY层协议,所以ZigBee联盟对其网络层协议和API进行了标准化,还开发了安全层,以保证这种便携设备不会意外泄漏其标识。
ZigBee的组成和构网方式1。
FFD和RFD利用zigbee技术组件的无线个人区域网(WPAN)是一种低速率的无线个人区域网(LR WPAN),这种低速率个人区域网的网络结构简单、成本低廉,具有有限的功率和灵活的吞吐量。
在一个LR WPAN网络中,可同时存在两种不同类型的设备,一种是具有完整功能的设备(FFD),另一种是简化功能的设备(RFD)。
在网络中,FFD通常有3中工作状态:(1)作为个人区域网络(PAN)的主协调器;(2)作为一个普通协调器;(3)作为一个终端设备。
FFD可以同时和多个RFD或其他FFD通信。
Zigbee的网络层详细介绍从协议来讲网络层确保底层MAC层的正确操作并为应用层提供接口。
而在Zigbee的网络中,网络层负责网络的架构和数据包的路由,并且按照规划的路径确保数据包可靠地从一个节点发送到另一个节点。
在Zigbee中,路由工作是由协调节点和路由节点共同规划并维护路由路径来保证正常通信。
Zigbee网络由协调节点负责建立,即选择网络组成和选择网络拓扑结构。
在Zigbee中通常有三种网络拓扑结构,即星状结构、树状结构和网状结构。
这三种拓扑结构如图2所示。
图 Zigbee网络拓扑结构星状拓扑是最简单的一种拓扑结构,在Zigbee中,星状拓扑包含了一个协调节点和多个终端节点。
这些终端节点直接且仅和位于网络中心的协调节点相连进行通信。
而两两终端节点需要进行通信时,由协调节点进行转发。
树状拓扑包含了一个协调节点和多个路由节点及终端节点。
协调节点和多个路由节点及终端节点相连,即协调节点作为这些路由节点和终端节点的父节点。
同时,每个路由节点还可以连接其它的路由节点或者终端节点作为其子节点。
需要说明的是,终端节点只能作为子节点而不能作为父节点。
在树状结构中两个节点需要进行通信时,该终端的消息会沿路径树向上传至目标通信节点共同的祖父节点再转发至目标通信节点。
网状拓扑和树状拓扑类似也包含了一个协调节点和多个路由节点及终端节点。
与树状节点不同的是,路由节点间可以相互直接通信,这样就组成了网络状的拓扑结构。
在传送消息时,协调节点和路由节点共同为待通信的两个节点规划最优的路径。
网络拓扑带来的优点有路由更加灵活且优化。
同时整体网络的鲁棒性增强,这是由于即使个别节点出现问题不能工作,还可以选择其它路径来保证通信完成。
应用层是Zigbee网络的最高层,它为Zigbee用户的需求提供服务。
举例来说,一个用户需要获得室内温度和湿度数据,该用户通过Zigbee网络应用层提出请求,之后Zigbee网络应用层向下层逐层传递指令并找到相应的传感器并进行感知获得数据。
zigbee实验报告Zigbee实验报告引言无线通信技术的快速发展已经改变了我们的生活方式和工作方式。
随着物联网的兴起,越来越多的设备需要无线通信来实现互联互通。
Zigbee作为一种低功耗、短距离通信的无线技术,被广泛应用于家庭自动化、智能城市和工业控制等领域。
本文将对Zigbee进行实验研究,探讨其在物联网应用中的优势和应用场景。
一、实验背景在开始实验之前,我们需要了解Zigbee的基本原理和特点。
Zigbee是一种基于IEEE 802.15.4标准的无线通信技术,它采用了低功耗、低数据速率和短距离传输的特点。
Zigbee网络由一个协调器和多个终端节点组成,协调器负责网络的管理和控制,终端节点负责数据的传输和接收。
二、实验目的本次实验的主要目的是通过搭建一个简单的Zigbee网络,了解其通信原理和网络拓扑结构。
同时,我们还将探索Zigbee在家庭自动化中的应用,比如智能照明、温度监测等。
三、实验步骤1. 实验器材准备:我们需要准备一台Zigbee协调器、多个Zigbee终端节点、一台电脑和相应的软件开发工具。
2. 网络搭建:首先,我们将协调器和终端节点连接到电脑上,并通过软件开发工具进行配置。
然后,我们按照一定的拓扑结构将终端节点连接到协调器上,形成一个Zigbee网络。
3. 通信测试:在网络搭建完成后,我们可以进行通信测试。
通过发送和接收数据包,我们可以验证网络的可靠性和稳定性。
同时,我们还可以通过改变节点之间的距离和障碍物的影响,来观察Zigbee网络的传输性能。
四、实验结果与分析在实验过程中,我们成功搭建了一个Zigbee网络,并进行了通信测试。
实验结果显示,Zigbee网络具有较高的可靠性和稳定性,即使在节点之间存在一定的障碍物,数据传输的成功率也很高。
此外,我们还观察到Zigbee网络的传输距离较短,适用于室内环境或者小范围的应用场景。
根据实验结果,我们可以得出以下结论:1. Zigbee网络适用于低功耗、短距离传输的应用场景,比如家庭自动化、智能城市等。
三种zigbee网络架构详解zigbee作为一种短距离、低功耗、低数据传输速率的无线网络技术,它是介于无线标记技术和蓝牙之间的技术方案,在传感器网络等领域应用非常广泛,这得益于它强大的组网能力,可以形成星型、树型和网状网三种zigbee网络,可以根据实际项目需要来选择合适的zigbee网络结构,三种zigbee网络结构各有优势。
星形拓扑是最简单的一种拓扑形式,他包含一个Co-ordinator(协调者)节点和一系列的End Device(终端)节点。
每一个End Device 节点只能和Co-ordinator 节点进行通讯。
如果需要在两个End Device 节点之间进行通讯必须通过Co-ordinator 节点进行信息的转发。
这种拓扑形式的缺点是节点之间的数据路由只有唯一的一个路径。
Co-ordinator(协调者)有可能成为整个网络的瓶颈。
实现星形网络拓扑不需要使用zigbee 的网络层协议,因为本身IEEE 802.15.4的协议层就已经实现了星形拓扑形式,但是这需要开发者在应用层作更多的工作,包括自己处理信息的转发。
树形拓扑包括一个Co-ordinator(协调者)以及一系列的Router(路由器)和End Device (终端)节点。
Co-ordinator 连接一系列的Router 和End Device,他的子节点的Router 也可以连接一系列的Router 和End Device. 这样可以重复多个层级。
树形拓扑的结构如下图所示:需要注意的是:Co-ordinator 和Router 节点可以包含自己的子节点。
End Device 不能有自己的子节点。
有同一个父节点的节点之间称为兄弟节点有同一个祖父节点的节点之间称为堂兄弟节点树形拓扑中的通讯规则:。
实验二ZigBee网络拓扑结构显示【实验目的】1、熟悉Qt编写程序的方法;2、了解Qt显示ZigBee网络拓扑结构的工作原理;【实验设备】1、装有RedHat AS5系统或装有RedHat AS5虚拟机的PC机一台;2、物联网开发设计平台一套;【实验要求】使用Qt为ZigBee网络编写拓扑结构;1、编程要求:使用提供的API函数编写应用程序;2、实现功能:构建ZigBee网络拓扑结构;3、实验现象:显示网络的拓扑结构;【实验原理】本实验箱针对Qt下,将服务程序的API做了一定的封装,并提供了非常方便使用的接口函数,可以让用户在Qt环境下绘制Zigbee网络的拓扑结构。
这些函数都被封装在一个叫做TopologyWidget的类中,它们的详细介绍如下:【函数原型】void TopologyWidget::SetTopologyArea(const QString &ip, QScrollArea *area); 【功能】设置用来显示拓扑图的滚动区域控件【参数】ip: 运行服务程序的网关(计算机)的IP地址area: 用来显示拓扑图的滚动区域控件【返回值】无【头文件】使用本函数需要包含"topologywidget.h"【函数原型】void TopologyWidget::UpdateTopologyArea(QScrollArea *area);【功能】立即刷新滚动区域控件中的拓扑图【参数】area: 用来显示拓扑图的滚动区域控件【返回值】无【头文件】使用本函数需要包含"topologywidget.h"在实际应用中,用户需要首先在界面中放置一个,假设其名称为“scrollArea”,只需要在窗体的构造函数中,完成了setupUi的操作之后,调用TopologyWidget::SetTopologyArea函数即可使拓扑图显示在这个滚动区域中,参考下面的代码。
实验二ZigBee网络拓扑结构显示【实验目的】1、熟悉Qt编写程序的方法;2、了解Qt显示ZigBee网络拓扑结构的工作原理;【实验设备】1、装有RedHat AS5系统或装有RedHat AS5虚拟机的PC机一台;2、物联网开发设计平台一套;【实验要求】使用Qt为ZigBee网络编写拓扑结构;1、编程要求:使用提供的API函数编写应用程序;2、实现功能:构建ZigBee网络拓扑结构;3、实验现象:显示网络的拓扑结构;【实验原理】本实验箱针对Qt下,将服务程序的API做了一定的封装,并提供了非常方便使用的接口函数,可以让用户在Qt环境下绘制Zigbee网络的拓扑结构。
这些函数都被封装在一个叫做TopologyWidget的类中,它们的详细介绍如下:【函数原型】void TopologyWidget::SetTopologyArea(const QString &ip, QScrollArea *area); 【功能】设置用来显示拓扑图的滚动区域控件【参数】ip: 运行服务程序的网关(计算机)的IP地址area: 用来显示拓扑图的滚动区域控件【返回值】无【头文件】使用本函数需要包含"topologywidget.h"【函数原型】void TopologyWidget::UpdateTopologyArea(QScrollArea *area);【功能】立即刷新滚动区域控件中的拓扑图【参数】area: 用来显示拓扑图的滚动区域控件【返回值】无【头文件】使用本函数需要包含"topologywidget.h"在实际应用中,用户需要首先在界面中放置一个,假设其名称为“scrollArea”,只需要在窗体的构造函数中,完成了setupUi的操作之后,调用TopologyWidget::SetTopologyArea函数即可使拓扑图显示在这个滚动区域中,参考下面的代码。
Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget){ui->setupUi(this);// 将界面中的scrollArea设置为用来显示拓扑图TopologyWidget::SetTopologyArea("127.0.0.1", ui->scrollArea);}【实验步骤】1.双击打开桌面上的VMware Player。
如图2.1所示;图2.1 VMWare Player2.在弹出的界面中点击Open a Virtual Machine,如图2.2所示。
图2.2 Open a Virtual Machine 3.接下来点击Play virtual machine,如图2.3所示;图2.3 Play virtual machine4.等待片刻,当出现如图2.4时的界面时,输入用户名和密码。
用户名是root ,密码是111111。
5、登录虚拟机后,双击桌面上的Qt Creator的图标,如图2.5所示;图2.5 Qt Creator图标6、在打开的主界面中,点击菜单栏的“File”,在弹出的下拉菜单中左键单击“New File or Project”,如图2.6所示:图2.6 Qt Creator的新建工程7、选择新建的文件类型,这里需要在左侧选择“Qt C++ Project”,并在右侧选择“Qt Gui Application”,如图2.7所示,并点击“Choose”;图2.7 选择工程类型8、输入工程名称“Topology”,选择创建工程的路径,点击“Next”,如图2.8所示:图2.8 创建工程9、选择编译的方式,选中“Qt 4.7.0 OpenSource”是表示PC机的编译方式,选中“Qt 4.7.0 ARM”表示的是嵌入式版本的编译方式,一般两项都选择,点击“Next”继续,如图2.9所示:图2.9 选择编译方式10、选择基类为“QWidget”,其他可以默认,点击“Next”继续,如图2.10所示。
图2.10 Qt Creator的新建类名和基类11、看到当前新建工程的目录结构,左键单击“finish”后完成工程的新建;如图2.11所示:图2.11 完成工程新建12、按 ctrl+alt 退出虚拟机,在电脑的开始菜单下面的运行中输入 cmd打开命令行,如图2.12所示。
图2.12 在运行中输入cmd13、在命令行中输入 ipconfig ,然后按回车键,查看本机IP地址,如图2.13所示,此时本机IP地址为 192.168.87.1。
图2.13 本机IP地址查询14、在虚拟机桌面上点击右键,选择打开终端,如图2.14所示。
图2.14 打开终端15、在打开的终端中输入 ifconfig eth0 192.168.30.2 ,然后按回车键。
注意,这一步是设置虚拟机的IP地址,使得虚拟机和电脑在同一个网段内(即将电脑IP地址最后一位修改为除0和255以及电脑IP以外的任何个小于255的正数),此时是设置为 192.168.87.2,如图2.15所示。
16、按 ctrl+alt退出虚拟机,在开始菜单的运行中输入 \\192.168.87.2,回车,出现如图2.16所示的登录界面,输入用户名和密码,用户名是 root,密码是 111111,登录后会出现一个文件夹窗口,这就是虚拟机的root文件夹。
图2.16 登录界面17、将实验代码实验二代码\Topology文件夹下的“include”、“lib”、“topologywidget.cpp”、“topologywidget.h”和“topologywidget.ui”复制到上一步中出现的文件夹下的/root/Topology 文件夹(第11步的工程文件夹)下,如图2.17所示。
图2.17 复制必要的文件18、进入虚拟机,再进入Qt的窗体编辑界面,在控件区域中找到“Push Button”和“Scroll Area”分别拖动它们到主窗体中,并将按钮的文字修改为“refresh”,修改方法为双击放置的button 按钮,然后输入refresh。
如图2.18所示:图2.18 设计拓扑图显示界面19、点击主界面的空白处,使得主界面的四周出现正方形的标志,此时可以看到主界面上方的“Lay Out Vertically”按钮处于可以点击的状态,如图2.19所示;图2.19 为主窗体设置布局20、点击“Lay Out Vertically”按钮,主窗体中的滚动区域控件和按钮控件将以垂直方式布局,如图2.20所示;图2.20 垂直布局后的主界面21、在Qt Creater的左侧点击“Edit”,可以切换到工程文件管理界面,我们需要为主界面编写代码,如图2.21所示;图2.21 切换到工程文件管理界面22、首先将之前复制的TopologyWidget相关的文件添加到工程中,在工程目录结构的根部,即工程名的位置,点击鼠标的右键,选择“Add Existing Files…”,如图2.22所示;图2.22 添加文件到工程123、在弹出的对话框中,选择“topologywidget.cpp”、“topologywidget.h”以及“topologywidget.ui”三个文件,并点击“打开”,如图2.23所示;图2.23 添加文件到工程224、在工程目录结构中找到“Topology.pro”文件,双击打开它,如图2.24所示;图2.24 打开Topology.pro 25、在Topology.pro文件中,添加图2.25所示的代码;图2.25 添加链接库信息26、在工程目录结构中的“Sources”文件夹中,找到“widget.cpp”文件,双击打开它,如图2.26所示;图2.26 打开widget.cpp27、在widget.cpp文件中添加图2.27所示的两行代码;图2.27 为widget.cpp添加代码28、在工程目录结构中的“Forms”文件夹中,找到“widget.ui”文件,双击它,回到主界面的编辑界面,如图2.28所示;图2.28 双击ui文件可以回到界面编辑状态29、在主界面中的按钮上点击鼠标右键,在弹出的菜单中选择“Go to slot…”,如图2.29所示;图2.29 为按钮添加处理代码130、在弹出的界面中选择“clicked()”,并点击OK,如图2.30所示;图2.30 为按钮添加处理代码231、此时,会自动回到代码编辑状态,同时,Qt Creator已经为我们添加了一个函数,如图2.31所示,该函数当按钮被点击时会被调用;图2.31 为按钮添加处理代码332、在这个函数中,添加图2.32所示的代码;图2.32 为按钮添加处理代码433、点击左下角的编译选择按钮,并在“Build”下拉列表中选择“Qt for ARM Release”,以便可以编译实验箱可以运行的可执行程序,如图2.34所示;编译选择按钮图2.33 选择编译类型34、点击图2.34所示的左下角的“Build All”按钮,即可开始编译实验箱运行的版本。
编译图2.34 点击编译按钮35、当看到编译选择按钮上方的进度条变成绿色,即表示编译完成,如图2.35所示。
进度条图2.35 编译完成36、在工程的保存目录中,可以找到一个名为“Topology-build-desktop”的文件夹,如图2.36所示。
编译生成的可执行程序“Topology”即在此文件夹中。
图2.36 目标文件夹37、将实验箱用网线和白色USB线与电脑连接起来,如图2.37所示。
网线与PC机相连白色USB线与PC机相连图2.37 实验箱与PC机连接38、打开PC机超级终端。
如图2.38所示。
39、设置超级终端名称。
任意名即可,如图2.39所示。
图2.39 设置连接名称40、选择端口。
例如:自己USB端口转换后为COM1,就选择COM1(可在设备管理器中查看),如图2.40所示。
图2.40 设置COM口41、设置端口属性。
每秒位数设置115200,数据流控选择无,如图2.41所示。
图2.41设置端口属性42、此时将实验箱电源打开可看到如图2.42所示的启动信息。
图2.42 启动信息43、当出现如图2.43所示的信息时,输入用户名和密码登录,用户名是 root。
密码是 111111。
需要注意的是,在输入密码时不会有显示。
图2.43 登录界面44、在超级终端中输入 ifconfig eth0 ,查看实验箱IP,如果出现如图2.44所示的界面,则需配置IP地址,配置方法为在超级终端中输入ifconfig eth0 –i 192.168.87.130 –m 255.155.255.0 –g 192.168.87.1。