7.1 概述
一句话理解
属性上报 = 终端设备主动把数据发给协调器,不用协调器来问。温湿度传感器上报温湿度、人体红外传感器上报"有人",全靠这一招。
什么是属性上报?
前面第5、6章都是"协调器主动发命令"(你问我答)。但很多场景下设备应该主动汇报:
- 温湿度传感器:定时把采集到的温湿度上报给协调器;
- 人体红外传感器:检测到有人时立即上报"有人";
- 烟雾报警器:浓度超标时上报报警。
这类"设备主动上报数据"的技术,就是基于 ZCL 的属性上报(Report)。
本章实验组成
本节课以实验方式讲解属性上报技术,实验设备包括一个协调器设备和一个终端(或路由器)设备,实验内容:
- 终端设备定期上报数据给协调器;
- 协调器接收数据并显示到屏幕上。
内容来源:紫甲 IoT《ZigBee 3.0 开发指南》第四部分·7.1 概述,原站链接
本章自测
一、单项选择题(每题 4 分,共 40 分)
在 ZigBee 网络中,属性上报(Report)指的是(A. 协调器主动向终端发送读属性命令 B. 终端设备主动把数据发给协调器 C. 终端设备主动读取协调器的属性 D. 协调器轮询所有终端的数据) 答案:B
基于 ZCL 的属性上报技术,其英文名称通常写作(A. Read B. Write C. Report D. Bind) 答案:C
与前面第 5、6 章"协调器主动发命令"(你问我答)相比,属性上报的特点是(A. 协调器来问,终端才答 B. 终端主动汇报,无需协调器询问 C. 双方都不发数据 D. 由路由器代替协调器询问) 答案:B
下列场景中,最适合使用"属性主动上报"而不是"协调器主动查询"的是(A. 协调器主动读取开关状态 B. 温湿度传感器定时上报采集到的温湿度 C. 协调器控制 LED 亮灭 D. 协调器向终端写入一个参数) 答案:B
人体红外传感器检测到有人时立即上报"有人",这种上报属于(A. 周期定时上报 B. 事件触发上报 C. 协调器轮询上报 D. 路由节点代理上报) 答案:B
本节实验的硬件组成是(A. 一个协调器 + 一个终端(或路由器)设备 B. 两个协调器 C. 两个终端、无协调器 D. 一个路由器 + 一个 PC,无协调器) 答案:A
本节实验的两项主要内容是(A. 终端定期上报数据 + 协调器接收并显示 B. 协调器定期读终端 + 终端应答 C. 终端控制协调器 LED D. 协调器向终端写属性) 答案:A
在属性上报流程中,负责"解析属性值并显示到屏幕"的设备是(A. 终端设备 B. 路由器设备 C. 协调器 D. 网关外的手机) 答案:C
在属性上报流程中,负责"采集数据、周期调用上报 API"的设备是(A. 终端设备 B. 协调器 C. 仅路由器 D. 串口工具) 答案:A
下列关于属性上报的描述,错误的是(A. 终端设备主动发送上报命令 B. 上报命令中携带具体的属性数据 C. 协调器收到后解析并显示 D. 属性上报必须由协调器先发命令询问) 答案:D
二、问答题(每题 20 分,共 60 分)
- 什么是基于 ZCL 的属性上报?它与"协调器主动发命令"的方式有何不同?参考答案要点:
- 属性上报是终端设备主动把采集到的数据通过 ZCL 上报命令发给协调器;
- 不需要协调器先来询问,属于"设备主动汇报";
- 适用于温湿度定时上报、人体红外检测到人即上报、烟雾浓度超标报警等场景;
- 与第 5、6 章"你问我答"的读写命令模式方向相反。
- 本节实验由哪两部分组成?分别说明终端和协调器各自要做什么。参考答案要点:
- 实验设备为一个协调器和一个终端(或路由器);
- 第一部分:终端设备定期上报数据给协调器;
- 第二部分:协调器接收数据、解析属性值并显示到屏幕上;
- 终端负责采集数据并周期调用上报 API,协调器负责接收、解析与显示。
- 请列举三个典型的适合使用属性上报的物联网应用场景,并说明触发方式。参考答案要点:
- 温湿度传感器:定时周期上报采集到的温湿度;
- 人体红外传感器:检测到有人时立即(事件触发)上报"有人";
- 烟雾报警器:浓度超标时(事件触发)上报报警;
- 共同点都是设备主动汇报,而非协调器逐个查询。