找回密码
 立即注册

微信扫码登录

查看: 428|回复: 6

关于panid和网络拓扑

[复制链接]

10

主题

13

回帖

124

积分

注册会员

积分
124
发表于 2024-9-30 03:05:08 | 显示全部楼层 |阅读模式
本帖最后由 长虹掩日 于 2024-10-1 02:05 编辑

大家好,问几个问题
1 zb_api.h 中没有关于panid的读写函数。我想通过uart命令修改,如何做?自己保存panid,重启的时候修改TL_ZB_ASSOCJOIN_PERMIT_PANID 和 nwkNibDefault变量吗?在哪个函数中修改合适?
2 网络拓扑只能通过路由表获得吗?除了通过变量g_routingTab,有没有更好的方法获得?
3 协调器让路由加入网络的流程是什么?zgc创建网络应该怎么操作?

    3.1我把双方设置好panid和频段,然后协调器启动bdb_commission_Formation(bdbCommissioningCb函数中,bdb_networkFormationStart返回no_network),然后permit_join。拉取网络内节点(nodes_joined_get_req)时依然显示0






微信截图_20240930220509.png
微信截图_20240930220516.png
微信截图_20241001010646.png

27

主题

121

回帖

447

积分

版主

积分
447
发表于 2024-10-8 15:58:30 | 显示全部楼层
你好,
1、在启动创建网络之前,将g_zbMacPib.panId和g_zbNIB.panId设置成你要设置的值,一旦网络创建成功之后,PAN ID将会被保存。
获取当前PAN ID的话,在工具界面上有个“get local network info”的按钮。
2、网络拓扑也可以通过发送MGMT_LQI_REQ向某个设备查询关联设备请求。
3、协调器网络创建成功后,才可以手动开关允许入网(permit join)。参数duration代表允许入网时间,单位为秒。(0:关网;其他非0值:以当前秒数开始每秒减1)
在网络开启时间内,如果有设备搜索到该网络,就会尝试接入。

10

主题

13

回帖

124

积分

注册会员

积分
124
 楼主| 发表于 2024-10-9 02:53:45 | 显示全部楼层
本帖最后由 长虹掩日 于 2024-10-9 03:46 编辑
TL_YB 发表于 2024-10-8 15:58
你好,
1、在启动创建网络之前,将g_zbMacPib.panId和g_zbNIB.panId设置成你要设置的值,一旦网络创建成功 ...

您好,根据您的回答,协调器创建网络应该是全自动的。我应该如何确认协调器创建网络成功?是zbdemo_bdbCommissioningCb 函数先后返回 BDB_COMMISSION_STA_FORMATION_DONE,BDB_COMMISSION_STA_SUCCESS吗?


另外,频道的设定没有显示在获取节点信息命令中
微信截图_20241009034629.png

27

主题

121

回帖

447

积分

版主

积分
447
发表于 2024-10-9 13:57:31 | 显示全部楼层
长虹掩日 发表于 2024-10-9 02:53
您好,根据您的回答,协调器创建网络应该是全自动的。我应该如何确认协调器创建网络成功?是zbdemo_bdbCom ...

是的,可以根据回调函数返回的状态确认网络创建成功。

关于获取本地网络信息并返回channel的话,应是最近的SDK版本才加上的。
可以在最新的SDK(zbhciCmdProcess.c)中搜索“ZBHCI_CMD_GET_LOCAL_NWK_INFO_REQ”找一下相关的处理函数。

10

主题

13

回帖

124

积分

注册会员

积分
124
 楼主| 发表于 2024-10-10 18:02:55 | 显示全部楼层
本帖最后由 长虹掩日 于 2024-10-10 18:32 编辑
TL_YB 发表于 2024-10-9 13:57
是的,可以根据回调函数返回的状态确认网络创建成功。

关于获取本地网络信息并返回channel的话,应是最 ...

我现在连上了路由的zgc。设置好panid和频段,下面是操作步骤
1 协调器fatory reset-> start network->等待返回bdb完毕 -> permit join ,地址是0xffff,时间是0xa0(路由是0xfffe,也试过)
2 路由fatory reset-> 自动执行bdb_init

然后接下来应该怎么操作加入网络?没看到steering命令

(0x0124 和 0x000a命令是我自己添加的,请忽略)

路由

路由

协调器

协调器

27

主题

121

回帖

447

积分

版主

积分
447
发表于 2024-10-10 19:39:47 | 显示全部楼层
长虹掩日 发表于 2024-10-10 18:02
我现在连上了路由的zgc。设置好panid和频段,下面是操作步骤
1 协调器fatory reset-> start network->等待 ...

你好,
ZGC工具是配合coordinator使用的,ZGC工具上面没有启动搜网的按钮。

10

主题

13

回帖

124

积分

注册会员

积分
124
 楼主| 发表于 2024-10-10 21:55:18 | 显示全部楼层
本帖最后由 长虹掩日 于 2024-10-11 04:31 编辑
TL_YB 发表于 2024-10-10 19:39
你好,
ZGC工具是配合coordinator使用的,ZGC工具上面没有启动搜网的按钮。

嗯,收到。现在是路由和协调器节点都连的zgc。截图也是分别两个节点的。

现在就是卡在组网这一步了。要怎么继续操作,需要什么步骤?如何看组网进度?   我的理解是操作到现在这个进度,路由会自动加入协调器。但是我拉协调器组网信息的时候返回数量0

修改了一下操作流程
1 协调器fatory reset->设置频道20-> start network->等待返回bdb完毕 -> permit join ,地址是0xffff,时间是0xa0
2 路由fatory reset-> 发送 0x0002 steer 命令 -> 在bdb_networkSteerFactoryNew函数内用hci返回变量值


返回变量 scanChannels=aps_ib.aps_channel_mask 是个很复杂的u32数,末位是00,并不是我设定的20频道,意思是zb_nwkDiscovery函数会扫描所有频道吗?修改为常量后依然无法加入。




您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Telink forum ( 沪ICP备17008231号-1 )

GMT+8, 2024-11-24 06:07 , Processed in 0.091921 second(s), 21 queries .

Powered by Telink 隐私政策

泰凌微电子版权所有 © 。保留所有权利。 2024

快速回复 返回顶部 返回列表