Zigbee应用开发 网络管理
网络管理
地址分配机制
Z-stack 采用分布式分配机制,整个网络架构由 3 个值决定
Lm :网络的最大深度
Cm :每个父设备拥有子设备数
Rm : 每个父设备拥有路由子设备数
d : 父设备所在的网络深度
则父设备下的路由器子设备间地址间隔:
当 Rm = 1
1 + Cm * (Lm - d - 1)
当 Rm != 1
Cskip(d)= (1 + Cm -Rm - Cm *(Rm) ^ (Lm - d -1))/(1 - Rm)
父设备给路由器分配的网络地址
Achild = Aparent + (n - 1) *Cskip(d) +1
父设备给终端分配的网络地址
Achild = Aparent + Rm * Cskip(d)+ n
对协调器来说
Cskip(d)= (1 + Cm - Rm - Cm * (Rm) ^ (Lm - d - 1)) / (1 - Rm)
= (1 + 5 - 3 - 5 * 3 ^ (3 - 0 - 1)) / (1 - 3)
= 21
路由器地址 = Aparent + (n - 1)* Cskip(d) + 1
路由器1 = 0x0000 + 1 = 0x0001
路由器2 = 0x0000 + 21 + 1 = 0x0016
路由器3 = 0x0000 + 2 * 21 +1 = 0x002b
终端地址 = Aparent + Rm * Cskip(d) + n
终端1 = 0x0000 + 3 * 21 +1 = 0x0040
终端2 = 0x0000 + 3 * 21 + 2 = 0x0041
对路由器1来说
Cskip (d)= (1 + Cm - Rm - Cm * (Rm)^ (Lm - d - 1))/ (1 - Rm)
= (1 + 5 - 3 - 5 * 3 ^ (3 - 1 - 1 )) / (1 - 3)
= 6
路由地址 = Aparent + (n + 1) * Cskip(d)+1
路由器1 = 0x0001 + 1 = 0x0002
路由器2 = 0x0001 + 1 + 6 = 0x0008
路由器3 = 0x0001 + 1 + 2 * 6 = 0x000E
终端地址 = Aparent + Rm* Cskip(d)+ n
终端1 = 0x0001 + 3 * 6 + 1 = 0x0014
终端2 = 0x0001 + 3 * 6 + 2 = 0x0015
网络管理函数
在NLMED.h 里有 4 个网络管理函数
//返回指向本设备的MAC地址的指针
byte * NLME_GetExtAddr(void);
//返回本设备的网络地址
uint16 NLME_GetShortAddr(void);
//返回父设备的网络地址函数
uint16 NLME_GetCoordShortAddr(void);
//参数是指向父设备的MAC地址的指针
void NLME_GetCoordExtAddr(byte * buf);
相关文章
- 【PHP面向对象(OOP)编程入门教程】14.final关键字的应用
- 在 Web 项目中应用 Apache Shiro
- 用snmp4j开发网管应用(三) -- 简单框架
- IDEA中利用MAVEN制作和打包普通可执行应用(非SprintBoot的WEB应用)
- 人人都是 Serverless 架构师 | 现代化 Web 应用开发实战
- Android开发切换host应用
- 使用Python调用容器服务应用的API
- paddlepaddle 2 应用于语义分割、自动编码机与GAN的数据同步扩充方法
- ASP.NET Core应用基本编程模式[1]:管道式的请求处理
- 161. 关于 Fiori 应用里 SAP UI5 前端开发和 SEGW 后台 OData 服务开发的工作量比值问题
- 135. SAP UI5 应用的屏幕尺寸检测工作原理深入剖析
- 一键部署开箱即用的代理服务器,解决 SAP UI5 应用开发过程中访问远端 OData 服务的跨域问题试读版
- SAP UI5 应用开发教程之六十 - SAP UI5 地图控件的一些高级用法试读版
- 如何以 mock server 的方式本地启动 SAP UI5 应用,使它不连接服务器端 OData 服务
- SAP WebIDE里本地运行Fiori应用后,会自动生成一个新的Destination
- 如何用SAP WebIDE的Fiori创建向导基于ABAP OData service快速创建UI5应用
- SAP UI5 应用开发教程之八十 - 采用测试驱动开发理念(Test Driven Development)进行 SAP UI5 应用的功能开发(二)试读版
- SAP UI5 应用开发教程之七十三 - 使用自定义 Query 实现 SAP UI5 页面路由的书签功能试读版
- Android应用网络限制功能实现
- 在阿里云容器服务上开发基于Docker的Spring Cloud微服务应用(五)
- 从标准到开发,解读基于MOF的应用模型管理
- 基于布谷鸟优化的BP神经网络(预测应用) - 附代码
- 【Android 安全】DEX 加密 ( 代理 Application 开发 | 加载 dex 文件 | 使用反射获取方法创建本应用的 dexElements | 各版本创建 dex 数组源码对比 )
- STL容器vector应用注意事项
- MongoDB 分片的原理、搭建、应用 !
- RFSoC应用笔记 - RF数据转换器 -21- API使用指南之配置ADC相关工作状态
- Android应用开发全程实录
- CAPL编程的进阶应用 ——Checksum算法的实现