首页 > 编程语言 > 详细

Zigbee组网过程中地址分配的计算python

时间:2020-09-27 21:32:33      阅读:33      评论:0      收藏:0      [点我收藏+]
import math

#网络最大深度L
L=3
#父节点拥有的孩子节点的最大数目C
C=7
#父亲节点拥有的孩子节点中路由器的最大数目R
R=4

#计算间隔值
def Cskip(d):
    skip = 0
    if R==1:
        skip = 1 + C * (L - d - 1)
    else:
        fenzi = 1 + C - R - C * (R**(L-d-1))
        fenmu = 1 - R
        skip = fenzi / fenmu
    skip = int(skip)
    print("skip is " + str(skip))
    return int(skip)

#计算非终端节点地址
def solve1(parentadress,d,num):
    s = (num-1) * Cskip(d)
    return  int(parentadress + 1 + s)

#计算终端节点地址
def solve2(parentadress,d,num):
    return int(parentadress + Cskip(d) * R + num - R)

#计算(父节点地址,父节点深度,父节点的第num个节点)
def solve(parentadress,d,num):
    s = 0
    if num > R:#是终端节点
        s = solve2(parentadress,d,num)
    else:
        s = solve1(parentadress,d,num)
    s = int(s)
    return hex(s)

#只需要调用solve函数即可

OK

Zigbee组网过程中地址分配的计算python

原文:https://www.cnblogs.com/savennist/p/13741050.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!