Zigbee建网和入网过程实验
- 格式:doc
- 大小:627.50 KB
- 文档页数:11
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例程在Zigbee入门指导(一)中讲解了基于CC2430的Zigbee 开发环境的搭建,安装完Ti的协议栈后,里面有多个例程,帮助用户入门及作为自己工程的基本框架。
在Zigbee入门指导(二)中,我们将通过演示执行相关的例程,了解Zigbee应用的启动流程(不是Zigbee网络的启动流程),了解运行一个自定义Zigbee工程所要作的软件方面的改动和工程选项的配置。
所用的开发套件为无线龙的套件。
一、修改HALHAL及所谓的Hardware Abstration Layer,通俗的了解即为开发板的硬件驱动,由于所用的是无线龙的开发板,与Ti的原装开发板有差异,需要对协议栈自带的HAL进行修改。
HAL文件存放在目录<Components/hal>中,里面有<common>、<include>、<target>三个目录,<common>中定义的与外设无关的硬件操作,<include>存放的是头文件,而<target>存放的是目标文件,里面根据目标板的不同分为<CC2430BB>、<CC2430DB>、<CC2430EB>。
所用的无线龙的开发板和CC2430EB最为相似,故修改<CC2430EB>中的内容。
按键操作几乎在每个例程中都会用到,故此处以按键驱动的修改为例,演示HAL的修改。
先了解下Ti和无线龙扩展板的不同之处。
Ti的CC2430EB 原理图在Ti文档SWRU133.pdf(位于SWRU133.zip中)。
Page29是按键电路的原理图,如图1图1(左上角是元件图)CC2430EB的按键其实是摇杆,上下左右四个方向和电阻网络相连,通过放大电路送到CC2430的P0.6脚,经AD采样后判断摇杆摆向哪个方向,按键编号为SW1~SW4摇杆也可像普通按键一样按下,产生一个直流电平变化,接到P0.5脚,按键编号为SW5。
zigbee 原理
Zigbee是一种无线通信协议,专门用于低功耗、短距离通信。
它基于IEEE 802.15.4标准,并且通过射频通信进行数据传输。
Zigbee的原理如下:
1. 网络拓扑:Zigbee网络由一个或多个设备组成,这些设备可以是传感器、控制器、终端设备等。
这些设备按照不同的拓扑结构组成网络,常见的拓扑结构包括星型、网状和树状结构。
2. 节点角色:在Zigbee网络中,不同的设备扮演不同的角色。
其中,协调器(Coordinator)是网络的核心,负责管理网络节
点和协调通信。
路由器(Router)用于转发数据,扩展网络范围。
终端设备(End Device)通常是最简单的设备,用于与其
他设备进行通信。
3. 数据通信:Zigbee使用无线射频通信方式,在2.4GHz频段
进行数据传输。
通信过程中,设备通过发送和接收数据帧进行交互。
数据帧中包含了一些必要的信息,如发送者、接收者、数据内容等。
4. 网络组建:Zigbee网络的组建过程通常包括扫描、加入和路由等步骤。
设备首先进行扫描,查找网络中可用的节点。
然后,设备可以加入到网络中,成为网络的一部分。
路由器设备可以通过建立多个路径,实现节点之间的数据传输。
5. 低功耗设计:Zigbee在设计上非常注重低功耗,以满足无线传感器网络的需求。
设备可以进入睡眠模式以节省能源,并且
可以通过唤醒信号来重新激活。
总的来说,Zigbee的原理是基于低功耗、短距离的无线通信,通过网络拓扑、节点角色、数据通信和低功耗设计等要素,实现设备之间的数据传输和协作。
第1篇一、实验背景随着信息技术的飞速发展,物联网技术逐渐成为我国新一代信息技术的重要组成部分。
物联网(Internet of Things,简称IoT)是指通过信息传感设备,将各种物品连接到网络上进行信息交换和通信,以实现智能化识别、定位、追踪、监控和管理的一种网络技术。
本实验旨在让学生深入了解物联网的基本原理、关键技术及其实际应用,培养学生的实践能力和创新意识。
二、实验目的1. 理解物联网的基本概念、发展历程和未来趋势;2. 掌握物联网关键技术,如传感器技术、通信技术、数据处理技术等;3. 熟悉物联网系统开发流程,包括需求分析、系统设计、实现和测试;4. 培养学生的实践能力和创新意识,提高学生的综合素质。
三、实验内容1. 物联网感知层实验:通过搭建一个简单的传感器网络,实现温度、湿度等环境参数的采集和传输。
(1)实验原理:利用DS18B20数字温度传感器采集环境温度,通过单总线通信协议将数据传输到单片机,单片机再将数据发送到上位机。
(2)实验步骤:1)搭建传感器网络,包括DS18B20传感器、单总线通信模块、单片机等;2)编写单片机程序,实现传感器数据采集和通信;3)使用上位机软件(如LabVIEW)接收传感器数据,并实时显示。
2. 物联网网络层实验:利用ZigBee无线通信技术实现节点间的数据传输。
(1)实验原理:ZigBee是一种低功耗、低成本、低速率的无线通信技术,适用于短距离、低速率的数据传输。
(2)实验步骤:1)搭建ZigBee网络,包括协调器、路由器和终端节点;2)编写节点程序,实现数据采集、传输和接收;3)测试网络性能,如传输速率、通信距离等。
3. 物联网应用层实验:开发一个基于物联网的智能家居控制系统。
(1)实验原理:利用物联网技术实现家居设备的远程控制、实时监测等功能。
(2)实验步骤:1)选择智能家居设备,如智能灯泡、智能插座等;2)搭建智能家居控制系统,包括控制器、传感器、执行器等;3)编写控制器程序,实现家居设备的远程控制、实时监测等功能;4)测试系统性能,如设备响应速度、数据准确性等。
6.2 Zigbee建网和入网过程实验 本实验通过Sample App这个例子实现数据在ZigBee网络中的简单传输。要求掌握网络组建及协议分析仪的使用方法。
6.2.1 实验目的与器材 1)实验目的 熟悉zigbee协议的三种设备建网时所担任的角色; 学习Z-Stack2007/PRO协议栈中协调器如何建立网络; 学习Z-Stack2007/PRO协议栈中路由和终端如何加入网络; 学习TI官方提供的抓包工具(Sniffer)的应用及协议分析。 2)实验器材 3个CC2530开发套件(1个协调器模块,2个路由器模块);
6.2.2 实验原理与步骤 1)硬件介绍 CC2530开发套件如实验一中的硬件介绍,这里就不再陈述。 2)实验原理 1 设备的分类 ZigBee网络只支持两种设备: 1)全功能设备(FFD Full Function Device) 2)精简功能设备(也叫半功能设备 Reduced Function Device) 两者的比较: 其中FFD设备能够提供MAC层的所有服务,可充当任何ZigBee节点,不仅可以接收发送数据,还具有路由功能,因此可以接收子节点;而RFD只能提供部分的MAC层服务,只能充当子节点,只负责将采集到的数据发送给协调器和路由器节点,本身并不具有路由功能,因此不能接收子节点信息,RFD之间的通信只能通过FFD来完成。 ZigBee标准在此基础上定义了三种节点: ZigBee协调器(Coordinator)、ZigBee路由器(Routers)、ZigBee终端(End Device) 2 所使用的设备 所用的ZigBee设备都具有连接网络和断块网路的功能。 ZigBee协调器和路由器都具有以下附加功能: 1)允许设备以如下方式连接网路: ① MAC(Medium Access Control)层的连接命令。 ② 应用层的连接请求 2)允许设备以如下方式断开网络; ① MAC层的断开命令 ② 应用层的断开命令 ③ 对逻辑网络地址的分配 ④ 维护邻居设备 3 组建网络 组建一个网状的ZigBee网络包括两个步骤:网络的初始化和节点加入网络;而节点加入网络又有两个步骤:通过协调器加入网络和通过已有节点入网。 1) 网络的初始化 ZigBee网络的建立是由协调器(Coordinator)发起的,任何一个节点想建立一个网络必须满足两个条件: ① 节点是FFD节点,具有协调器功能; ② 节点还没有和其他网络连接(一个网络中只许有一个协调器) 网络初始化过程如图图6-2-1所示。
节点上电激活
是否FFD节点?是否建立网络?
确定网络协调器启动并初始化ZigBee协议栈
选择合适信道是否有合适信道?
信道扫描
设置PAN ID和协调器短地址网络初始化成功等待其他节点加入网络
失败否是是
否
有无
图6-2-1 网络初始化流程 网络初始化流程如下: 1) 确定网络协调器。 首先判断节点是否是FFD节点,接着判断次节点是否是其他网络里的网络协调器(通过编程设定其节点属性)。通过主动扫描,发送一个信标请求命令(Beacon request command),然后还要设置一个扫描期限时间(T_scan_duration),如果在扫描期内没有检测到信标,那么此FFD即可建立自己ZigBee网络,并且作为这个网络的协调器不断产生信标并广播出去。 2) 进行信道扫描。包括能量扫描和主动扫描。 首先对指定的信道或默认的信道进行能量扫描,以避免可能的干扰。为实现能量检测扫描,设备网络层通过发送扫描类型(ScanType)参数设置为能量检测扫描的MLME-SCAN.request原语到MAC层进行信道能量检测扫描扫描结果通过MLME-SCAN.confirm原语返回。当网络层关联实体收到成功的能量检测扫描结果后,将以递增的方式对所测的能量值进行信道排序,并且抛弃那些能量值超出了可允许能量水平的信道,选择可允许能量水平的信道作下一步处理 然后,网络管理实体将通过发送MLME-SCAN.Request原语进行主动扫描,其中该原语的ScanType参数设置为主动扫描。搜索节点通信半径内的网络信息。这些信息以网络信标帧的形式在网络中广播,节点通过主动扫描形势接收这些信标帧,然后根据这些信息,找到一个较好的,相对安静的信道,该信道存在最少的ZigBee网络(最好也没有ZigBee设备)。 3)设置网络ID。找到合适的网络后,协调器将为这个新网络选择一个PAN标识符(PAN ID,取值≦0x3FFF),这个ID在所使用的信道中必须是唯一的。PAN ID可以通过监听通道内其他网络的ID来选择一个不会冲突的ID的方式来获取,也可以人为的指定。 在ZigBee网络中有两种地址模式:扩展地址或叫做MAC地址(64位)和短地址(16位),其中扩展地址由IEEE组织分配,用于唯一的设备标识;短地址用于本地网络中的设备标识,在一个网络中,每个设备的短地址必须唯一,当节点加入网络时由其父节点分配并通过使用短地址进行通信。对于协调器来说,短地址通常设定为0X0000; 网络初始化包括两方面的内容:确定初始化参数和选定参数配置到节点中。节点需要初始化的参数如下:操作信道LogicChannel、PAN ID、节点自身短地址macShorAddress、信标周期BeaconOrder、超帧激活周期SuperframeOrder等。在确定网络的初始化参数之后,将通过调用MAC层的MLNE-SAP接口的设置原语(MLME-SET)和开始原语(MLME-START)将选定的参数配置到节点的MAC中。如图6-2-2所对应的建立网络流程。 ZigBeeCoodAPLZigBeeCoodNWKZigBeeCoodMAC启动建立一个网络NLME-NETWORK-FORMATION.request
信道扫描请求MLME-SCAN.request
信道扫描完成完成后返回MLME-SCAN.request
主动扫描MLME-SCAN.request
主动扫描完成完成后应答MLME-SCAN.request
选择信道、PANID和逻辑地址macPANID设置
MLME-SET.requestMLME-SET.confirm 应答
PAN启动MLME-START.request
MLME-START.confirm启动后返回NLME-NETWORK-FORMATION.confirm
图6-2-2 建立一个新网络 4 节点通过协调器加入网络 当ZigBee协调器确定以后,节点首先需要和协调器建立连接加入网络。 FFD节点上电激活主动扫描查找范围内的协调器
检测到信标?向协调器发送关联加入命令
协调器资源足够aResponsetime时间内做出决定
向协调器发送数据请求命令
协调器将关联相应命令发送给节点
加入成功,获得网络短地址
直接从协调器信标内提取关联相应命令
提取成功?
YNNYN
NY
图6-2-3 节点(FFD)与协调器连接加入网络的流程图 为了建立连接,FFD节点需要向协调器提出连接请求,协调器接收到节点的连接请求后根据情况决定是否允许其连接,然后对请求连接的节点做出响应,节点与协调器建立连接以后,才能实现数据的收发。如图6-2-3所示,具体的流程可以分为以下几步: 1) 查找网络协调器。首先会主动扫描查找周围网络的协调器,如果在扫描期限内检测到信标,那么将获得协调器的有关信息,这时就向协调器发送连接请求,在选择合适的网络后,上层将请求MAC层对物理层和MAC层的phyCurrentChannel、macPANID等PIB(数据库)属性进行相应的设置。如果没有检测到,间隔一段时间后,节点重新发送扫描。 2) 发送关联请求命令(Associate request commmand)。节点将关联请求命令发给协调器,协调器收到后立即回复一个确认帧(ACK),同时向它的上层发送连接指示原语,表示已经收到节点的连接请求。但这并不意味着已经建立连接,只表示协调器已经收到节点的连接请求。当协调器的MAC层的上层接收到连接指示原语后,将根据自己的资源情况(存储空间和能量)决定是否同意此节点加入请求,然后给节点MAC层发送响应。 3) 等待协调器处理。当节点收到协调器加入请求命令的ACK后,节点的MAC将等待一段时间,接收协调器的连接响应。在预定的时间内,如果接收到连接响应,它将这个响应向它的上层通告。而协调器给节点的MAC层发送响应时会设置一个等待响应时间(T_ResponseWaitTime)来等待协调器对其加入请求命令的处理,若协调器资源足够,协调器会给节点分配一个16位的短地址,并产生包含新地址和连接成功状态的连接响应命令,则此节点将成功的和协调器建立连接并可以开始通信。若协调器资源不够,待加入的节点将重新发送请求信息,直到入网成功。 4) 发送数据请求命令。如果协调器在响应时间内同意节点加入,那么将产生关联响应命令(Associate reponse command)并先存储这个命令。当响应时间过后,节点发送数据请求命令(Data request command)给协调器,协调器收到后立即回复ACK,然后将存储的关联响应命令发给节点。如果在响应时间到后,协议器还没有决定是否同意节点加入,那么节点将试图从协议器的信标帧中提取关联响应命令,成功的话就可以入网成功,否则重新发送请求信息直到入网成功。 5) 回复。节点收到关联响应命令后,立即向协调器回复一个确认帧(ACK),以确认接收到连接响应命令,此时节点将保存协调器的短地址和扩展地址,并且节点的MLME向上层发送连接确认原语,通告关联加入成功的信息。 上面的完成以后,等待加入网络的节点应该已经收到协调器的加入请求回复。如果该请求通过,该节点将成功和协调器建立连接并获得网络地址和其他节点进行通信。在上述连接过程中,请求建立连接的节点的上层生成连接请求原语发送给节点的MAC层。MAC层的MLME接收到这个原语后,先向物理层发送和原语更新phyCurrentchannel和macPANID的值,然后生成一个含有建立连接请求的命令帧发送给指定的协调器。节点在发送命令帧时使用CSMA-CA(载波侦听多址接入—冲突避免)。如图6-2-4所示为节点连接过程原语时序图。
节点上层节点MAC节点PHY协调器PHY协调器MAC协调器上层
...
...
...
...
Store Associate response
MLME-SCAN.request
MLME-SCAN.confirm
MLME-ASSOCIATE.request
T_AS_SCAN执行主动扫描
执行CSMAPD-DATA.request