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

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的通信问题,很重要。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/505937.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

html5写入唯一标识,id - 唯一标识符 - html5全局属性

idid全局属性定义唯一标识符(ID),该标识符在整个文档中必须是唯一的。其目的是在链接(使用片段标识符),脚本或样式(使用CSS)时标识元素。示例A normal, boring paragraph. Try not to fall asleep.The most exciting paragraph on the page. One of a ki…

python 文本相似度_【机器学习】使用gensim 的 doc2vec 实现文本相似度检测

环境 Python3, gensim,jieba,numpy ,pandas 原理:文章转成向量,然后在计算两个向量的余弦值。 Gensim gensim是一个python的自然语言处理库,能够将文档根据TF-IDF, LDA, LSI 等模型转化成向量模…

list的exc_集合框架

List是有序的Collection,使用此接口能够精确的控制每一个元素的插入位置,及使用索引访问List中的元素,List存储元素是有序的、可重复。除了具备Collection接口必备的Iterator()方法外,List还提供了listIterator()方法返回一个List…

html鼠标经过的特效代码,使用mouse事件实现简单的鼠标经过特效

代码超级简单,这里就不多BB了,直接奉上Documentbody,ul,li{margin:0; padding:0; list-style:none}ul li{width:100px; height:100px; border:1px solid #f00; float:left; margin:50px 10px; background-color:#ffffff;}ul li.current{border:1px solid…

ubuntu tomcat上传目录权限_等了 3 年,Ubuntu Studio 终于有权限上传更新包

Ubuntu 的衍生版本 Ubuntu Studio 终于选出了两位具有上传更新包权限的开发者。此前就有媒体报导过,Ubuntu Studio 19.04 版本可能会流产,而原因很让人诧异:社区里没有任何一位开发者具有上传更新包的权限。随后 Ubuntu Studio 委员会主席 Er…

log中文乱码 springboot_springboot + shiro 权限注解、统一异常处理、请求乱码解决

springboot shiro 权限注解、统一异常处理、请求乱码解决前篇后台权限管理系统20200808新版本更新版本升级及内容优化版本,改动内容:版本更新,springboot从1.5升级到2.1;权限缓存使用redis;验证码使用redis&#xff1…

html表格横向竖向滚动,利用纯css实现table固定列与表头中间横向滚动的思路和实例...

前言最近在做的后台管理系统要处理大量的表格,因为原项目是采用的for循环加拼接字符串的方式实现;导致js代码一大堆;各种单引号和双引号的嵌套;让人头疼;遂引入vue.js;用v-for做模板渲染;工作量顿时减轻不少,心情舒畅;文字被强制换行了由于个别表的列数较多;文字都挤…

android判断主线程_android中从子线程切换到主线程,但是显得代码很臃肿,请教大牛是怎么自定义的?...

小弟新手一枚,我先来说说我自己在项目中的做法。因为小弟只有JAVAWEB的基础所以只能使用线程池来处理线程之间的切换1.为了使APP不出现卡顿和内存的低消耗。我是用了synchronized 和用一个Map 来限定每次只能运行一条子线程,Map 键:TAG 线程任…

python十进制转二进制循环_python十进制转二进制的详解

python十进制转二进制 python中十进制转二进制使用 bin() 函数。 bin() 返回一个整数 int 或者长整数 long int 的二进制表示。 下面是使用示例: >>>bin(10) 0b1010 >>> bin(20) 0b10100 补充:十进制转8进制和16进制的方法&#xff1a…

计算机主机硬件图片,电脑主机内部有哪些硬件

电脑主机内部有哪些硬件电脑主机里的硬件都有哪些呢,你知道吗?下面将由小编带大家来解答这个疑问吧,希望对大家有所收获!从主机外部看硬件从外边看,主机就是一个扁扁方方的铁盒子,但很多朋友确没有真正了解过它内部到底是什么样子…

springboot profile_SpringBoot简单配置

使用Spring Boot,配置工作将会变得更加简单,我们只需要在application.properties中定义属性,然后在代码中直接使用Value注入即可。 如下:book.authorxxxbook.nameyyy book.pinyin测试这里专门设置了中文,因为中文不做特…

cc9.3 indesign_InDesign2018mac中文版_Adobe InDesign CC 2018 for mac官方版 - 17软件下载

Adobe InDesign CC 2018 Mac简体中文版,版本号:V13.1.0.76,软件采用了全新的启动界面,更新和改进众多功能。并且支持多国语言版本:中文,英文,韩文,日本等多国语言。安装方法&#xf…

大工14秋《计算机应用基础》在线测试2,2017大工《计算机应用基础》在线测试2答案.doc...

大工17秋《计算机应用基础》在线测试2答案?1: 单选题 (4分)在Excel 2010中,存储数据的表格被称为()。A: 文件B: 文件夹C: 工作表D: 图表2: 单选题 (4分)在Excel 2010中,图表是()。A: 用户通过“绘图”工具栏的工具绘制的特殊图形B: 由数据清单生成的用于形象表现数据的图形C: …

druid jar包_使用druid实现Spring boot配置文件中数据库密码密文存储

通常在编写代码的时候,数据库的用户名和密码以明文的方法写到配置文件中,系统运维为了保证一定的安全性,要求我们在配置文件中使用密文的方式存储,本文主要介绍使用druid实现数据库密码密文显示的方法。一、基本情况druid包中Conf…

嵌入式linux python移植过程_嵌入式linux项目开发(一)——BOA移植

嵌入式linux项目开发(一)——BOA移植项目目标:使用BOA、CGIC、SQLite搭建嵌入式web服务器一、嵌入式web服务器BOA简介在嵌入式设备的管理与交互中,基于Web方式的应用成为目前的主流,即在嵌入式设备上运行一个支持脚本或CGI功能的Web服务器&am…

html课做一个网页,菜鸟自学建站 HTML 第三课 制作我的第一个网页_html/css_WEB-ITnose...

上一课我们了解了Dreamweaver的工作界面,从这节课开始,我们由浅入深的开始学习网页的制作。首先打开Dreamweaver,制作网页首先要新建一个文档,就像我们写文稿需要一张纸一样。只有有了载体,你才能在上面进行创作&#…

k8s 手动恢复redis 集群_高工面试之:redis的几种集群方式你都熟悉吗?

Redis三种集群方式:主从复制、哨兵模式和Cluster模式一、主从复制模式Redis配置成主从模式,主库(Master)只负责客户端的写数据,从库(Slave)只负责客户端的读数据。主从数据复制过程如图所示:主从复制原理:slave redis连…

mock模拟接口测试 vue_Easy Mock以及Vue+Mock.js模拟数据

Easy Mock以及VueMock.js模拟数据一、Mock.js简介Mock.js是一个可以模拟后端数据,也可以模拟增删改查操作的js库基础语法规范数据模板中的每个属性由 3 部分构成:属性名、生成规则、属性值:name|rule: value语法规则说明name|min-max: string…

excel转html中文乱码,英文系统中Excel中文乱码问题

我是先用Gridview导出,然后再转换格式,部分代码如下StringWriter sw new StringWriter();HtmlTextWriter htw new HtmlTextWriter(sw);GV.RenderControl(htw);File.WriteAllText(path"temp", sw,System.Text.Encoding.UTF7);Excel.Applicati…

jsbridge原理_React Hooks 原理与最佳实践

1. 前言React Hooks 是 React 16.8 引入的新特性,允许我们在不使用 Class 的前提下使用 state 和其他特性。React Hooks 要解决的问题是状态共享,是继 render-props 和 higher-order components 之后的第三种状态逻辑复用方案,不会产生 JSX 嵌…