我是靠谱客的博主 清爽白猫,最近开发中收集的这篇文章主要介绍一些zigbee小知识点,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

关于入网过程中的父子关系:

协调器组网后,一个终端和一个路由器,谁和协调器的信号好,谁先和协调器互为父子,(第一种结果:终端和路由器都和协调器互为父子;第二种结果:路由器和协调器互为父子,终端和路由器互为父子)

两个相同panid为a的协调器上电,可以都创建网络吗?

先上电的协调器panid为a,后上电的为a+1

协议栈最多16个事件

终端(如果父节点是协调器)不能直接广播,必须发给它的父节点再广播,如果其它路由器收到广播会再广播一次,保证网络中设备(距离协调器远的设备)都收到(最多转30次);比如A是终端,B(路由器)是A的父节点,C是同一个网络的另一个路由器,A发给C或者C发给A数据都要经过B转发,这种转发最多30次,转发一次减1

网络源地址(NWK)和源地址不一样,比如终端广播时其网络源地址不变,源地址是替它转发的设备地址

组广播必须,组号,端点,蔟都匹配才能收到数据

同一个端点可以对应多个组,同一个组对应多个点

当选择mac地址和发送时,如果zigbee设备中的地址管理表中有这个mac地址对应的8位网络地址,则使用网络地址发送,如果没有对应的网络地址且距离比较远,首先根据mac地址获得对方网络短地址(ZDP_NwkAddrReq函数让对方把网络短地址回复给发射方,然后地址管理器里就有保存了),然后等待30ms,在延时后的一个事件里以mac地址形式发送

 

低功耗程序加看门狗,莫名死机后,因为-DREJOIN_POLL_RATE=440,重启后找不到协调器,进入不了PM3导致电流一直7/8ma,这样纽扣电池会因为电流过大,导致电压下降,zigbee异常

zigbee重连的原因
(1)zigbee由于各种原因的干扰导致信号太差而掉线。 
(2)协调器重启。

不正常原因:信号差导致重连,发现协调器没有,一直440ms轮询请求入网,然后电流大,电压小,又重启,循环

 

解决方法:zigbee 登记一个三秒事件,定义一个DEV_IDLE,判断入网失败三次后,启动事件,事件中停止rejoin,进入pm3,外部中断事件中判断DEV_IDLE决定是不是要再次rejoin三次

 

zigbee中继延时时间?

某终端在做中继时,传输刚传输到它这里,突然断电,重新上电后,数据会立刻继续向目标设备传吗?还是下一帧数据到达后,一起传?

协议栈事件定时器会被寻网干扰吗?不会的话为什么没有协调器时,事件定时器感觉延时特别大?用硬件定时器可以吗?

堆栈溢出后(可能由osal_memcpy造成),程序重启后设备偶尔正常偶尔不正常,是因为指针改变的数据重要性不一样导致的吗?

zigbee的路由表可以被查看或者修改吗?怎么查看zigbee协调器的路由表和组网数目?

怎么查看zigbee数据传输的跳转路线?

zigbee的路由表除了在协调器里面,在其它终端会有备份吗?备份超过最大值怎么办?

怎么手动删除关联表中已经失效的子节点?

 

#define NWK_MAX_ROUTERS           6也是表示每级最大路由器节点数为6

关于关联表

ZigBee是半双工通信,同一个节点收发不能同时

最后

以上就是清爽白猫为你收集整理的一些zigbee小知识点的全部内容,希望文章能够帮你解决一些zigbee小知识点所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部