ZigBee组网原理
Zigbee组建一个完整的网络包含两个步骤:网络初始化和节点加入网络。其中,节点加入网络可以分为通过协调器直接连接入网和通过已有父节点入网。下面来依次说明。
1. 网络初始化
ZigBee网络初始化只能是由网络协调器发起的,在组建网络前,需要判断本节点还没与其他网络连接。如果节点已经与其他网络连接时,此节点只能作为该网络的子节点。一个ZigBee网络中有且仅有一个ZigBee协调器,一旦网络建立好了,协调器就退化成路由器的角色,甚至是可以去掉协调器的,这一切得益于ZigBee网络的分布式特性。
- 网络初始化流程图如下:

- 每层详细解释:
- 1 . 协调器通过主动扫描,发送信标请求命令(Beacon request command),设置一个扫描期限(T_scan_duration),如果在期限内没检测到回应信标,则认为在其范围内没有其他协调器,那么此时可以建立自己的ZigBee网络,并且作为网络的协调器。非信标网络的设备会等待请求,信标网络的设备会周期性的产生信标并且广播出去。
- 2.
2.1 能量扫描
对指定信道或者默认信道进行能量检测,以避免可能的干扰,以递增的方式对所检测的信道能量值进行排序,抛弃那些能量值超出范围的信道。选择一系列可用信道。
2.2主动扫描
接着通过主动扫描的方式,获取节点通讯半径内的网络信息,然后根据这些信息,找一个最好的、相对安静的信道。最后选择的信道应该是存在最少的ZigBee网络,最好是没有ZigBee网络。
3. 在所选定的信道上,网络ID(PAN ID)必须是唯一的,不能和其他ZigBee网络冲突,不能为广播地址(0xFFFF)。可以使用设定的PAN ID,也可以通过监听其他网络的ID来随机选择一个不会冲突的ID号.当路由节点或者设备入网时,协调器会给节点分配短地址来通讯。对于协调器来说,网络地址始终为0x0000
2.ZigBee入网流程
ZigBee设备的入网流程,详见下图:

每层详细解释4
节点入网将选择范围内信号最强的父节点加入网络,成功加入后,会得到一个网络短地址,并通过这个地址进行数据的收发。网络拓扑关系和地址会保存在各自的flash中。
选择一个合适的ID后,设备的上层会请求MAC层对物理层和MAC层的phyCurrentChannel、macPANID等PIB属性进行相应的设置。
3.ZigBee分离流程
详见下图:

ZigBee组网原理的更多相关文章
- Zigbee组网原理详解
Zigbee组网原理详解 来源:互联网 作者:佚名2015年08月13日 15:57 [导读] 组建一个完整的zigbee网状网络包括两个步骤:网络初始化.节点加入网络.其中节点加入网络又包括两个 ...
- 物联仓储系统ZigBee组网原理
在嵌入式项目物联仓储系统中,使用cortexM0模拟仓库,cortex-A9模拟服务器,两块开发板之间使用ZigBee技术实现数据接收和发送,本文就介绍一下ZigBee组网的原理和相关步骤. 1.组网 ...
- zigbee学习之路(十二):zigbee协议原理介绍
一.前言 从今天开始,我们要正式开始进行zigbee相关的通信实验了,我所使用的协议栈是ZStack 是TI ZStack-CC2530-2.3.0-1.4.0版本,大家也可以从TI的官网上直接下载T ...
- zigbee组网函数的一些用法
1.NLME_PermitJoiningRequest(0) :(1)值0x00:表示禁止加入网络 (2)值0x01-0xFE:表示允许链接的秒数 (3) 值0xff:表示启用网络 同时此函数:是 ...
- NB-IOT/LoRa/Zigbee无线组网方案对比
物联网设备节点组网存在2种组网方式, 无线组网和有线组网. 无线组网我们常见到的有Zigbee,LoRa, NB-IOT等,其中Lora/NB-IOT属于LPWAN技术,LPWAN技术有覆盖广.连接多 ...
- ZigBee自组网地址分配与路由协议概述
1. ZigBee简介 ZigBee是基于IEEE802.15.4标准的低功耗局域网协议.根据国际标准规定,ZigBee技术是一种短距离.低功耗的无线通信技术. ZigBee协议从下到上分别为物理层( ...
- 【无线通信篇01 | Zstack协议栈】CC2530 Zigbee Zstack协议栈组网项目及详细讲解篇
演示视频:https://www.bilibili.com/video/BV1Ew411o7Fp 物联网无线通信技术,ZigBee无线传感网络 CC2530最大的特点就是一个拥有无线收发器(RF)的单 ...
- 【CC2530入门教程-06】CC2530的ADC工作原理与应用
第6课 CC2530的ADC工作原理与应用 广东职业技术学院 欧浩源 一.A/D转换的基本工作原理 将时间上连续变化的模拟量转化为脉冲有无的数字量,这一过程就叫做数字化,实现数字化的关键设备是AD ...
- Zigbee技术特点
ZigBee工作原理 基于 ZigBee 的无线设备工作在 868MHZ, 915MHZ 和 2.4Z 频带.其最大数据速 率是 250Kbps. ZigBee 技术主要针对以电池为电源的应用,这些应 ...
随机推荐
- C# : 操作Word文件的API - (将C# source中的xml注释转换成word文档)
这篇博客将要讨论的是关于: 如何从C#的source以及注释, 生成一份Word格式的关于各个类,函数以及成员变量的说明文档. 他的大背景如下...... 最近的一个项目使用C#, 分N个模块, 在项 ...
- 第29题:推断一个序列是否是还有一个push序列的pop序列
github:https://github.com/frank-cq/MyTest 第29题:输入两个整数序列,当中一个序列表示栈的push顺序,推断还有一个序列有没有可能是相应的pop顺序.为了简单 ...
- [Ramda] Simple log function for debugging Compose function
const log = function(x){ console.log(x); return x; } const get = R.curry(function(prop, obj){ return ...
- win7系统激活最简单方法
利用激活工具快速激活WIN7系统! 工具/原料 小马Oem7.未激活的WIN7系统 步骤/方法 1 复制BT种子 http://www.pccppc.com/download/oem7F.rar粘贴到 ...
- spring4.x注解概述
1. 背景 注解可以减少代码的开发量,spring提供了丰富的注解功能,因项目中用到不少注解,因此下定决心,经spring4.x中涉及到的注解罗列出来,供查询使用. 2. spring注解图 ...
- Laravel 5.1中 Redis 的安装配置及基本使用教程
关于Redis的介绍我们在之前Laravel 缓存配置一节中已有提及,Redis是一个开源的.基于内存的数据结构存储器,可以被用作数据库.缓存和消息代理.相较Memcached而言,支持更加丰富的数据 ...
- c语言例子递归与整数逆序
例一 #include <stdio.h> //将一整数逆序后放入一数组中(要求递归实现) void convert(int *result, int n) { if(n>=10) ...
- c语言指针难点
先来一个例子 例: #include "stdio.h" int main() { ] = {,,,,}; printf("a是一个地址%d\n",a); pr ...
- shell判断一个变量是否为空
判断一个变量是否为空 . 1. 变量通过" "引号引起来 如下所示:,可以得到结果为 IS NULL. #!/bin/sh para1= if [ ! -n "$para ...
- JQUERY 动态时钟
<script type="text/javascript" src="script/jquery-1.8.3.min.js"></scrip ...