第8讲 ZigBee组网流程报告
物联网应用技术专业1《Zigbee组网通讯实训报告(学生完成)0》
![物联网应用技术专业1《Zigbee组网通讯实训报告(学生完成)0》](https://img.taocdn.com/s3/m/732dc524bdd126fff705cc1755270722192e59f9.png)
Zigbee 2块、温湿度传感器、灯座与86型底盒、电源等
实训具体任务
1、了解本实训的主要任务与目的。
查看微课视频?4?
2、连接好设备间的线路,连接好用万用表测试无短路情况后接通设备。
可观看微课视频?Zigbee通信实训之设备间连线?,掌握的同学可略过。
3、对Zigbee进行组网配置,实现2个设备间的无线通信。
陈登职业技术学校实训实训报告
实训工程描述
实训工程名称
Zigbee组网通讯实验
实训课程
物联网关键技术
实训时间
年月日第节课
班级
学生
实训目标:
1、掌握Zigbee组网配置的参数与方法。
2、掌握通过Zigbee获取传感器数据的方法。
3、了解实验用的到Zigbee及传感器了解,掌握接线方法。
4、学会使用组态软件获取数据。
2、人体传感器的出值是?
有人时输出为___,无人时输出_____,该类型传感器我们称为______________型传感器。
3、Zigbee组网时,设备的类型有哪2种______________\________________由于采用了fastZigbee协议,因此建议将设备类型设为终端设备。PanId在设备组网时的作用________________________________,同一个Panid的内的设备可以互相__________________________________。
可观看微课视频?Zigbee设备配置?。
4、编写组态程序实现对数据的采集。
可查看微课?igbee通信之组态程序编写?
在实训的过程中,假设碰到Zigbee设备不能识别,请查看微课?igbee通信之排除不能正常通信的igbee故障?
组网过程总结汇报怎么写
![组网过程总结汇报怎么写](https://img.taocdn.com/s3/m/5f6194b9951ea76e58fafab069dc5022aaea4688.png)
组网过程总结汇报怎么写组网过程总结汇报一、引言组网是指将多台计算机、服务器和网络设备等资源相互连接,形成一个统一的网络,以实现资源共享和信息传递的目的。
在实际的组网过程中,我们通常会遵循一定的步骤和原则进行操作,以确保网络的稳定性和可靠性。
下面是我在组网过程中的总结和汇报。
二、需求分析在进行组网之前,首先需要明确网络的具体需求。
包括组织架构、用户数量、业务需求、带宽要求等方面。
通过与相关人员的沟通和了解,我们可以准确地确定网络的整体规模和基本要求。
三、网络设计在进行网络设计时,我们需要根据需求分析的结果,综合考虑网络的拓扑结构、网络区域划分、设备布局等因素。
通过绘制网络拓扑图和进行设备选型,我们可以有针对性地规划和设计网络的具体方案。
四、网络设备采购和部署在完成网络设计后,我们需要进行网络设备的采购和部署工作。
根据设计方案,我们将所需设备的详细信息进行采购,并进行设备的上架、安装和调试。
通过测试设备的连通性和性能等指标,确保设备能够正常工作。
五、网络连接和配置设备部署完成后,我们需要进行网络连接和配置的工作。
包括设备之间的物理连接、IP地址的划分和配置、路由器的静态路由配置等。
通过正确的配置和连接,我们可以实现设备之间的通信和资源共享。
六、网络安全加固对于组网中的网络安全问题,我们需要采取相应的措施进行加固。
包括网络防火墙的配置、访问控制列表(ACL)的设置、账号权限的管理等。
通过加强网络的安全性,我们可以有效地防范网络攻击和数据泄露等安全威胁。
七、网络测试和优化在完成网络连接和配置后,我们需要进行网络测试和优化的工作。
通过使用网络工具对网络的带宽、延迟、丢包率等性能指标进行测试,并进行相应的优化调整。
通过不断的优化,我们可以提高网络的稳定性和性能。
八、网络运维和管理组网完成后,我们需要进行网络的运维和管理工作。
包括设备的监控和维护、定期备份、故障排查和处理等。
通过及时的维护和管理,我们可以保证网络的正常运行和持续稳定。
Zigbee组网流程——理论
![Zigbee组网流程——理论](https://img.taocdn.com/s3/m/aee80f3c67ec102de2bd89b8.png)
星形网络和树型网络可以看成是网状网络的一个特殊子集,所以接下来分析如何组建一个Zigbee网状网络。
组建一个完整的Zigbee网络分为两步:第一步是协调器初始化一个网络;第二步是路由器或终端加入网络。
加入网络又有两种方法,一种是子设备通过使用MAC层的连接进程加入网络,另一种是子设备通过与一个先前指定的父设备直接加入网络。
一、协调器初始化网络协调器建立一个新网络的流程如图1所示。
图1 协调器建立一个新网络1、检测协调器建立一个新的网络是通过原语NLME_NETWORK_FORMATION.request发起的,但发起NLME_NETWORK_FORMATION.request原语的节点必须具备两个条件,一是这个节点具有ZigBee协调器功能,二是这个节点没有加入到其它网络中。
任何不满足这两个条件的节点发起建立一个新网络的进程都会被网络层管理实体终止,网络层管理实体将通过参数值为INVALID_REQUEST的NLME_NETWORK_FORMATION.confirm的原语来通知上层这是一个非法请求。
2、信道扫描协调器发起建立一个新网络的进程后,网络层管理实体将请求MAC子层对信道进行扫描。
信道扫描包括能量扫描和主动扫描两个过程。
首先对用户指定的信道或物理层所有默认的信道进行一个能量扫描,以排除干扰。
网络层管理实体将根据信道能量测量值对信道进行一个递增排序,并且抛弃能量值超过了可允许能量值的信道,保留可允许能量值内的信道等待进一步处理。
接着在可允许能量值内的信道执行主动扫描,网络层管理实体通过审查返回的PAN描述符列表,确定一个用于建立新网络的信道,该信道中现有的网络数目是最少的,网络层管理实体将优先选择没有网络的信道。
如果没有扫描到一个合适的信道,进程将被终止,网络层管理实体通过参数仠为STARTUP_FAILURE的NLME_NETWORK_FORMATION.confirm的原语来通知上层初始化启动网络失败。
组网过程总结汇报材料范文
![组网过程总结汇报材料范文](https://img.taocdn.com/s3/m/f04194ebd0f34693daef5ef7ba0d4a7302766ca1.png)
组网过程总结汇报材料范文尊敬的领导、各位同事:大家好!今天我向大家汇报一下我们组网过程的总结。
在组网的过程中,我们遇到了很多挑战和困难。
但是通过团结协作,我们成功地完成了任务。
下面我将从三个方面对我们组网过程进行总结。
首先,组网前的准备工作非常重要。
在组网之前,我们要进行充分的准备工作。
首先,我们要对网络的需求进行充分了解,包括网络规模、数据传输速率、网络设备等方面。
然后,根据需求进行网络设计,并制定详细的实施计划。
在实施计划中,我们要明确各项任务的完成时间和责任人,以确保项目进展顺利。
此外,我们还要提前准备好所需的设备和材料,并保证其质量。
通过充分的准备工作,我们能够更好地应对各种问题和挑战,在组网过程中取得良好的效果。
其次,团队的合作非常重要。
组网是一个需要多人合作完成的项目,所以团队的合作非常关键。
在组网的过程中,我们要密切配合,共同努力,共同解决问题。
我们要建立和谐的工作氛围,鼓励和支持团队成员之间的交流和合作。
同时,我们要明确各个团队成员的任务,确保每个人都能发挥自己的专长。
在工作中,我们要善于利用团队资源,共同解决问题。
只有团队紧密合作,才能在组网过程中取得良好的效果。
最后,及时解决问题是组网过程中的关键。
在组网的过程中,我们经常会遇到各种问题和困难。
这时,我们要及时解决问题,以保证项目的进展。
首先,我们要对问题进行深入的分析,找出问题的根本原因。
然后,我们要制定解决方案,并明确责任人和完成时间。
在解决问题的过程中,我们还要注意与各个部门和相关人员的沟通和协调,以确保问题的解决。
只有及时解决问题,才能保证组网的顺利进行。
总之,组网过程中的准备工作、团队合作和及时解决问题是我们取得成功的关键。
通过这次组网的实践,我们不仅提高了自己的专业能力,也增强了团队的凝聚力。
在今后的工作中,我们将继续努力,不断提高自己的能力,为公司的发展贡献自己的力量。
谢谢大家!。
Zigbee组网流程
![Zigbee组网流程](https://img.taocdn.com/s3/m/2780f088e53a580216fcfea2.png)
1、网络形成组网开始时,网络层首先向MAC层请求分配协议所规定的信道,或者由PHY层进行有效信道扫描,网络层管理实体等待信道扫描结果,然后根据扫描结果选择可允许能量水平的信道。
找到合适的信道后,为这个新的网络选择一个个域网标识符(PANID)。
PANID可由网络形成请求时指定,也可以随机选择一个PANID(除广播PANID固定为0xFFFF外),PANID 在所选信道中应该是唯一的。
PANID一旦选定,无线网关将选择16位网络地址0x0000作为自身短地址,同时进行相关设置。
完成设置后,通过MAC层发出网络启动请求,返回网络形成状态。
2、网络维护网络维护网络维护主要包括设备加入网络和离开网络过程。
当网络形成后,通过网络管理实体设定MAC层连接许可标志来判断是否允许其他设备加设备初始化为协调器入网络。
加入方式有联合方式和直接方式,在协议实现中采取直接加入网络方式。
这种方式下由待加入的设备发送请求加入信标帧,网关接收到后,网络管理实体首先判断这个设备是否已存在于网络。
存在,则使其加入网络;若不存在,则向设备发送信标帧,为这个设备分配一个网络中唯一的16位的短地址。
这里的信标帧是由网关无线协议MAC层生成作为PHY层载荷,它包含PANID、加入时隙分配等信息。
网内设备也可以请求断开网络。
当网关收到设备断开连接请求后,MAC层向网络层发送报告,开始执行断开流程,从设备列表中删除该设备相关信息。
网络层上层请求网络层发现当前在运行的网络:NLME NETWORK DISCOVERY.request(ScanChannels,ScanDuration)ScanChannels:高5为保留(b27~b31),低27为分别表示27个有效信道,该位为1,表示扫描;为0不扫描。
ScanDuration:扫描时间,aBaseSuperframeDuration*(2^n+1),n为ScanDuration值。
网络层在家收到该原语后,将通过检查ScanChannels参数发现网络,如果该设备为一个FFD 设备,则执行主动的扫描。
构建zigbee网络总结
![构建zigbee网络总结](https://img.taocdn.com/s3/m/254dff05590216fc700abb68a98271fe900eaf5d.png)
构建 ZigBee 网络总结概述ZigBee 是一种基于 IEEE 802.15.4 标准的无线通信协议,旨在提供低功耗、低数据率的短距离无线通信解决方案。
ZigBee 网络由一个或多个 ZigBee 设备组成,这些设备通过 ZigBee 协调器进行协调和管理。
本文将探讨构建 ZigBee 网络的关键步骤和注意事项。
步骤一:选择合适的硬件设备构建 ZigBee 网络的第一步是选择合适的硬件设备。
ZigBee 网络的设备分为三类:协调器(Coordinator)、路由器(Router)和终端设备(End Device)。
协调器是网络的主节点,负责组织和管理整个网络。
路由器允许设备之间进行中继和转发数据。
终端设备是网络中的最终节点,负责与其他设备进行通信。
在选择硬件设备时,需要考虑以下因素: - 功耗:如果是低功耗应用,选择低功耗的设备非常重要。
- 通信范围:根据项目需求选择合适的通信范围。
- 可靠性:确保设备的稳定性和可靠性。
- 成本:根据项目预算选择合适的硬件设备。
步骤二:设计网络拓扑结构在ZigBee 网络中,网络拓扑结构的设计非常重要。
常见的拓扑结构包括星型、网状和链状。
不同的拓扑结构适用于不同的应用场景。
星型拓扑结构星型拓扑结构是最简单和最常见的ZigBee 网络拓扑结构。
在星型拓扑结构中,所有设备都通过协调器进行通信。
该拓扑结构适用于需要集中管理的应用,例如家庭自动化系统。
网状拓扑结构网状拓扑结构允许设备之间进行多跳通信,提供了更强大的网络覆盖能力。
在网状拓扑结构中,路由器负责转发数据,并确保数据能够可靠地从源设备传输到目标设备。
该拓扑结构适用于需要大范围通信的应用,例如智能城市和工业自动化系统。
链状拓扑结构链状拓扑结构是一种特殊的网状拓扑结构,它只允许设备之间进行单向通信。
链状拓扑结构适用于需要按序传输数据的应用,例如传感器网络。
在设计网络拓扑结构时,需要考虑以下因素: - 设备位置:根据设备的位置选择合适的拓扑结构。
ZIGBee组网流程
![ZIGBee组网流程](https://img.taocdn.com/s3/m/66e9cc39bd64783e09122b5e.png)
ZIGBee组网流程第一个功能:协调器的组网,终端设备和路由设备发现网络以及加入网络//第一步:Z-Stack 由main()函数开始执行,main()函数共做了2 件事:一是系统初始化,另外一件是开始执行轮转查询式操作系统int main( void ){.......// Initialize the operating systemosal_init_system(); //第二步,操作系统初始化......osal_start_system(); //初始化完系统任务事件后,正式开始执行操作系统......}//第二步,进入osal_init_system()函数,执行操作系统初始化uint8 osal_init_system( void ) //初始化操作系统,其中最重要的是,初始化操作系统的任务{// Initialize the Memory Allocation Systemosal_mem_init();// Initialize the message queueosal_qHead = NULL;// Initialize the timersosalTimerInit();// Initialize the Power Management Systemosal_pwrmgr_init();// Initialize the system tasks.osalInitTasks(); //第三步,执行操作系统任务初始化函数// Setup efficient search for the first free block of heap.osal_mem_kick();return ( SUCCESS );}//第三步,进入osalInitTasks()函数,执行操作系统任务初始化void osalInitTasks( void ) //第三步,初始化操作系统任务{uint8 taskID = 0;tasksEvents = (uint16 *)osal_mem_alloc( sizeof( uint16 ) * tasksCnt);osal_memset( tasksEvents, 0, (sizeof( uint16 ) * tasksCnt));//任务优先级由高向低依次排列,高优先级对应taskID 的值反而小macTaskInit( taskID++ ); //不需要用户考虑nwk_init( taskID++ ); //不需要用户考虑Hal_Init( taskID++ ); //硬件抽象层初始化,需要我们考虑#if defined( MT_TASK )MT_TaskInit( taskID++ );#endifAPS_Init( taskID++ ); //不需要用户考虑#if defined ( ZIGBEE_FRAGMENTATION )APSF_Init( taskID++ );#endifZDApp_Init( taskID++ ); //第四步,ZDApp层,初始化,执行ZDApp_init函数后,如果是协调器将建立网络,如果是终端设备将加入网络。
Zigbee组网实验报告
![Zigbee组网实验报告](https://img.taocdn.com/s3/m/d1a28510581b6bd97f19ea67.png)
Zigbee组网实验一.实验目的1.了解zigbee网络2.掌握zigbee节点程序下载方式3.掌握如何组建zigbee星状网络二.实验意义通过实验了解zibee网络的特点,体会其组网及通信过程三.实验环境PC机一台(内安装IAR环境)智能网关一个ZigBee节点ZigBee仿真器一套四.实验原理每一个星状网络中只有一个协调器,当协调器被激活后,它就会建立一个自己的网络。
其它位于协调器附近的zigbee节点,如果与该协调器处于同一信道,则会自动加入到该网络当中。
五.实验步骤一、认识实验设备以及下载设备连接连接线路如图所示:二、Zigbee网络组建1、协调器下载协调器在本套智能家居系统中担任信息收集与传输的工作,它和每个ZigBee模块进行无线通讯,并将信息传送给智能网关,同时也将网关的控制指令发送给各个模块。
我们首先将一个ZigBee模块下载成协调器,具体步骤如下:(1)打开“\实验程序\协调器\Projects\zstack\Samples\collector SimpleApp 1.25\ CC2430DB\SimpleApp.eww”。
如图1-6所示:(2)不同的实验小组选择自己所分配的信道。
点击左侧的文件导航栏,找到tools文件夹,打开其中的文件f8wConfig.cfg,找到自己小组的信道,将行的注释去掉,并且确认其他各个信道代码均为注释状态。
更改完信道之后,在菜单栏中选择Project\Rebuild All进行编译,编译完成后生成的HEX 文件保存在\实验程序\协调器\Projects\zstack\Samples\collectorSimpleApp1.25\CC2430DB\SimpleCollectorEB\Exe 中。
(3)更改完信道之后,在菜单栏中选择Project\Rebuild All进行编译,编译完成后生成的HEX文件保存在\实验程序\协调器\Projects\zstack\Samples\collectorSimpleApp1.25\CC2430DB\SimpleCollec torEB\Exe中;(4)打开smartRF下载软件,如图所示,按照图将下载设备的各个线连接好,之后按一下下载器(也就是白色盒子)上面的黑色按钮,则下载界面中将会识别到要与下载器相连接的zigbee模块芯片,如图所示,对相关条件进行勾选;2.其它zigbee终端节点的下载Zigbee终端节点在上电后自动加入到处于同一信道的zigbee协调器所组建的zigbee网络当中。
zigbee无线通信模块通信流程
![zigbee无线通信模块通信流程](https://img.taocdn.com/s3/m/5a829073ae45b307e87101f69e3143323868f56c.png)
zigbee无线通信模块通信流程下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。
文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor.I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!深入理解Zigbee无线通信模块的通信流程Zigbee,一种基于IEEE 802.15.4标准的低功耗、短距离、无线通信技术,广泛应用于物联网、智能家居等领域。
Zigbee实验报告
![Zigbee实验报告](https://img.taocdn.com/s3/m/80074e6fddccda38376baf31.png)
一、Zigbee简介1.1 什么是ZigBeeZigBee是基于IEEE802.15.4标准的低功耗局域网协议。
ZigBee技术是一种短距离、低功耗的无线通信技术。
其特点是近距离、低复杂度、自组织、低功耗、低数据速率。
主要适合用于自动控制和远程控制领域,可以嵌入各种设备。
简而言之,ZigBee就是一种便宜的,低功耗的近距离无线组网通讯技术。
ZigBee是一种低速短距离传输的无线网络协议。
1.2 Zigbee协议栈ZigBee协议从下到上分别为物理层(PHY)、媒体访问控制层(MAC)、传输层(TL)、网络层(NWK)、应用层(APL)等。
其中物理层和媒体访问控制层遵循IEEE 802.15.4标准的规定。
1.3 Zigbee技术优势•数据传输速率低:10KB/秒~250KB /秒,专注于低传输应用•功耗低:在低功耗待机模式下,两节普通5号电池可使用6~24个月•成本低:ZigBee数据传输速率低,协议简单,所以大大降低了成本•网络容量大:网络可容纳65,000个设备•时延短:典型搜索设备时延为30ms,休眠激活时延为15ms,活动设备信道接入时延为15ms。
•网络的自组织、自愈能力强,通信可靠•数据安全:ZigBee提供了数据完整性检查和鉴权功能,采用AES-128加密算法(美国新加密算法,是目前最好的文本加密算法之一),各个应用可灵活确定其安全属性•工作频段灵活:使用频段为2.4GHz、868MHz(欧洲)和915MHz(美国),均为免执照(免费)的频段1.4 Zigbee应用条件•低功耗;•低成本;•较低的报文吞吐率;•需要支持大型网络接点的数量级;•对通信服务质量QoS要求不高(甚至无QoS);•需要可选择的安全等级(采用AES-128),•需要多方面的较复杂的网络拓扑结构应用;•要求高的网络自组织、自恢复能力。
二、CC2530实验及实验修改2.1 基础实验(1)实验要求:按键触发中断,DS18B20测外部温度,数据以一定格式传输到串口显示(2)程序代码:#include <stdio.h>#include"iocc2530.h"#include"ds18b20.h"#define uint unsigned int#define uchar unsigned char#define KEY1 P0_1 //定义按键为P01口控制//变量uchar Keyvalue=0; //定义变量记录按键动作uint KeyTouchtimes=0; //定义变量记录按键次数//函数声明void Delay(uint);//延时函数声明void Initial(void);//初始化函数声明void InitKey(void); //初始化按键函数声明uchar KeyScan(void); //按键扫描函数声明//字符串【DS18B20采集到的温度是:XXXXXXX】chardata[23]={0x44,0x53,0x31,0x38,0x42,0x32,0x30,0xB2,0xC9,0xBC,0xAF,0xB5,0xBD,0xB5,0xC4, 0xCE,0xC2,0xB6,0xC8,0xCA,0xC7,0xA3,0xBA};unsigned char temp; //定义温度缓冲//延时void Delay(uint n){uint i;for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);}//时钟初始化void InitialCLK() //系统初始化{CLKCONCMD = 0x80; //系统选择32M振荡器while(CLKCONSTA&0x40); //这里等待晶振稳定}//初始化按键为中断输入方式void InitKeyINT(void){P0INP |= 0x02; //上拉P0IEN |= 0X02; //P01设置为中断方式PICTL |= 0X01; //下降沿触发EA = 1; //使能总中断IEN1 |= 0X20; // P0设置为中断方式;P0IFG |= 0x00; //初始化中断标志位}//串口初始化设置void UartInitial(void){PERCFG = 0x00; //位置1 P0口P0SEL = 0x0c; //P0用作串口P2DIR &= ~0xc0; //P0优先作为UART0U0CSR |= 0x80; //串口设置为UART方式U0GCR |= 11;U0BAUD |= 216; //波特率设为115200U0CSR |= 0x40;UTX0IF = 0;}//串口输出字符void UartPutChar(unsigned char DataChar){U0DBUF = DataChar; //发送字符while(UTX0IF == 0); //等待发送完成UTX0IF = 0;}//串口发送字符串函数void UartPutString(char *Data,int len){int j;for(j=0;j<len;j++){U0DBUF = *Data++;//发送字符串while(UTX0IF == 0);UTX0IF = 0;}}//外部中断程序#pragma vector = P0INT_VECTOR__interrupt void P0_ISR(void){temp=ReadDs18B20(); //温度检测UartPutString(data,23); //串口输出字符串if(temp/10>0) //判断是否数据只有1位UartPutChar(temp/10+48); //十位UartPutChar(temp%10+48); //个位UartPutChar('\n'); //换行P0IFG = 0; //清中断标志P0IF = 0; //清中断标志}//主函数void main(){InitialCLK(); //初始化系统时钟UartInitial(); //串口初始化InitKeyINT(); //按键初始化P0SEL &= 0xbf; //DS18B20的io口初始化while(1){}}(3)实验效果:按键一下,串口传出一次“DS18B20采集到的温度是:xx”显示在串口调试助手软件显示屏上2.2 实验修改(1)实验要求:按键触发中断改成按键检测程序代码:#include <stdio.h>#include"iocc2530.h"#include"ds18b20.h"#define uint unsigned int#define uchar unsigned char#define KEY1 P0_1 //定义按键为P01口控制//变量uchar Keyvalue=0; //定义变量记录按键动作int Keytouchtimes=0;//定义变量记录按键次数//函数声明void Delay(uint);//延时函数声明void Initial(void);//初始化函数声明void InitKey(void); //初始化按键函数声明uchar KeyScan(void); //按键扫描函数声明//字符串【DS18B20采集到的温度是:XXXXXXX】chardata[23]={0x44,0x53,0x31,0x38,0x42,0x32,0x30,0xB2,0xC9,0xBC,0xAF,0xB5,0xBD,0xB5,0xC4,0xCE ,0xC2,0xB6,0xC8,0xCA,0xC7,0xA3,0xBA};unsigned char temp; //定义温度缓冲//延时void Delay(uint n){uint i;for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);}//时钟初始化void InitialCLK() //系统初始化{CLKCONCMD = 0x80; //系统选择32M振荡器while(CLKCONSTA&0x40); //这里等待晶振稳定}//按键初始化函数void InitKey(){P0SEL &= ~0X2; //设置P04为普通IO口P0DIR &= ~0X2; //按键在P04 口,设置为输入模式P0INP &= ~0x2; //打开P04上拉电阻,不影响}//串口初始化设置void UartInitial(void){PERCFG = 0x00; //位置1 P0口P0SEL = 0x0c; //P0用作串口P2DIR &= ~0xc0; //P0优先作为UART0U0CSR |= 0x80; //串口设置为UART方式U0GCR |= 11;U0BAUD |= 216; //波特率设为115200U0CSR |= 0x40;UTX0IF = 0;}//串口输出字符void UartPutChar(unsigned char DataChar){U0DBUF = DataChar; //发送字符while(UTX0IF == 0); //等待发送完成UTX0IF = 0;}//串口发送字符串函数void UartPutString(char *Data,int len){int j;for(j=0;j<len;j++){U0DBUF = *Data++;//发送字符串while(UTX0IF == 0);UTX0IF = 0;}}//按键检测函数uchar KeyScan(void){if(KEY1==0) //判断按键是否按下{Delayms(10); //延时很短一段时间if(KEY1==0) //再次判断按键情况{while(!KEY1); //松手检测return 1; //有按键按下}}return 0; //无按键按下}//主函数void main(){InitialCLK(); //初始化系统时钟UartInitial(); //串口初始化InitKeyINT(); //按键初始化P0SEL &= 0xbf; //DS18B20的io口初始化while(1){Keyvalue = KeyScan(); //读取按键动作if(Keyvalue==1){temp=ReadDs18B20(); //温度检测UartPutString(data,23); //串口输出字符串if(temp/10>0) //判断是否数据只有1位UartPutChar(temp/10+48); //十位UartPutChar(temp%10+48); //个位UartPutChar('\n'); //换行}Delay(100); //延时}}实验效果:按键一下,串口传出一次“DS18B20采集到的温度是:xx”显示在串口调试助手软件显示屏上(2)实验要求:去掉松手检测,观察效果程序代码:#include <stdio.h>#include"iocc2530.h"#include"ds18b20.h"#define uint unsigned int#define uchar unsigned char#define KEY1 P0_1 //定义按键为P01口控制//变量uchar Keyvalue=0; //定义变量记录按键动作int Keytouchtimes=0;//定义变量记录按键次数//函数声明void Delay(uint);//延时函数声明void Initial(void);//初始化函数声明void InitKey(void); //初始化按键函数声明uchar KeyScan(void); //按键扫描函数声明//字符串【DS18B20采集到的温度是:XXXXXXX】chardata[23]={0x44,0x53,0x31,0x38,0x42,0x32,0x30,0xB2,0xC9,0xBC,0xAF,0xB5,0xBD,0xB5,0xC4, 0xCE,0xC2,0xB6,0xC8,0xCA,0xC7,0xA3,0xBA};unsigned char temp; //定义温度缓冲//延时void Delay(uint n){uint i;for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);}//时钟初始化void InitialCLK() //系统初始化{CLKCONCMD = 0x80; //系统选择32M振荡器while(CLKCONSTA&0x40); //这里等待晶振稳定}//按键初始化函数void InitKey(){P0SEL &= ~0X2; //设置P04为普通IO口P0DIR &= ~0X2; //按键在P04 口,设置为输入模式P0INP &= ~0x2; //打开P04上拉电阻,不影响}//串口初始化设置void UartInitial(void){PERCFG = 0x00; //位置1 P0口P0SEL = 0x0c; //P0用作串口P2DIR &= ~0xc0; //P0优先作为UART0U0CSR |= 0x80; //串口设置为UART方式U0GCR |= 11;U0BAUD |= 216; //波特率设为115200U0CSR |= 0x40;UTX0IF = 0;}//串口输出字符void UartPutChar(unsigned char DataChar){U0DBUF = DataChar; //发送字符while(UTX0IF == 0); //等待发送完成UTX0IF = 0;}//串口发送字符串函数void UartPutString(char *Data,int len){int j;for(j=0;j<len;j++){U0DBUF = *Data++;//发送字符串while(UTX0IF == 0);UTX0IF = 0;}}//按键检测函数uchar KeyScan(void){if(KEY1 == 1) //高电平有效{Delay(100); //检测到按键if(KEY1 == 1){return(1);}}return(0);}//主函数void main(){InitialCLK(); //初始化系统时钟UartInitial(); //串口初始化InitKeyINT(); //按键初始化P0SEL &= 0xbf; //DS18B20的io口初始化while(1){Keyvalue = KeyScan(); //读取按键动作if(Keyvalue==1){temp=ReadDs18B20(); //温度检测UartPutString(data,23); //串口输出字符串if(temp/10>0) //判断是否数据只有1位UartPutChar(temp/10+48); //十位UartPutChar(temp%10+48); //个位UartPutChar('\n'); //换行}Delay(100); //延时}}实验效果:按键按下时,不断循环换行显示“DS18B20采集到的温度是:xx”,显示速度很快。
zigbee组网实验报告
![zigbee组网实验报告](https://img.taocdn.com/s3/m/219f6029ae1ffc4ffe4733687e21af45b307febb.png)
zigbee组网实验报告ZigBee组网实验报告引言:ZigBee是一种低功耗、低速率、低成本的无线通信技术,被广泛应用于物联网领域。
本实验旨在通过搭建ZigBee网络,探索其组网原理和应用。
一、实验背景随着物联网的快速发展,各种智能设备的出现使得人们的生活更加便捷和智能化。
而ZigBee作为一种独特的无线通信技术,具有低功耗、低成本和可靠性强的特点,成为物联网领域的重要组成部分。
二、实验目的1.了解ZigBee组网的基本原理和拓扑结构;2.搭建ZigBee网络,实现设备之间的通信;3.探索ZigBee在物联网领域的应用。
三、实验步骤1.准备工作在实验开始前,需要准备一些硬件设备,包括ZigBee模块、开发板、传感器等。
同时,还需要安装相应的软件开发环境。
2.搭建ZigBee网络首先,将ZigBee模块插入开发板,连接电源并进行初始化设置。
然后,通过软件开发环境,配置网络参数,包括网络ID、信道等。
接下来,将各个设备逐一加入网络,形成一个完整的ZigBee网络。
3.通信测试完成网络搭建后,进行通信测试。
通过发送指令或传感器数据,验证设备之间的通信是否正常。
同时,还可以进行数据传输速率测试,评估网络的性能。
四、实验结果与分析经过实验,成功搭建了一个ZigBee网络,并实现了设备之间的通信。
通过测试发现,ZigBee网络具有较低的功耗和较高的可靠性,适用于物联网领域的各种应用场景。
五、实验总结ZigBee作为一种重要的无线通信技术,具有广泛的应用前景。
通过本次实验,我们深入了解了ZigBee组网的原理和应用,并通过实际操作掌握了搭建ZigBee网络的方法。
这对我们进一步研究和应用物联网技术具有重要意义。
六、展望在未来,随着物联网的不断发展,ZigBee网络将在更多的领域得到应用。
例如智能家居、智能医疗、智能交通等,ZigBee技术将为这些领域带来更多的便利和创新。
结语:通过本次实验,我们对ZigBee组网技术有了更深入的了解,并体验了其在物联网领域的应用。
无线自组网实验报告
![无线自组网实验报告](https://img.taocdn.com/s3/m/aeb8336f2e60ddccda38376baf1ffc4fff47e264.png)
无线自组网实验报告一、实验目的本实验的目的是了解无线自组网的基本原理和实现方式,实践无线自组网的组网过程和管理技术,并熟悉无线自组网的性能和应用。
二、实验设备和工具1.路由器:用于构建无线自组网的基础设备,可支持多台终端设备同时连接;2.无线终端设备:用于连接无线自组网进行通信;3.电脑:用于配置和管理路由器和终端设备,进行网络监测和数据分析;4.网线:用于将电脑与路由器连接,方便进行配置和管理;5.测试工具:如打印机、摄像头等,用于测试无线自组网的性能和应用。
三、实验步骤1.连接路由器和电脑:通过网线将电脑与路由器连接,确保能够进行配置和管理。
2.配置路由器:通过浏览器访问路由器的管理界面,进行基本配置,如设置SSID、无线信道、加密方式等。
3.连接终端设备:使用无线方式将终端设备连接到路由器,确保能够成功进行通信。
4.组网管理:通过路由器的管理界面,进行组网管理,如设置终端设备的连接权限、限制终端设备的访问速度等。
5.性能测试:使用测试工具对无线自组网进行性能测试,如测试网络延迟、带宽、信号强度等。
6.应用测试:通过连接其他设备,如打印机、摄像头等,测试无线自组网的应用功能,如实现打印、视频监控等。
7.数据分析:通过电脑上的网络监测工具,分析无线自组网的数据流量、连接数量等,了解网络使用情况。
8.故障排除:在实验过程中,如出现无法连接、网络延迟等问题,需要进行故障排除,找出原因并解决。
四、实验结果与分析经过实验,成功搭建了无线自组网,并进行了组网管理、性能测试和应用测试。
通过数据分析,发现网络平均延迟较低,带宽利用率较高,信号强度较为稳定。
应用测试中,能够成功实现打印和视频监控功能。
然而,在实验过程中也遇到了一些问题。
首先,由于终端设备较多,路由器的连接数量限制较少,导致无法同时连接所有设备。
其次,由于网络流量较大,部分终端设备的访问速度较慢,影响了网络体验。
最后,在应用测试中,虽然能够成功实现打印和视频监控功能,但是在部分情况下,网络延迟较高,导致打印或视频监控的效果不佳。
陈正宁-2015123349-实验8-无线ZigBee组网与传输
![陈正宁-2015123349-实验8-无线ZigBee组网与传输](https://img.taocdn.com/s3/m/328945621711cc7931b716bf.png)
淮海工学院计算机工程学院实验报告书课程名:《计算机硬件技术基础》题目:实验八无线ZigBee组网与传输班级:软嵌151学号:2015123349姓名:陈正宁实验八无线ZigBee组网与传输一、实验目的1、通过实验,了解ZigBee协议的基础知识,掌握在ZXBee CC2530 节点板上实现自组织组网。
2、掌握在zstack 协议栈下实现星型网络拓扑的控制方法。
二、实验原理1、ZigBee自组织组网。
在进行一系列的初始化操作后程序就进入事件轮询状态。
对于终端节点,若没有事件发生且定义了编译选项POWER_SA VING,则节点进入休眠状态。
协调器是Zigbee 三种设备中最重要的一种。
它负责网络的建立,包括信道选择,确定唯一的PAN 地址并把信息向网络中广播,为加入网络的路由器和终端设备分配地址,维护路由表等。
Z-Stack中打开编译选项ZDO_COORDINATOR,也就是在IAR开发环境中选择协调器,然后编译出的文件就能够启动协调器。
具体工作流程是:操作系统初始化函数osal_start_system调用ZDAppInit初始化函数,ZDAppInit调用ZDOInitDevice函数,ZDOInitDevice 调用ZDApp_NetworkInit 函数,在此函数中设置ZDO_NETWORK_INIT 事件,在ZDApp_event_loop 任务中对其进行处理。
由第一步先调用ZDO_StartDevice 启动网络中的设备,再调用NLME_NetworkFormationRequest函数进行组网,这一部分涉及网络层细节,无法看到源代码,在库中处理。
ZDO_NetworkFormationConfirmCB 和nwk_Status 函数有申请结果的处理。
如果成功则ZDO_NetworkFormationConfirmCB 先执行,不成功则nwk_Status先执行。
接着,在ZDO_NetworkFormationConfirmCB 函数中会设置ZDO_NETWORK_START 事件。
zigbee的系统结构和组网方式
![zigbee的系统结构和组网方式](https://img.taocdn.com/s3/m/0d0a96bb336c1eb91b375d77.png)
简介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设备入网过程
![Zigbee设备入网过程](https://img.taocdn.com/s3/m/c8329e7c27284b73f2425018.png)
Zigbee设备加入网络过程---关联加入在一个zigbee协调器设备建立网络后,路由器设备或者终端设备(end device),可以加入协调器建立的网络,具体加入网络有两种方式,一种是通过关联(association)方式,就是待加入的设备发起加入网络,具体实现方式后面讨论,另一中是直接(direct)方式,就是待加入的设备具体加入到那个设备下,作为该设备的子节点,由以前网络中的设备,想待加入的设备作为其子设备决定。
下面重点讨论第一种方式,也是实际中用的最多的方式通过关联方式加入一个网络:加入一个设备,是两个设备的事,即子设备和待定父设备对于子设备,首先子设备调用NLME-NETWORK-DISCOVERY.request 原语,设定待扫描的信道,以及每个信道扫描的时间,网络层收到这个原语,将要求MAC层执行被动或主动扫描。
具体发送到设备外的是一个becon request 帧,当在这个信道中的设备收到该帧,将会发送becon帧,这是子设备通过BEACON-NOTIFY.indication 原语,告知该设备的MAC 层,该becon帧包含了发送该帧的地址信息,以及是否允许其他设备以其子节点的方式加入。
待加入的设备,在网络层,将检查该becon帧协议 ID是否是zigbee ID 。
如果不是,将忽略;如果是,该设备将复制收到每个becon帧的相关信息到其关联表中(neighbor tabl e)。
一旦MAC层完成了扫描,将发送 MLME-SCAN.confirm 原语,告知网络层,网络层将发送NLME-NETWORK-DISCOVERY.confirm 原语,告知应用层。
应用层收到该原语,应用层将根据情况,要么重新要求扫描,或者从关联表中选择所发现的网络加入。
调用NLME-JOIN.request 原语,原语中各个参数的设置参看协议(可以在本站下载栏找到)非常容易。
如果在关联表中找不到合适的准父节点,将调用原语告知应用层,如果由多个设备可以满足要求,将选择到协调器节点深度最低的设备,如果有几个设备的深度相同,且都是最小深度,将从中随机选择一个。
Zigbee组网原理详解
![Zigbee组网原理详解](https://img.taocdn.com/s3/m/8c43db07ad02de80d4d84065.png)
Zigbee组网原理详解1.组网概述组建一个完整的zigbee网状网络包括两个步骤:网络初始化、节点加入网络。
其中节点加入网络又包括两个步骤:通过与协调器连接入网和通过已有父节点入网。
2. 网络初始化预备Zigbee网络的建立是由网络协调器发起的,任何一个zigbee节点要组建一个网络必须要满足以下两点要求:(1)节点是FFD节点,具备zigbee协调器的能力;(2)节点还没有与其他网络连接,当节点已经与其他网络连接时,此节点只能作为该网络的子节点,因为一个zigbee网络中有且只有一个网络协调器。
FFD:Full FuncTIon Device 全功能节点RFD:Reduced FuncTIonDevice 半功能节点3.网络初始化流程3.1 确定网络协调器:首先判断节点是否是FFD节点,接着判断此FFD节点是否在其他网络里或者网络里是否已经存在协调器。
通过主动扫描,发送一个信标请求命令(Beaconrequest command),然后设置一个扫描期限(T_scan_duraTIon),如果在扫描期限内都没有检测到信标,那么就认为FFD在其pos内没有协调器,那么此时就可以建立自己的zigbee网络,并且作为这个网络的协调器不断地产生信标并广播出去。
注意:一个网络里,有且只能有一个协调器(coordinator)。
3.2 进行信道扫描过程。
包括能量扫描和主动扫描两个过程:首先对指定的信道或者默认的信道进行能量检测,以避免可能的干扰。
以递增的方式对所测量的能量值进行信道排序,抛弃那么些能量值超出了可允许能量水平的信道,选择可允许能量水平的信道并标注这些信道是可用信道。
接着进行主动扫描,搜索节点通信半径内的网络信息。
这些信息以信标帧的形式在网络中广播,。
短距离无线通信第八节
![短距离无线通信第八节](https://img.taocdn.com/s3/m/0c03156af5335a8102d2203d.png)
在处理AF_INCOMING_MSG_CMD事件时调用了事件处理函数 SampleApp_MessageMSGCB()进行处理。 SampleApp_MessageMSGCB()函数如下: 程序代码: void SampleApp_MessageMSGCB( afIncomingMSGPacket_t *pkt ) { switch ( pkt->clusterId ) { case SAMPLEAPP_PERIODIC_CLUSTERID: break; …… } } 在SampleApp_MessageMSGCB()函数中根据簇ID的不同进行处 理。但是Sample Application对事件 SAMPLEAPP_SEND_PERIODIC_MSG_EVT的处理时什么都没有做, 用户可以根据实际需要自行添加geMSGCB()函数中根据簇ID的不同进行处理。 Sample Application对事件SAMPLEAPP_FLASH_CLUSTERID的处理 时调用了灯闪烁函数 HalLedBlink()控制LED灯的闪烁,闪烁时间由发送端设定值决定。
在SampleApp_SendPeriodicMessage()函数中调用了数据发送函数 AF_DataRequest()函数发送数据。参数中地址为 SampleApp_Periodic_DstAddr在SampleApp_Init()被初始化。其中 的参数簇ID为SAMPLEAPP_PERIODIC_CLUSTERID,数据载体为 SampleAppPeriodicCounter。当接收端接收到该信息后会触发事件 AF_INCOMING_MSG_CMD进行处理,根据簇ID接收端做出响应的处 理。事件AF_INCOMING_MSG_CMD事件的处理如下: 程序代码: case AF_INCOMING_MSG_CMD: SampleApp_MessageMSGCB( MSGpkt ); break;
组网过程总结汇报
![组网过程总结汇报](https://img.taocdn.com/s3/m/c8a6d4e83086bceb19e8b8f67c1cfad6195fe9f3.png)
组网过程总结汇报在这个科技高速发展的时代,网络已经成为了人们生活中不可或缺的一部分。
无论是个人用途还是企业用途,网络都扮演着重要的角色。
而组网则是搭建网络基础设施的过程,为了满足日益增长的网络需求,组网过程逐渐变得复杂和重要。
下文将对组网过程进行总结汇报。
首先,组网过程的第一步是规划网络结构。
在组网的初期阶段,需要考虑网络的用途和需求,并根据需求来确定网络结构。
这包括确定网络的拓扑结构,例如星型、环形、总线型等;确定网络规模,包括需要连接的设备数量和覆盖的区域范围;以及确定网络的层次结构,包括核心层、汇聚层和接入层等。
通过规划网络结构,可以为后续的组网工作提供清晰的指导。
接下来,组网过程的第二步是选择网络设备。
根据规划好的网络结构,需要选择合适的网络设备来建设网络。
这些网络设备主要包括路由器、交换机、防火墙、服务器等。
在选择网络设备时,要考虑设备的性能指标、价格、品牌信誉等多个因素,以确保选择到适合网络需求的设备。
此外,还需要考虑设备的可扩展性和兼容性,以方便后续网络的升级和扩展。
然后,组网过程的第三步是进行网络布线。
网络布线是将各个网络设备通过合适的网络介质进行连接的过程。
网络介质可以是网线、光纤、无线信号等,根据不同的需求和条件选择合适的网络介质。
在进行网络布线时,需要遵循一定的布线规范和标准,以确保网络的稳定性和可靠性。
此外,还需要考虑布线的安全和美观,以提升网络使用的体验。
最后,组网过程的第四步是配置和测试网络设备。
在网络设备布线完成后,需要对设备进行配置和测试,以确保设备能够正常工作。
配置包括设定设备的IP地址、子网掩码、网关、DNS等网络参数,以及设置设备的安全策略和访问控制规则等。
测试包括网络连通性测试、设备性能测试等,以验证网络的可用性和稳定性。
通过配置和测试,可以及时发现和解决设备配置和连接问题,确保网络的正常运行。
综上所述,组网过程是一个复杂而重要的过程,需要进行网络结构规划、设备选择、网络布线和设备配置与测试等多个步骤。
zigbee实训报告总结
![zigbee实训报告总结](https://img.taocdn.com/s3/m/62bfb1b2f80f76c66137ee06eff9aef8941e48fa.png)
zigbee实训报告总结Zigbee是一种低功耗、低速率、近距离无线通信技术,广泛应用于物联网领域。
本篇文章将对我进行的Zigbee实训进行总结与回顾。
通过本次实训,我对Zigbee协议、网络拓扑结构和通信过程有了更加深入的了解。
一、实训背景本次实训是在xx大学xx实验室进行的,旨在提供对Zigbee技术的实践操作和应用。
实训内容主要包括Zigbee网络的搭建、节点的配置与连接、数据的传输与处理等。
通过实际操作,进一步了解Zigbee的特点和应用场景。
二、实训过程1. Zigbee网络搭建在实训开始之前,我们首先了解了Zigbee网络的组网方式和拓扑结构。
根据实验要求,我们选择了星型拓扑结构来搭建Zigbee网络。
通过安装和配置Zigbee网络协调器和终端设备,我们成功地建立了一个能够正常工作的Zigbee网络。
2. 节点配置与连接在Zigbee网络中,协调器是网络的中心,负责管理和控制整个网络。
我们通过配置协调器的参数和属性,使其具备网络管理的功能。
同时,我们还配置了一些终端设备,并将其与协调器进行连接。
通过配置节点的地址、频道和安全模式,节点能够与协调器进行通信和数据交换。
3. 数据的传输与处理在Zigbee网络中,节点之间的通信是通过数据包进行的。
我们学习了如何通过Zigbee协议进行数据包的封装和解封装,以及传输数据的方法。
通过编写程序,我们能够实现节点之间的数据传输和处理,包括数据的发送、接收和解析等。
三、实训成果通过本次实训,我取得了以下几方面的成果:1. 对Zigbee技术有了更深入的了解通过实际操作和上机实践,我对Zigbee的特点、工作原理和应用场景有了更加深入和全面的了解。
我了解了Zigbee网络的组网方式和拓扑结构,认识到Zigbee在物联网领域的重要性和潜力。
2. 熟悉了Zigbee网络的搭建与配置在实训过程中,我亲自搭建了一个Zigbee网络,了解了网络节点的配置和连接过程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ZigBee网络关键技术研究0 引言20世纪六七十年代,计算资源放在计算中心,计算机的体积庞大;80年代,个人计算机普及,借助网络通信,实现资源共享、信息互通;90年代随着无线电话的普及,无线通信技术得到发展。
现在常见的几种近距离无线通信技术:(1)WiFi:即IEEE802.11x,提供无线局域网的接入(2)蓝牙:工作在2.4GHz的频段(3)红外线数据通信IrDA:利用红外线进行点对点通信(4)ZigBee:近距离无线通信技术,以2.4GHz为主要频段,采用扩频技术Zigbee是IEEE 802.15.4协议的代名词,是一种短距离、低功耗的无线通信技术。
其特点是近距离、低复杂度、自组织、低功耗、低数据速率、低成本。
主要适合用于自动控制和远程控制领域,可以嵌入各种设备。
Zigbee是一个由可多到65000个无线数传模块组成的一个无线数传网络平台,十分类似现有的移动通信的CDMA网或GSM网,每一个Zigbee网络数传模块类似移动网络的一个基站,在整个网络范围内,它们之间可以进行相互通信;每个网络节点间的距离可以从标准的75米,到扩展后的几百米,甚至几公里。
1 ZigBee网络拓扑结构Zigbee协议标准中定义了三种网络拓扑结构形式:星状结构,树状结构,网状结构。
星形网络和树型网络可以看成是网状网络的一个特殊子集,网络拓扑结构是最常用的结构形式。
如图1所示,图1 ZigBee网络拓扑结构图Zigbee网络只支持2种物理设备;全功能设备(FFD,Full Function Device)和精简功能设备(RFD,Reduced FunctionDevice),其中FFD设备可提供全部服务,可充当任何Zigbee节点,不仅可以发送和接收数据,还具有路由功能,因此可以接收子节点;而RFD设备只提供部分服务,只能充当终端节点,不能充当协调器和路由节点,它只负责将采集的数据信息发送给协调器和路由节点,并不具备路由功能,因此不能接收子节点,并且RFD之间的通信必须通过FFD才能完成。
Z igbee 标准在此基础上定义了三种节点:Zigbee协调点(Coordinator)、路由节点(Router)和终端节点(EndDevice)。
总结起来,可为协调点、路由节点必须为FFD设备,终端节点可为FFD设备也可为RFD 设备。
2 ZigBee模块的组网Zigbee网络具有三种网络形态节点:Coordinator(中心协调器),Router(路由器),End Device(终端节点)。
Coordinator(中心协调器),用来创建一个Zigbee网络,当有节点加入时,分配地址给子节点,Coordinator通常定义为不能掉电的设备,没有低功耗状。
每个Zigbee网络需要且仅需要一个Coordinator,不同网络的PAN ID(网络ID号)应该不一样,如果在同一空间存在二个Coordinator,如果它们初始的PAN ID一样,则后上电的Coordinator的PAN ID会自动加一,以免引起PAN ID冲突。
Router(路由器),负责转发资料包,寻找最适合的路由路径,当有节点加入时,可为节点分配地址(可参考例1),Router通常定义为具有电源供电的设备,不能进入低功耗状态,每个Zigbee网络可能需要多个Router,每个Router可以收发数据也可以转发数据,当一个网络全部由Coordinator(1个)及Router(多个)构成时,这个网络才是真正的MESH 网络(网状网),每个节点发送的数据全部是自动路由到达目标节点。
EndDevice(终端节点),选择已经存在的Zigbee网络加入,可以收发数据,但是不能转发数据,End Device通常定义为电池供电设备,可周期性唤醒并执行设定的任务,具有低功耗特征。
如图2所示,图2 ZigBee网络图对于数据传输应用的Zigbee网络,用户的配置通常是1个Coordinator + n个Router (全功能节点),可根据需要选择一定数量的End Device。
Zigbee模块有二种类型的节点,即Coordinator(主节点)及Router(从节点),每个Zigbee网络由一个Coordinator(主节点)及N个Router(从节点)构成,同一个Zigbee 网络内,所有的节点必须具有相同的频道(参考例2)及PAN ID(网络ID)。
如图3所示:图3 Zigbee模块图一般ZigBee模块出厂时默认的节点类型全部为Router(从节点),可根据需求使用配置软件对模块4个参数进行设置:PAN ID、波特率、节点类型、无线频道;如图4所示,图4 配置软件配置图(1)PAN IDZigBee协议使用一个16位的个域网标志符(PAN ID)来标识一个网络,不同厂家生产的ZigBee模块PANID设置方式不同,可参考厂家给出的相关资料。
通常使用的ZigBee模块,厂家会将ZigBee协议栈设置好,可直接通过配置软件进行设置,PANID设置可选择范围为0~0x3FFF。
同一个网络内的每个节点具有相同的PAN ID,不同的网络之间PAN ID是不同的,在同一空间,二个不同PAN ID的网络是不会相互影响的;如图5所示图5 同一网络PANID设置图(2)波特率与模块直接连接的设备的硬件波特率,同一个网络内,多个Zigbee模块与多个设备连接,并不需要全网具有同样的波特率,只要模块与设备之间具有相同的波特率即可;(波特率更改时,可参考厂家给出的相关资料进行设置,可通过ZigBee协议栈编码更改,通常使用的ZigBee模块厂家设置好后可直接通过配置软件更改)可根据传输数据的大小来选择合适的波特率;如图6所示。
图6 同一网络波特率设置图3 组网步骤当熟悉ZigBee组网原理及参数配置方法后,可进行ZigBee组网:1,将某个模块的节点类型改为Coordinator(主节点)(使用配置软件,如图4所示,购买ZigBee模块时会附带相应软件,打开即可用),设置完成后重启,即可完成设置;2,将这个Coordinator(主节点)的PAN ID改为你设定的值(如0x1234)(范围:0x0001 –0xFF00),主要防止与默认值冲突,修改完成后断电;3,将需要加入到这个Coordinator的Router的PAN ID改为相同的值(只寻找具有相同PAN ID的网络);当该空间有多个网络时,也可将PAN ID改为0xFFFF,自动寻找任意一个网络加入;修改完成后断电;4,先打开Coordinator的电源;5,再打开其它Router的电源,大约3秒,可以自动加入网络。
如图7所示,图7流程示意图需要注意的是:1,如果要将某个网络内的Router加入到另一个网络,则只需要将这个节点的PAN ID改为另一个网络的PAN ID(或FF FF),重启这个节点,则这个节点会自动加入网络;2,当一个网络正常运行时,不要试图再次设定Coordinator的PAN ID,即使是同样的PANID,因为Coordinator重启后,扫描到有相同PAN ID的网络,则自己的PAN ID会自动+1,导致Coordinator退出当前网络;当需要更换Coordinator时可采用以下方法:(1) 假设某个Zigbee网络(NET1),PAN ID = 0x1234,需要更换这个网络的Coordinator;(2) 在与NET1不能通讯的地方建立另一个PAN ID = 0x1234的网络(NET2);(3) 将NET2的Coordinator拿到NET1,即可以正常使用;4 结束语本文结合ZigBee模块案例详细的介绍了ZigBee组网流程,并根据此组网流程进行试验,最终实现了ZigBee的组网过程,成功的创建了一个ZigBee无线传感网络,实现了各节点间的通信和数据的传输。
同时,本文对ZigBee组网关键技术的研究也可为在创建ZigBee 网络中提供很好的设计思路,具有一定的理论价值。
5 参考文献[1] AKYILDIZ I F, WANG X. Survey on wireless mesh networks[J]. IEEE CommunicationsMagazine, 2005,43,23-30.[2] Paolo Baronti, Pillai P & Chook V. Wireless sensor networks: A survey on thestate of the art and the 802.15.4 and ZigBee standards[D]. Pisa, Italy: Department of Computer Science, University of Pisa, 2006.[3] 俞仁来,谭明皓.基于ZigBee的无线传感器网络路由分析[J].通信技术,2011,44(1):129-131.[4] 吕治安.ZigBee网络原理与应用开发[M]. 北京:北京航空航天大学出版社,2008.[5] 瞿雷,胡咸斌.ZigBee技术及应用[M].北京:北京航空航天大学出版社,2007:21-25.例1基于ZigBee模块的节点地址分配原理,如下图所示(1)上电C,上电一个R,则这个R 自动加入(0001);(2)下电C,保持R(0001)上电,上电另一个R,则这个R 自动加入(0002);(3)同样,R(0003),R(0004),R(0005)加入;(4)全部下电R,上电C,上电一个R,则这个R 自动加入(143E)(5)保持C 上电,上电其它R,则逐个加入:287B,3CB8,50F5,6532;(6)下电C,保持R(143E),上电其它R,则逐个加入:143F,179C,1AF9,1E56,21B3,2510;(7)上电287B,上电其它R,则逐个加入:287C,2BD9,2F36,3293,35F0,394D;(8)保持R(394D),上电其它R,则逐个加入:394E,39DB;加入网络的数量:(1) C 可为6 个R 分配地址;(2) 每个R 可为另外6 个R 分配地址;(3) 每个网络最多可分配5 层地址,第5 层的路由数量为6*6*6*6*6 = 7776 个例2 ZigBee 信道选择Zigbee 在3个频段定义了27(0-26)个物理信道:868MHz 频段中定义了1个20Kb/s 信道,915MHz 频段中定义了10个40Kb/s 信道,信道间隔为2MHz ,2.4GHz 频段上定义了16个250Kb/s 信道,信道间隔为5MHz.信道的选择确定了数据传输速率,同时,在ZigBee 信道选择上,尽可能的选择相对安静的信道,避免外界的干扰。