1,由于我所搭建的整个网络是Mesh网络,不牵涉到低功耗的情况,所以网络中只有两种类型的设备:协调器和路由器即:1个协调器+N个路由器

2,为了防止协调器在掉电的情况下路由器去维持整个网络,这样协调器就不能再加入到原来的网络中,所以协调器和N个路由器都开启了:NV_INIT, NV_RESTORE

3,我在协调器中建立了一个关联表用于维护所有路由节点的网络短地址,这样协调器和路由器通信的时候都采用单播的方式通信。

下面是产生的几个问题描述:

(1)我在协调器和N个路由器都开启NV_INIT NV_RESTORE的情况下,再打开AES加密功能。设置-DSECURE=1 , zgPreConfigKeys = TRUE,协调器和路由器设置相同的defaultKey(在nwk_global.c中修改)。

1.1   但是出现加密后路由器和协调器通信出现断断续续的情况,有的时候数据能够收到,有的时候收不到?

[VV] 这个跟是否加密没有关系,既然你能收到数据,而且数据加解密都正常,那说明这个加密本身是没有问题的。

1.2    重启路由器,路由器在上电加入网络出现收不到协调器发送过来的数据的情况。

[VV] 是协调器没有发出来呢,还是发出来了没有收到?用空中抓包看下

1.3   如果把所有节点的NV_INIT NV_RESTORE选项去掉,加密通信是没有问题的,请问:这两个选项和加密设置不能共同设置吗?相互之间会影响?

[VV] 可以共同设置,不会有影响的。

(2) 所有的路由器都开启了NV_RESTORE选项,如果路由器A通过路由器B加入到协调器的网络中,即路由器B是路由器A的parent父节点。

2.1    如果此时路由器B掉线,那么路由器A在开启NV_RESTORE的情况下回去选择新的路由器C作为父节点吗?如果会那么路由器C会给A分配新的网络地址                     吗?

[VV] 对于路由器只有在第一次入网的时候会选择一个父设备入网,主要目的是为了能获得父设备分配的网络地址,然后入网。一旦入网以后路由器的通信并不是一定依赖于父设备的,它自己可以维护邻居表和路由表和其他的节点进行通信,即便父设备不存在了,它不会重新选择父设备,而是继续维持正常工作。

2.2   如果路由器A更换了新的父亲节点,当原来的路由器B上电后,路由器B认为A节点还是自己的孩子节点,单播发送数据给路由A节点能收到吗?

[VV] 不会更换。通信不会有影响。

2.3   协调器也并不知道路由器A节点更换了新的父亲节的,保留的还是原来的路由路径,那么通过协调器单播数据给路由器A节点的时候能收到吗?

[VV] 不会更换,可以收到。

2.4  我看网上说可以通过路由器A节点调用ZDApp_AnnounceNewAddress()函数向网络中的所有设备进行新的地址更新通知,网络中协调器和所有的路由器在收到A节点的Device announce这个消息后判断A节点已经更换了父节点,会删除associated device list里面A节点的地址。协调器收到A节点的Device announce判断A节点更换了父亲节的,会更新老的路由路径为新的路由路径。

[VV] 在开启了NV的条件下,路由器不会重新入网了。

请问具体的代码是如何实现的呢?可以详细给下代码吗?路由A的代码和其他路由的代码,还有协调器的相应处理代码。

[VV] 你需要实现什么?

谢谢!

建议:

1) 一定要说下你用的协议栈版本。

2)学会用Sniffer 抓包分析ZigBee的通信问题,很重要。

