Zigbee设备类型

Coordinator:形成网络,选择信道、PANID、允许其他设备加入等。

Router: 作为路由节点,转发报文。

End Device: 终端节点,不转发报文。

Zigbee网络类型

Zigbee PRO标准只支持mesh网络类型。

R

outer device常规入网流程示例

  1. 子设备在各个信道广播beacon request,查询哪个网络允许加入。
  1. 协调器和路由节点回应beacon报文。

    主要字段:

    PAN Coordinator: 是否是协调器 (source address)

    Association permit: 是否允许新设备入网

    GTS相关字段: zigbee pro不使用GTS非竞争网络的字段。

    Stack profile、NWK protocol version: zigbee版本。

    Router Capacity: 是否能接受路由设备的入网请求

    End Device Capacity: 是否能接受end device的入网请求,即作为end device设备的父节点。

    NWK extended pan id: 网络的唯一标识,pan id可变,extended pan id不变。

  1. 子设备在可入网的网络中,选择信号最优的一个进行关联。

    Association Request

  2. 协调器接收设备的关联请求后,单播回应Association Response.

    给子设备分配短地址。

  3. 协调器通过子设备的认证后,发送网络密钥,负载使用tc link key加密。

    Transport Key

  4. 子设备解析network key,入网成功。发送device announce通知网络中的其他设备,自己加入网络。

Zigbee3.0子设备入网后需要更新link key,参考《zigbee3.0 security特性.docx》

End device入网流程

  1. End device通过beacon request查询信道是否有网络可以加入。
  2. 协调器和路由节点回应beacon
  3. End device选择协调器或路由节点加入。

    End device 直接接入协调器

  4. End device发送association request,请求加入网络
  5. 协调器(父节点)回应association response,分配短地址给子设备。
  6. 协调器(Trust Center)通过Transport Key命令传输nwk key,报文使用TC link key加密。(这里协调器和子设备没有使用install codes,使用的是global link key)
  7. 子设备正确解析transport key报文,获得nwk key
  8. 子设备广播device announce报文,通知其他设备自己已成功加入网络。

以路由节点做父节点

  1. 向父节点发送Association Request
  2. 父节点回应Asspciation Response, 提供短地址
  3. 父节点向协调器发送update device,通知协调器有设备加入(unsecured join, 还没有经过TC验证)
  4. TC验证通过后,协调器经过end device的父节点给end device发送network key,需要父节点做中转。协调器和该父节点的数据使用nwk key加密,父节点转发给子设备的数据,去掉tunnel头,使用link key加密。
  5. 子设备获得网络密钥,入网成功。
  6. 子设备广播device announce.

BDB中定义的流程:

