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. EasyConnect 使用方法

    一.此处以安卓系统为例进行介绍. 1.通过谷歌市场下载 EasyConnect,安装完成后,打开EasyConnect,界面如下图 1 所示 <ignore_js_op> 2.输入 SSL ...

  2. GAutomator,GAutomatorview和Android SDK,Unity配置

    1. 安装和配置JDK 环境配置中: JAVA_HOME:E:\Program Files\java\jdk1.8.0_131 Path:%JAVA_HOME%\bin;%JAVA_HOME%\jre ...

  3. pathinfo

    location ~ \.php { fastcgi_split_path_info ^((?U).+\.php)(/?.+)$; fastcgi_param PATH_INFO $fastcgi_p ...

  4. Java 数据库操作oracle增删改查,通用封装基于hashmap

    pt1:首先安装oracle连接驱动 下载地址:https://pan.baidu.com/s/1jW_ofgU4eJmAn7Y2J5B46A  密码:epkz 1.将ojdbc6.jar导入项目中 ...

  5. CSU - 1581 Clock Pictures (KMP的变形题,难想到)

    题目链接: http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1581 题目意思:告诉你现在有两个钟,现在两个钟上面都有n个指针,告诉你指针的位置, ...

  6. 2018 HNUCM ACM集训队选拔第一场

    1.小c的倍数问题 http://acm.hdu.edu.cn/showproblem.php?pid=6108 分析: 比赛的时候真的是各种想,结果发现自己是想多了...数论基础差得一批 求有多少个 ...

  7. 用 S5PV210 学习 Linux (一) 刷机(一)

    简介: 习惯了 用 keil 或者 IAR  一键下载 (烧写) 代码,S5PV210 貌似就不能这么简单用 仿真器的 方式 下载代码了,因此 学习 S5PV210 的第一步就是 学习怎么下载代码,下 ...

  8. DBA手记(学习) - LOGMNR 简单而强大的工具

    LOGMNR首先执行一个ddl(或dml)操作,以记录重做信息: SYS@ ora11g>conn scott/tigerConnected.SCOTT@ ora11g>alter sys ...

  9. 【Python】01 - 常见用法随见随梳理

    1. range() 和 xrange()的区别 for x in range(5): print x for x in xrange(5): print x 这么看,range和xrange返回的值 ...

  10. LR分析-demo2

    0.LR分析 用一个栈来保存文法符号和状态的信息,一个字符串保存输入信息. 使用栈顶的状态符号和当前的输入符号来检索分析表,来决定移进-归约分析的动作. 1.样例文法 "E>E+T&q ...