本节摘要:设备对象是住在端点零的特殊应用对象,操持网络管理(扫描、建网入网参数、离开通知)、设备与服务发现(摸清全网能力地图)、绑定管理(创建查询解除控制关系)三摊事务。本节把三摊事务的服务内容讲清,为下一节的完整入网时序做准备。
设备对象不是应用,是"应用的行政层"。它占用端点零,任何标准工具都知道去零号端点找它。它对上提供管理接口(协议栈配置、网络参数读写),对下调用网络层与应用支撑子层服务,对远端设备提供发现与绑定服务。芯片厂商交付的协议栈里,设备对象通常以源码或库形式开放,产品开发者通过它提供的接口完成建网、入网、绑定等动作——你写的应用代码几乎不会直接碰网络层原语,都经这位管家转手。
它的网络管理职责里最基础的是扫描。两种扫描对应两个问题:能量检测扫描问"哪个信道最干净"(消费物理层的能量检测值),主动扫描问"这个信道上有哪些网络在广播"(收集现网信标或扫描应答里的网络标识与能力信息)。建网前的标准动作是先能量扫描避开噪声、再主动扫描避开现有网络,双扫之后协调器才确定信道与网络标识。
建网前的双扫描决策(概念流程): 能量扫描:对十六个信道逐一测能量检测值 → 排序取最安静的若干候选 主动扫描:对候选信道发询问 → 收集在网网络的标识 · 信道 · 设备容量 决策:挑"安静且无邻居网络冲突"的信道 → 写入网络参数 → 发起建网 协调器建网成功后广播网络标识,等待设备入网
设备对象提供两级发现。设备发现回答"这个地址上是谁、有哪些端点"——拿到端点清单后逐端点发服务发现,回答"这个端点说哪种方言、有哪些输入输出簇"(本质是读取第四章的简单描述符)。发现服务撑起了几乎所有上层工具:网关入网后扫一遍全网就能生成设备清单;统一配网的"发现并绑定"流程靠它找到候选端点;调试工具的设备树视图也全是它的功劳。
值得注意发现的实现细节:对休眠终端设备做发现要经其父节点转交,响应可能要等一个轮询周期。工具里"发现超时"对电池设备与常电设备应该用不同档位,否则会把正常的睡眠当成离线。
第四章讲了绑定表存在应用支撑子层,创建、查询、解除绑定的管理动作则由设备对象执行。三种创建方式对应三类使用场景:直接命令式——网关或工具发绑定请求,精确但需要人工或逻辑指定两端;自动发现式(统一版的"发现并绑定")——设备端触发,扫描附近端点,按输出簇找输入簇自动撮合,用户只按一个按钮;触摸链接式——两台设备物理靠近后配对(第八章统一配网详述)。三种方式的演化顺序本身就是一部"降低用户门槛"的历史:从安装商配置,到按一个键,到碰一碰。
💡 关键直觉:绑定管理是"控制逻辑的数据化"。传统楼宇控制把控制关系写死在编程器里,这里把关系变成网络里一张可查可改的表。改场景不动固件,就是这个设计的直接收益。
网络管理还包括"好聚好散"的机制。设备主动离网时应当发送离开通知帧,父节点与邻居及时清理关联记录、路由器回收其地址占用——干净离场,不留僵尸条目。被动离场由老化机制兜底:父节点长期收不到子设备轮询(超过设定时长)就把它从关联表移除;信任中心也可以主动移除设备(设备表发命令),被移除者下次通信时被拒绝。这套清理机制直接决定网络的长期健康——从不清理的表会让地址空间与父节点缓存被死条目占满,"网络越用越慢"的慢性病多半源于此。

能量扫描的结果受扫描时长影响——扫得太短,恰好错过邻居的突发传输,得到虚假的"安静"。规范允许配置每个信道的扫描时长,工程建议在干扰复杂的环境用较长档位。另一个细节:主动扫描收集的网络能力信息里带"是否开放入网"与"剩余容量"标志,设备据此跳过满员网络——这是入网快慢的隐性因素:网络满了不是错误,是正常拒绝,设备应继续尝试下一个候选。
按最长的合法轮询周期加上裕量设定。老化时间短于某类设备的轮询周期,那类设备会被周期性误踢——"某型号传感器总掉线而其他型号正常"的故障,十有八九是老化配置与该型号的轮询策略不匹配。
补网关侧网络管理的产品化视角。ZDO 的网络管理服务(允许入网开关、设备表查询、绑定管理)在产品形态上就是网关 App 的功能清单。产品化的三个要点:其一,允许入网窗口的产品化——"按一下网关按钮开 120 秒入网窗口"比 App 里的开关更顺手,两者都要有(物理与 App 双通道);其二,设备表的语义化——原始的短地址与端点对用户无意义,产品要把设备表渲染成"客厅的温湿度计"这样的语义视图(设备名、房间、图标),底层还是 ZDO 查询的数据;其三,网络健康视图——把设备离线统计、路由跳数、信号质量渲染成用户能懂的网络体检报告(哪些设备信号弱建议加一个插座式中继)。三条要点的共同逻辑:ZDO 提供的是管理接口,产品的竞争力在于把接口翻译成用户能理解与操作的语言——协议工程师的输出,要经过产品设计师才能到用户手里。