Zigbee系列(end device)
End device设备分为睡眠和非睡眠两种(RxOnWhenIdle标记不同)。 入网时的association请求,会使用这个标记。
共同特性
- 子节点多次发送数据失败(无回应),发送孤点扫描(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

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


- 子节点重新上电一般发送孤点扫描(realignment), silabs可修改这项配置。
非睡眠end device
- 父节点可以直接向该节点发送数据,不需要等待子节点的data poll

验证步骤:编译一个非睡眠的固件,long poll设置为10秒,子节点直连协调器,协调器发送多个on命令,每个命令可以直接发出,不需要等待子节点的data request
睡眠end device
- 父节点缓存报文,子节点通过data poll请求数据后,将数据发给子节点


Rejoin安全性
参考silicon labs 的文档 ug103-05-fundamentals-security.pdf
Section 3.5 Network Rejoin
Zigbee系列(end device)的更多相关文章
- Zigbee系列(概览)
Zigbee技术特点 低速率: 数据传输速率只有20~250kb/s, 2.4GHZ提供250kb/s, 915MHz对应40kb/s, 868Mhz对应20kb/s 低功耗:睡眠模式设备使用电池供电 ...
- Zigbee系列(网络)
Zigbee设备类型 Coordinator:形成网络,选择信道.PANID.允许其他设备加入等. Router: 作为路由节点,转发报文. End Device: 终端节点,不转发报文. Zigbe ...
- Zigbee系列(路由机制)
参考文档: ug103-02-fundamentals-zigbee.pdf section4 zigbe routing concepts docs-05-3474-21-0csg-zigbee-s ...
- [ZigBee] 16、Zigbee协议栈应用(二)——基于OSAL的无线控制LED闪烁分析(下)
说在前面:上一篇介绍了无线LED闪烁实现的OSAL部分,本篇介绍如何实现无线数据收发及数据处理: 上一篇是用SI跟着流程查看源码,我个人认为以架构的思维去了解代码能让人更清晰 ::ZMain.c程序入 ...
- [ZigBee] 15、Zigbee协议栈应用(一)——Zigbee协议栈介绍及简单例子(长文,OSAL及Zigbee入门知识)
1.Zigbee协议栈简介 协议是一系列的通信标准,通信双方需要按照这一标准进行正常的数据发射和接收.协议栈是协议的具体实现形式,通俗讲协议栈就是协议和用户之间的一个接口,开发人员通过使用协议栈来使用 ...
- [ZigBee] 14、Zigbee无线通信前奏——BasicRF 简单无线点对点传输协议
本工程不带zigbee协议栈,作为过渡 实验现象: 一个EB2530(终端A)定义为发射模块,另一个EB2530(终端B)定义为接收模块. 按EB2530(终端A)上的按键,无线控制另一个EB2530 ...
- [ZigBee] 13、ZigBee基础阶段性回顾与加深理解——用定时器1产生PWM来控制LED亮度(七色灯)
引言:PWM对于很多软件工程师可能又熟悉又陌生,以PWM调节LED亮度为例,其本质是在每个周期都偷工减料一些,整体表现出LED欠压亮度不同的效果.像大家看到的七色彩灯其原理也类似,只是用3路PWM分别 ...
- [ZigBee] 12、ZigBee之看门狗定时器——饿了就咬人的GOOD DOG
引言:硬件中的看门狗,不是门卫的意思,而是一只很凶的狗!如果你不按时喂它,它就会让系统重启!这反而是我们想要的功能~ 1.看门狗概述 看门狗定时器(WDT,Watch Dog Timer)是单片机的一 ...
- [ZigBee] 11、ZigBee之睡眠定时器二
1.前言 上一节讲了Zigbee的睡眠定时器利用外部按键使系统从休眠态唤醒到工作态,其核心在于: 61 void SysPowerMode(uchar mode) 62 { 63 if(mode &g ...
随机推荐
- [Python 多线程] Concurrent (十五)
concurrent包只有一个模块: concurrent.futures - 启动并行任务 异步并行任务编程模块,提供一个高级的异步可执行的便利接口. futures模块提供了2个池执行器 Thre ...
- cenos 安装hadoop
1 创建hadoop用户 2 下载jdk和hadoop安装包 3 在root用户下解压jdk到/usr/java 4 配置JAVA_HOME 编辑/etc/profile,在文件最后添加 # set ...
- 阿里云阿里免费ssl wap网站在手机微信、手机浏览器无法访问
图片可以访问,样式无法显示 https://css.cnbuses.com/css/wap/gonggong.css 1,怀疑是开了代理访问. 关闭后还是访问空白. 2.在手机浏览器打开,提示该网站的 ...
- 基于 Axis2的webService接口的基本开发步骤
Axis2webServicejavaWeb 前言: 今天给大家分享一下前段时间在做项目的时候做webservice接口的一些心得. 在web工程lib目录下导入 Axis2相关jar包 enter ...
- Xcode 提交APP时遇到 “has one iOS Distribution certificate but its private key is not installed”
解决办法:登录Apple开发证书后台,把发布版证书.cer文件下载到本地,双击安装即可.若还没有设置发布证书文件,则创建一个后下载. Ref: https://blog.csdn.net/dingqk ...
- vue-网易云音乐
vuejs仿写网易云音乐webapp 1.项目API来源 2.项目地址 3.项目主要截图 4.功能 音乐播放,搜索及主要页面的展示,用户登录部分及登录后才能获取的数据还未实现 5.技术 ...
- python学习之网络编程基础
引入场景:客户与银行关系 银行职员负责给客户提供取钱服务,客户通过账户密码跟银行职员建立合作关系.此时银行职员就可以作为服务器,当用户A取完钱后他需要等待下一个用户的接入,用户的账号密码就是建立合作关 ...
- skyline画折现bug代码
<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>加 ...
- NodeJS设置Header解决跨域问题
转载: NodeJS设置Header解决跨域问题 app.all('*', function (req, res, next) { res.header('Access-Control-Allow-O ...
- 20155204 《Java程序设计》实验一(Java开发环境的熟悉)实验报告
实验一 Java开发环境的熟悉 一.实验内容及步骤 1.使用JDK编译.运行简单的java程序 步骤一:在linux界面下运行终端 步骤二:在终端中打开待编译文件的文件夹 步骤三:使用 javac 文 ...