编程 ZED 以用作温度传感器、我们在报告机制方面遇到了几个问题、即最小可报告变化。 问题是,似乎可报告的更改属性不起作用,并且对设备的行为没有影响。
假设我们将 温度仪表组的 最小报告时间的 measuredValue 配置为10秒、最大报告时间配置为20、可报告变化设置为4度。 如果在 uC 上、我只轮询传感器并更新属性列表中包含测量值的变量、而不显式发出 Zstackapi_BdbRepChangedAttrValueReq (appServiceTaskId、 zReq) , 在最大报告间隔到期前不会发出报告(案例1)。 但是、在相同的报告设置下、如果我明确调用 Zstackapi_BdbRepChangedAttrValueReq (appServiceTaskId、 zReq) 在每个轮询循环之后、即使增量小于 配置为可报告的变化值(情形2)、measuredValue 属性也会更新。
我的问题如下:
- 对于(情形1)、当最大报告时间到期时、除了响应可报告属性请求之外、ZStack 是否不自行处理报告?
- 同样对于(案例1)、我是否必须自行专门处理可报告更改配置并提供自己的实现来处理此特定配置? 例如:始终检查最后报告的值和当前值是否因可报告的更改而不同、并手动触发 Zstackapi_BdbRepChangedAttrValueReq (appServiceTaskId、 zReq)
- 如果问题2不正确、那么对于(案例2)、如果我可以发送不同且小于该值的值、可报告更改的意义是什么?
我对这种报告机制还有什么其他误解吗?
此外、另一方面、是否有一些用于开发休眠式终端器件的指南或资源?