End device设备分为睡眠和非睡眠两种(RxOnWhenIdle标记不同)。 入网时的association请求,会使用这个标记。

共同特性

  1. 子节点多次发送数据失败(无回应),发送孤点扫描(realignment), 尝试重回网络。

802.15.4 : 用于网络同步,设备与协调器通信异常,可发orphan notify。

An orphan scan allows a device to attempt to relocate its coordinator following a loss of synchronization.
    During an orphan scan, the MAC sublayer shall discard all frames received over the PHY data service that
    are not coordinator realignment command frames.
    An orphan scan over a specified set of logical channels is requested using the MLME-SCAN.request
    primitive with the ScanType parameter set to indicate an orphan scan. For each logical channel, the device
    shall first switch to the channel, by setting phyCurrentChannel and phyCurrentPage accordingly, and then
    send an orphan notification command (see 7.3.6). Upon successful transmission of the orphan notification
    command, the device shall enable its receiver for at most macResponseWaitTime symbols. If the device
    successfully receives a coordinator realignment command (see 7.3.8) within this time, the device shall
    terminate the scan.

孤点通知:

重排列: The coordinator realignment command is sent by the PAN coordinator

  1. 子节点N次data request没有收到回应(参数N子设备可配置)。认为丢失父节点,开始move过程。发送beacon request寻找父节点,找到后,通过rejoin回到网络。
  2. 父节点判断子节点是否已离开的方式:父节点设置超时时间(默认值nwkEndDeviceTimeoutDefault),如果超时时间内一直没有收到子节点的data request,认为子节点已离开;子节点重新回来的时候,会通知子节点rejoin。

(子节点入网后,需要通过End Device Timeout Request命令通知父节点设置超时时间数值 zigbee specification 3.6.10。)

  1. 子节点重新上电一般发送孤点扫描(realignment), silabs可修改这项配置。

非睡眠end device

  1. 父节点可以直接向该节点发送数据,不需要等待子节点的data poll

验证步骤:编译一个非睡眠的固件,long poll设置为10秒,子节点直连协调器,协调器发送多个on命令,每个命令可以直接发出,不需要等待子节点的data request

睡眠end device

  1. 父节点缓存报文,子节点通过data poll请求数据后,将数据发给子节点

Rejoin安全性

参考silicon labs 的文档 ug103-05-fundamentals-security.pdf

Section 3.5 Network Rejoin

Zigbee系列(end device)的更多相关文章

  1. Zigbee系列(概览)

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

  2. Zigbee系列(网络)

    Zigbee设备类型 Coordinator:形成网络,选择信道.PANID.允许其他设备加入等. Router: 作为路由节点,转发报文. End Device: 终端节点,不转发报文. Zigbe ...

  3. Zigbee系列(路由机制)

    参考文档: ug103-02-fundamentals-zigbee.pdf section4 zigbe routing concepts docs-05-3474-21-0csg-zigbee-s ...

  4. [ZigBee] 16、Zigbee协议栈应用(二)——基于OSAL的无线控制LED闪烁分析(下)

    说在前面:上一篇介绍了无线LED闪烁实现的OSAL部分,本篇介绍如何实现无线数据收发及数据处理: 上一篇是用SI跟着流程查看源码,我个人认为以架构的思维去了解代码能让人更清晰 ::ZMain.c程序入 ...

  5. [ZigBee] 15、Zigbee协议栈应用(一)——Zigbee协议栈介绍及简单例子(长文,OSAL及Zigbee入门知识)

    1.Zigbee协议栈简介 协议是一系列的通信标准,通信双方需要按照这一标准进行正常的数据发射和接收.协议栈是协议的具体实现形式,通俗讲协议栈就是协议和用户之间的一个接口,开发人员通过使用协议栈来使用 ...

  6. [ZigBee] 14、Zigbee无线通信前奏——BasicRF 简单无线点对点传输协议

    本工程不带zigbee协议栈,作为过渡 实验现象: 一个EB2530(终端A)定义为发射模块,另一个EB2530(终端B)定义为接收模块. 按EB2530(终端A)上的按键,无线控制另一个EB2530 ...

  7. [ZigBee] 13、ZigBee基础阶段性回顾与加深理解——用定时器1产生PWM来控制LED亮度(七色灯)

    引言:PWM对于很多软件工程师可能又熟悉又陌生,以PWM调节LED亮度为例,其本质是在每个周期都偷工减料一些,整体表现出LED欠压亮度不同的效果.像大家看到的七色彩灯其原理也类似,只是用3路PWM分别 ...

  8. [ZigBee] 12、ZigBee之看门狗定时器——饿了就咬人的GOOD DOG

    引言:硬件中的看门狗,不是门卫的意思,而是一只很凶的狗!如果你不按时喂它,它就会让系统重启!这反而是我们想要的功能~ 1.看门狗概述 看门狗定时器(WDT,Watch Dog Timer)是单片机的一 ...

  9. [ZigBee] 11、ZigBee之睡眠定时器二

    1.前言 上一节讲了Zigbee的睡眠定时器利用外部按键使系统从休眠态唤醒到工作态,其核心在于: 61 void SysPowerMode(uchar mode) 62 { 63 if(mode &g ...

随机推荐

  1. Graph I - Graph

    Graph There are two standard ways to represent a graph G=(V,E)G=(V,E), where VV is a set of vertices ...

  2. Kali-linux使用SET实施攻击

    前面介绍了社会工程学工具包(SET)的简单使用.为了能帮助用户更容易的理解社会工程学的强大功能.本节将介绍使用社会工程学工具包实施各种攻击. 7.4.1 针对性钓鱼攻击向量 针对性钓鱼攻击向量通过构造 ...

  3. Spring(十)之自定义事件

    编写自定义事件的简单流程如下: (1)编写CustomEvent.java package com.tutorialspoint; import org.springframework.context ...

  4. Dubbo实践(六)Spring加载Bean流程

    根据上一小节对于spring扩展schema的介绍,大概可以猜到dubbo中相关的内容是如何实现的. 再来回顾Dubbo实践(一)中定义的dubbo-provider.xml: <?xml ve ...

  5. [转]JS Cookie 中文乱码

    首先是一个解析cookie的函数: <script type="text/javascript"> function getCookie(name) {   var c ...

  6. TabActivity 、fragemnt+fragment 和 Fragment+Viewpager 优缺点

    1 TabActivity : 1 过时了 . 2 activity . 是作为android的四大组件...                   重量级的家伙   ViewGroup   : 特别麻 ...

  7. 解决dpdk中出现IOMMU not found的问题

    问题 在使用VFIO前,需要在BIOS打开VT-x和VT-d,想把一个PCIe网卡透传到虚拟机中,发现虚拟机启动失败,提示IOMMU没有找到. 输入以下命令确定vt-d开启 dmesg | grep ...

  8. 工具 | Axure基础操作 No.6

    这个是基础教程最后一篇,但是这仅仅是个开始,需要学的东西还有很多.坚持! 1.生成部分原型页面 不能单独生成子级的页面,会自动的勾选上父级.如果想单独的生成的话,就得把这个页面的级别提高,变成一级页面 ...

  9. 在Swift中使用AutoLayout-VFL(AutoLayout-VFL笔记)

    1.背景 iOS开发这几年, UI布局工具从frame到Masonry到SnapKit, sb和xib的AutoLayout也用过, 但是代码版本的AutoLayout倒是没用过, 最近一年, 频频发 ...

  10. react 配置开发环境

    一:先自行下载安装node和npm 二:cnpm install create-react-app -g 三:create-react-app my-project 四:cd my-project  ...