mesh 协调器 路由器_关于Mesh网络中,协调器和路由器之间的几个问题?相关推荐

  1. 网络中的交换机和路由器

    交换机 主要用于同一个网络中 ,主机与主机之间的数据传输. 交换机维护一张表,记录着当前交换机上连接的主机的MAC地址以及该对应的交换机的接口号. 路由器 网络与网络之间的连接者,将多个不相干的网络进 ...

  2. mesh 协调器 路由器_关于zigbee协调器(单播方式)传输数据给网络中的多个路由器丢失数据包的问题?...

    问题描述:建立一个mesh网络,网络中只存在协调器和路由器节点,并不存在Endevice终端节点.整个网络大概存在20多个路由节点,一个协调器. 路由器节点和协调器都加入和NV存储,所以路由节点掉电后 ...

  3. 华为路由器显示无法连接网络连接到服务器,华为路由器可以搜到WiFi信号但无法连接怎么办?...

    华为(荣耀)路由器可以搜索到路由器的 Wi-Fi 信号,但是无法连接,可能是因为所在位置的Wi-Fi信号太弱,或者路由器设置了黑/白名单.儿童上网保护等,您可以根据以下方式进行排查. 检查一:确认是否 ...

  4. anycast隧道_讲述IPv6网络中的选播概述及Anycast困难解决方法

    A Panorama of Anycast in IPv6 Networks SUN Fei, LI Zhi-tang, LI Yao (Network Centre, Huazhong Univer ...

  5. aspen中再沸器模拟_【单元操作001】再沸器第一波·Aspen Plus中的再沸器设置

    蒸馏操作是通过汽化.冷凝达到提浓的目的,加热汽化主要通过再沸器来完成,相对而言,精馏塔的再沸器种类较多,选择时要考虑的因素也比较多.这一系列的文章,小编试图通过流程模拟.再沸器排布.再沸器类型及在工程 ...

  6. 如何减小电压跟随器输出电阻_外螺纹压电促动器FPSt150/7/120M14的应用分析

    M14系列壳体外螺纹压电促动器,是机械封装壳体外带有螺纹的压电促动器,方便与外部机械结构安装固定,主要应用于光束偏转.光路调整.镜片调节架或需要通过外螺纹进行安装的直线.角度控制应用等.为了获得优化的 ...

  7. python自动化配置路由器_华为 Python网络自动化

    哈喽,大家好!我是艺博东 ,是一个思科出身.专注于华为的网工:好了,话不多说,我们直接进入正题. 光棍二十年,不知道情人节是什么鬼东西.还是好好学技术吧!努力.奋斗吧!为了早日走向人生巅峰,迎娶白富美 ...

  8. android音乐播放器简书,打造 Android 网络音乐播放器 [2]

    前言 在上一篇中,我们把播放器的基本播放功能实现了,今天我们就把基本的界面实现以下吧. 目标 界面的话没打算实现太复杂的,就做现在比较流行的 Drawer+Tab+ViewPager 这种界面.下面给 ...

  9. java简单的音乐播放器编程_简单实现java音乐播放器

    学习过java语言的你,或多或少,在某天突发奇想,想着用swing做一个音乐播放器.但是,发现很难找到,相关的java代码,或者你下载的代码有问题,或者你代码里面引入的类包找不到.为了解决自如此类的问 ...

最新文章

  1. pg_basebackup 配置 stream replication 异步/同步
  2. 个人技术生涯的感悟(2)
  3. promise和Angular中的 $q, defer
  4. 安卓常用功能——已封装好
  5. python PyQt5中文教程☞【第一节】PyQt5简介
  6. 「JupyterNotebook」Jupyter中的程序调试方法
  7. Mac安装Cobalt Strike 4 【亲测有用】
  8. python使用停用词表过滤词
  9. 剑指Offer之数组中只出现一次的数字
  10. 模块化程序设计(多文件编程)介绍
  11. Python设计模式:建造者模式
  12. 深度学习面试问题总结
  13. JS实现本地文件选择
  14. instead和instead of
  15. 黑客马拉松之家(devpost)
  16. C语言每日一练——第61天:掷骰子游戏
  17. 简单Java Web 开发:Eclipse+Struts2+Tomcat+MySQL(workbench)+SAE
  18. 大学毕业4年-回顾和总结(9)-股权投资1年,给自己一个答卷(好狗狗、皇包车、职业梦、比呀比、易途8)(创业有风险,投资需谨慎)...
  19. OpenFOAM 工具列表
  20. centOS7.2.1511 bit64位 浏览器不能上网

热门文章

  1. tensorflow 转张量类型为float_5个简单的步骤掌握Tensorflow的Tensor
  2. np.random.choice用法
  3. 数据结构 - 队列(图解+源码)
  4. CompletableFuture详解~thenAcceptBoth
  5. 无法初始化链接服务器 (null) 的 OLE DB 访问接口 Microsoft.Jet.OLEDB.4.0 的数据源对象。
  6. linux资源使用统计指南,指南:工作量分析文档
  7. master分支删除文件_Git分支基础简介;创建分支;合并分支;删除分支;
  8. linux进程映像由哪些构成,Linux编程开发进程映像类型分析
  9. php web 目录遍历,php的目录遍历操作
  10. React Native使用指南-使用链接库