主题中讨论的其他器件:、 UNIFLASH
你好。 我 现在已经尝试让 OTA 在温度传感器项目上工作了一段时间。 我的实现使用的是 SDK 版本6.20.00.29、其他方面都很好。 我遇到的问题是、在尝试使用 Zigbee2Mqtt 进行更新时、我收到一条错误消息、提示 OTA 已被器件中止。 下面的日志:
Zigbee2MQTT:debug 2024-03-19 11:20:13: Received Zigbee message from 'Batch2 Sen5', type 'commandQueryNextImageRequest', cluster 'genOta', data '{"fieldControl":0,"fileVersion":1,"imageType":9810,"manufacturerCode":48830}' from endpoint 8 with groupID 0 Zigbee2MQTT:debug 2024-03-19 11:20:14: OTA: Request offsets: fileOffset=0 pageOffset=0 dataSize=32 Zigbee2MQTT:debug 2024-03-19 11:20:14: OTA: Payload offsets: start=0 end=32 dataSize=32 Zigbee2MQTT:debug 2024-03-19 11:20:14: OTA: Update at 0%, remaining Infinity seconds Zigbee2MQTT:info 2024-03-19 11:20:14: Update of 'Batch2 Sen5' at 0.00% Zigbee2MQTT:info 2024-03-19 11:20:14: MQTT publish: topic 'zigbee2mqtt/Batch2 Sen5', payload '{"battery":0,"humidity_8":0,"linkquality":87,"temperature_8":-40,"temperature_9":-40,"update":{"installed_version":1,"latest_version":2,"progress":0,"state":"updating"},"update_available":null,"voltage":4100}' Zigbee2MQTT:debug 2024-03-19 11:20:14: OTA: Request offsets: fileOffset=32 pageOffset=0 dataSize=32 Zigbee2MQTT:debug 2024-03-19 11:20:14: OTA: Payload offsets: start=32 end=64 dataSize=32 Zigbee2MQTT:debug 2024-03-19 11:20:14: OTA: Request offsets: fileOffset=64 pageOffset=0 dataSize=32 Zigbee2MQTT:debug 2024-03-19 11:20:14: OTA: Payload offsets: start=64 end=96 dataSize=32 Zigbee2MQTT:debug 2024-03-19 11:20:14: OTA: Request offsets: fileOffset=96 pageOffset=0 dataSize=32 Zigbee2MQTT:debug 2024-03-19 11:20:14: OTA: Payload offsets: start=96 end=128 dataSize=32 Zigbee2MQTT:debug 2024-03-19 11:20:20: OTA: Request offsets: fileOffset=128 pageOffset=0 dataSize=32 Zigbee2MQTT:debug 2024-03-19 11:20:20: OTA: Payload offsets: start=128 end=160 dataSize=32 Zigbee2MQTT:debug 2024-03-19 11:20:20: OTA: Request offsets: fileOffset=160 pageOffset=0 dataSize=32 Zigbee2MQTT:debug 2024-03-19 11:20:20: OTA: Payload offsets: start=160 end=192 dataSize=32 Zigbee2MQTT:debug 2024-03-19 11:20:20: OTA: Request offsets: fileOffset=192 pageOffset=0 dataSize=32 Zigbee2MQTT:debug 2024-03-19 11:20:20: OTA: Payload offsets: start=192 end=224 dataSize=32 Zigbee2MQTT:debug 2024-03-19 11:20:20: OTA: Got upgrade end request for '0x00124b0031e5d997' (AFTSHT35X2): {"status":149,"manufacturerCode":48830,"imageType":9810,"fileVersion":2} Zigbee2MQTT:debug 2024-03-19 11:20:20: OTA: Update failed with reason: 'aborted by device' Zigbee2MQTT:debug 2024-03-19 11:20:20: Update of 'Batch2 Sen5' failed (Error: OTA: Update failed with reason: 'aborted by device')
我无法使用 OtaServer 实用程序和 LP-CC2652RB 电路板验证 OTA、因为我无法使它们配对。 通过串行连接协调器时、应用程序中会显示协调器、但我无法让它们配对、并且无法通过提供的示例看到正在连接的器件。 不管怎样、我仍然可以通过使用 zr_sw_ota_client_LP_CC2652rb_tirtos_ticlang 示例并使用 Home Assistant 将其与协调器配对。 更新工作正常、完整映像已下载。
然后、我获取该工程的 OTA 目录、将其添加到 我的中、并重新编译工程以进行测试。 现在、与示例项目不同的是、它似乎只是下载几个数据包、然后我收到一条消息、提示更新已中止。 我尚未在 OTA 文件中修改任何内容、仅将 OTA_Process_loop 函数添加到主循环中。
在调试代码时,我在 Client_Upgrade 里没有被击中, 但我可以看到,该应用程序定期要求更新,并根据日志接收几帧。 是否知道可能导致此问题的原因、或者如何更好地对其进行调试?
其他问题:我的器件是一个具有两个温度群集的双端点温度传感器。 我是否应该在这两个器件上都实施 OTA 集群? 目前它只在主端点上执行。 我仍然可以检查更新并启动更新、但无法完成。 在属性报告、调试和器件稳定性方面、其他一切都运行良好。
我的设备是基于 zed_temperature_sensor 的电池供电终端设备、并且带有附加 OTA 群集和第二个端点。 电源设置为电池、并且电源组已配置且工作正常。 无论电路板是否通过调试器由电池供电、OTA 都不起作用。 电池供电的 OTA 设备是否有特殊设置?