• 欢迎访问伊栖物联网社区,聚焦物联网技术和解决方案QQ群:735553309
  • ,从传感器到片上嵌入式系统,无线接入,边缘计算,在这里您可以讨论一切
  • 参加最新的物联网研讨会报名
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏伊栖Eccee

多个ZigBee网络共存的方案设计和思考

无线 Robin TU 4周前 (09-27) 77次浏览 0个评论

在无线物联网项目研发设计过程中,许多ZigBee方案的用户并没有考虑其它网络存在,在一开始就假定现场只有一个网络,其实这样的做法并不科学,很可能在实施过程中碰上未预料到的意外。这些非预期的结果如果没在实验室中预先模拟,在现场实施过程中才发现的话,必将导致一个痛若的现场调试和解决过程。本文将通过一系列的预想和判断,帮助用户在研发和测试过程中避开可能的不合理设计,从而保障无线项目能够顺利开展。

一、网络的部署过程

和传统简单点对点数传模块不同,ZigBee是一种无线网络,支持任意设备间的相互通信。无线网络中的设备,通常会有一个入网的过程。许多用户喜欢在发货前先将模块配对好,再发到现场,这固然是一种解决方案。但这会有一些安全隐患,首先网络不是在现场建的,容易和其它网络的信道产生冲突。其次,这种方式没考虑设备替换和运维的难度。一个合理的ZigBee网络应该在现场通过能量扫描自动在干扰小的信道上生成网络,并让设备入网。在ZigBee网络中,一般生成网络的设备是RTU,网关设备或控制柜等。入网的设备一旦加入后,除非根据条件程序控制,一般不轻易退网。但从运维角度来说,总要有退网的方式,比如当网关协调器更换时,原来连着的设备需要能离开原来旧有的网络并加入新的协调器生成的网络。

在部署模式中,最容易产生的问题是加错网络。虽说可以通过指定网络ID来限制模块加加哪些网,但你无法保证别人的网络ID就一定和你不一样,此外,你有多个协调器和网关在现场时,也一样要考虑哪些设备由哪个协调器进行控制。所以一个较为合理的方式是,在部署阶段由协调器一侧形成可信任设备的网络列表,在部署完成后可以封网运作,或是开放运作,但对于非信任设备,协调器可以将其踢出。这个可信任设备的列表,可以通过web的方式添加,或是通过在按钮在设备入网时确认,从而保证非部署阶段有非预期的设备入网。

除此之外,对于接入设备,也应该在加入非预期网络时,主动退网,以便加快网络的部署,同时也能避免呆在一个第三方的协调器网络中(因为并非所有第三方设备都设计了强制非信任设备入网的功能)而无法加入自己想要的网络。

二、接入设备指定ID的弊端首

在ZigBee网络中,通常可以指定网络ID来实现只加入信任的网络。Digi公司的XBee模块就提供了这样一个参数,你可以通过ID来指定网络ID,或者把ID设置成0,可以加入任何的网络号。事实上,这里的ID并不是模块运行的网络ID号,当模块入网后,有个OP参数,这个参数才是正在使用的网络号。ID参数只是限制模块可以加哪些网络,如果配置了非零的参数,那么模块只能入这个网络号,并且入网后,OP就是该网络号。对于休眠节点来说,配置ID为指定网络号是很有好处的。但对于只是作为路由器的ZigBee来说,指定ID后,如果不充分考虑各种可能情况,指定ID反而容易引起麻烦。

在ZigBee网络中,如果是一个分步式的网络,那么每个一路由器都可以充当网络的接入点,转发协调器相关的网络信息。如果一个网络中有路由器和协调器,指定了相同的网络ID,而出于调试原因,协调器更换了一台,那么最经常的情况是,协调器重新生成一个信道,而路由器由于没有退网,还在原来的信道上,但它们的网络ID相同,这样新入网的设备很有可能会加到路由器的那个旧网络上,从而引发问题。当然,如果设备有主动退网等功能,就很容易退出并加入新网络,这也是自动部署的好处。

三、参数应该如何写入

一些用户喜欢在程序上电时写一遍参数,有些用户则喜欢把参数配置好烧入后再生产,不论哪种方式,其实都有不合理的地方。首先,上电写一遍参数,如果经常reset的话,也容易产生反复写入,任何flash的写入次数都是有限的。

一个更合理的方式是,只在恢复出厂设置后的首次上电时,读主要参数对比,如果不同则写入该参数。这样的做法可以使你在调试时即使临时改了参数,重新上电也不至于被写入值覆盖。另外通过先读,有不同时再写的方法,大大减少了写入次数。

在运tf 过程中,如果需要远程修改参数,碰到会导致退网或reset的命令时,应该把它们放在最后,或是和其它参数指令分开,确保其它参数写入后再执行这些命令。

 


ECCEE版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:多个ZigBee网络共存的方案设计和思考
喜欢 (2)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址