早上好。
我们正在测试一个自定义应用程序、该应用程序涉及一些基于 zr_genericapp 和 zed_genericapp 的自定义固件、我们的最后一个设置由以下拓扑表示:
在有14个定制 ZED、3个定制 ZRS 和1个默认 ZR 的情况下,每台路由器与其他路由器以直线的距离约40米,而终端设备则位于路由器之间的路径中。
每个器件都设置为以20dBm 的功率传输、我们在几乎农村地区使用一些偶极式的 TX 天线。
定制设备包含8个智能插头型端点。
我的目标是测量每个端点的每个计量度量度量的轮询时间(仪表组的当前汇总交付结果)。
我发现的问题主要是:
- 我将实验室中的所有器件配对、因此终端器件与某些父设备以与最终拓扑不同的临时方式配对、认为它们会在现场更改父设备、从而找到最佳的设备: 仅对7-8个 ZED 就正确地发生了这种情况,其余的 ZED 最终导致网络图中的断开连接。 因此、我必须走到断开的引脚才能重置和重新配对、从而形成正确的最终拓扑。 我缺少什么? 我避免了现场配对、因为通常它需要可变的重试次数(出厂重置和按下配对按钮)、因为第一次尝试时几乎不会进行配对和面试、而在实验室(桌面)中、它们始终成功完成。
- 由于我具有所需的拓扑、我运行我的脚本以轮询每个器件端点(每个器件8个)、以了解我感兴趣的2个集群属性、即 currentSummDelivered 和 OnOff: 我遇到的延迟不是很好、获取完整仪表/ONOFF 所需的时间大约为1m 33s 轮询8个端点、24s 轮询1个端点(请参阅日志)。
Field test, top 5, 3 routers, 14 end devices, 1 endpoint polled for each device //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Device: 0x00124b0025906ff3 [Router], Time elapsed: 104.0501ms, Average per attribute : 52.02505ms Device: 0x00124b00259087a1 [EndDevice], Time elapsed: 111.1384ms, Average per attribute : 55.5692ms Device: 0x00124b0025908a6a [EndDevice], Time elapsed: 110.2387ms, Average per attribute : 55.11935ms Device: 0x00124b0025907cb1 [EndDevice], Timed out Device: 0x00124b002590e021 [Router], Time elapsed: 794.8357ms, Average per attribute : 397.41785ms Device: 0x00124b002590dd33 [Router], Timed out Device: 0x00124b002590e188 [EndDevice], Timed out Device: 0x00124b0025910009 [EndDevice], Time elapsed: 132.7311ms, Average per attribute : 66.36555ms Device: 0x00124b0025907b5c [EndDevice], Time elapsed: 435.9508ms, Average per attribute : 217.9754ms Device: 0x00124b0025908a25 [EndDevice], Time elapsed: 319.9962ms, Average per attribute : 159.9981ms Device: 0x00124b002590f613 [EndDevice], Time elapsed: 381.8213ms, Average per attribute : 190.91065ms Device: 0x00124b0025909133 [EndDevice], Time elapsed: 282.9713ms, Average per attribute : 141.48565ms Device: 0x00124b0025907b63 [EndDevice], Time elapsed: 151.1411ms, Average per attribute : 75.57055ms Device: 0x00124b002591071d [EndDevice], Time elapsed: 157.2716ms, Average per attribute : 78.6358ms Device: 0x00124b002590e1d0 [EndDevice], Timed out Device: 0x00124b002590dd78 [EndDevice], Time elapsed: 645.0995ms, Average per attribute : 322.54975ms Device: 0x00124b002590fbf6 [EndDevice], Time elapsed: 467.6726ms, Average per attribute : 233.8363ms Full poll time: 23.9009177s //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Field test, top 5, 3 routers, 14 end devices, 8 endpoints polled for each device //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Device: 0x00124b0025907b63 [EndDevice], Time elapsed: 1.4851941s, Average per attribute : 92.824624ms Device: 0x00124b0025910009 [EndDevice], Time elapsed: 785.6044ms, Average per attribute : 49.100267ms Device: 0x00124b002590e021 [Router], Time elapsed: 3.1569569s, Average per attribute : 197.3098ms Device: 0x00124b0025908a6a [EndDevice], Time elapsed: 1.4947743s, Average per attribute : 93.423387ms Device: 0x00124b0025909133 [EndDevice], Time elapsed: 3.2124645s, Average per attribute : 200.779026ms Device: 0x00124b002590e1d0 [EndDevice], Time elapsed: 1.8394391s, Average per attribute : 114.964936ms Device: 0x00124b0025906ff3 [Router], Time elapsed: 3.4791768s, Average per attribute : 217.448546ms Device: 0x00124b002590dd33 [Router], Timed out Device: 0x00124b0025908a25 [EndDevice], Time elapsed: 1.5380671s, Average per attribute : 96.129187ms Device: 0x00124b002590dd78 [EndDevice], Time elapsed: 2.8397282s, Average per attribute : 177.483006ms Device: 0x00124b0025907cb1 [EndDevice], Timed out Device: 0x00124b002590fbf6 [EndDevice], Timed out Device: 0x00124b00259087a1 [EndDevice], Time elapsed: 1.0135207s, Average per attribute : 63.345037ms Device: 0x00124b002591071d [EndDevice], Time elapsed: 703.0589ms, Average per attribute : 43.941175ms Device: 0x00124b002590f613 [EndDevice], Time elapsed: 1.1584657s, Average per attribute : 72.4041ms Device: 0x00124b002590e188 [EndDevice], Time elapsed: 1.8645467s, Average per attribute : 116.534165ms Device: 0x00124b0025907b5c [EndDevice], Time elapsed: 2.1748023s, Average per attribute : 135.925138ms Full poll time: 1m33.2618987s ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
因此、在此测试中、具有智能插头端点的器件仅为17个(3个定制路由器+ 14个定制终端设备)、 但我们希望单个协调器处理其中大约200个、并仔细划分在路由器和终端设备中、以避免需要太多的路由器-路由器跃点(我们尝试将其限制为10个)。
换言之、我们要将拓扑图画出来、将器件编号提高到30、使其像一个以协调器为中心的星型的硬钎焊、例如其中6个分支。
它如何扩展? 我们是否可以在10分钟内查询每个器件每个端点的完整计量和 ONOFF 属性? 对于驱动、我们是否可以可靠地命令'ON'或'OFF'命令、并在一秒后确认其上一状态和下一状态?
这种应用是否真的适合使用 Zigbee 协议来完成? 或者我们可能必须评估一些 WiFi 模块? 将协调器替换为接入点、 使用 WiFi 中继器的 ZigBee 路由器和具有客户端节点的终端设备。
我们非常感谢您的任何建议。
再次感谢您极其准备就绪的支持。
Roberto