Zigbee系列(网络)的更多相关文章

  1. ZigBee无线网络技术在小区路灯照明系统的应用

    小区路灯照明系统是楼宇智能的一部分,但受制于布线.成本等的问题,难以得以实施.随着计算机技术的迅猛发展,无线网络技术越来越成熟,ZigBee无线网络成本低.功耗低.传输距离远等的特点,非常适合在无线路 ...

  2. OpenStack实践系列⑤网络服务Neutron

    OpenStack实践系列⑤网络服务Neutron 3.8 Neturn 服务部署 注册neutron服务 [root@node1 ~]# source admin-openrc.sh [root@n ...

  3. 抓住“新代码”的影子 —— 基于GoAhead系列网络摄像头多个漏洞分析

    PDF 版本下载:抓住“新代码”的影子 —— 基于GoAhead系列网络摄像头多个漏洞分析 Author:知道创宇404实验室 Date:2017/03/19 一.漏洞背景 GoAhead作为世界上最 ...

  4. iOS开发系列--网络开发

    概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博.微信等,这些应用本身可能采用iOS开发,但是所有的数据支撑都是基于后台网络服务器的.如今,网络编程越来越普遍,孤立的应用通常是没有生命力 ...

  5. Linux网路编程系列-网络I/O模型

    应用程序从网络中拿数据,要经历两个阶段:1.等待数据准备好-分组到达,被拷贝到内核缓冲区,组装数据报:2.数据从内核缓冲区拷贝至用户态应用程序的缓冲区.Unix下五个I/O模型: 阻塞I/O: 进程调 ...

  6. Zigbee系列(end device)

    End device设备分为睡眠和非睡眠两种(RxOnWhenIdle标记不同). 入网时的association请求,会使用这个标记. 共同特性 子节点多次发送数据失败(无回应),发送孤点扫描(re ...

  7. Zigbee系列(概览)

    Zigbee技术特点 低速率: 数据传输速率只有20~250kb/s, 2.4GHZ提供250kb/s, 915MHz对应40kb/s, 868Mhz对应20kb/s 低功耗:睡眠模式设备使用电池供电 ...

  8. 三、ZigBee无线网络工具

    CC2530概述 CC2530是德州仪器Ti公司用于2.4-GHz IEEE 802.15.4.ZigBee 和 RF4CE 应用的一个真正的片上系统(SoC)解决方案,是作为ZigBee无线传 感网 ...

  9. 二、ZigBee无线网络

    概述 ZigBee是基于IEEE802.15.4标准的低功耗局域网协议.根据国际标准规定,ZigBee技术是一种短距离.低功耗的无线通信技术.这一名称(又称紫蜂协议)来源于蜜蜂的八字舞,由于蜜蜂(be ...

随机推荐

  1. jquery 中 attr 和 prop 的区别

    问题:在jQuery引入prop方法后,什么时候使用attr,什么时候使用prop,两者区别. 判断: 对于HTML元素本身所有的固有属性,在处理的时候,使用prop方法 对于HTML元素后来我们自己 ...

  2. PAT——1047. 编程团体赛

    编程团体赛的规则为:每个参赛队由若干队员组成:所有队员独立比赛:参赛队的成绩为所有队员的成绩和:成绩最高的队获胜. 现给定所有队员的比赛成绩,请你编写程序找出冠军队. 输入格式: 输入第一行给出一个正 ...

  3. 404 Note Found 队-Alpha 事后诸葛亮

    目录 设想和目标 计划 资源 变更管理 设计/实现 测试/发布 团队的角色,管理,合作 总结: 本小组和其他组的评分 分工和贡献分 全组讨论的照片 问题 第一组提问回答:爸爸饿了队 第二组提问回答:拖 ...

  4. git add用法

    git add命令是将工作区内容添加到暂存区.git commit 将暂存区内容添加到版本库. git add -A  提交所有变化 git add -u  提交被修改(modified)和被删除(d ...

  5. Python 学习笔记(十四)Python类(二)

    创建简单的类 新式类和经典类(旧式类) Python 2.x中默认都是经典类,只有显式继承了object才是新式类 Python 3.x中默认都是新式类,经典类被移除,不必显式的继承object 新式 ...

  6. 简单的 Android 菜单

    Android 创建简单的菜单 一:上下文菜单: 1.在 res 下创建菜单项资源文夹 menu app->右击res->new->android resourse director ...

  7. DB数据源之SpringBoot+Mybatis踏坑过程实录系列(一)

    DB数据源之SpringBoot+MyBatis踏坑过程(一) liuyuhang原创,未经允许进制转载 系列目录 DB数据源之SpringBoot+Mybatis踏坑过程实录(一) DB数据源之Sp ...

  8. Linux Centos平台下安装Nginx

    以home下安装为例,切换到home目录下 cd /home 安装依赖 nginx相关依赖 yum -y install make gcc gcc-c++ openssl openssl-devel ...

  9. webpack使用打包的一些心得

    webpack打包工具: module.exports:输出require:引入 require('!style-loader!css-loader!./***.css'):静态样式引入 npm in ...

  10. js 里常用的字符串操作方法

    /*var str='啦啦啦'; var str1='哈哈哈' //charAt() 返回指定索引处的字符串 console.log(str.charAt(3)) //charCodeAt() 返回指 ...