我正在开发一个 Azure IoT 应用程序。我的所有设备都连接到 Azure IoT 中心并使用设备孪生。我的问题是这样的:
如果设备离线,然后我的后端 Web 应用程序导致设备所需的孪生属性发生更改,则设备在稍后重新启动时似乎不会获取该信息。
设备如何在重新启动时获得此信息?当设备重新启动时,我希望它检索脱机时发出的所有所需的属性通知。这可能吗?如果可以,有哪些方法可以实现?
最佳答案
聚合评论并将其转换为答案:
@罗马之吻
“在重新启动(重新启动)的情况下,设备应读取所有设备所需的属性,并以过渡状态的方式遍历它们以进行同步...在设备连接到 Azure IoT 中心后,设备可以从 IoT 中心获取所需的属性。每个所需的属性都应该表示一些状态对象,其中包含有关转换的详细信息。这些详细信息实际上描述了状态转换的状态。在两端(例如设备和设备)进行的每个更改后端必须经历转换,这就是为什么我们有报告和期望的属性...我的序列图描述了这个分布式可断开连接的状态机,其中每个转换必须在报告和期望的属性中得到很好的描述。如果转换被破坏(断开连接等),基于报告的和期望的属性中的最后一个转换状态可以同步并继续到最终状态,例如报告的和期望的属性是相同的。”
相关主题:Azure IoT - What if both server and client are changing device twin properties?
@iAviator
“后端服务根据报告的属性对所需的属性采取操作。您可以在设备达到其状态时删除所需的属性,也可以保留它。”
====
请将其标记为答案,以便其他人可以从您的讨论中受益。谢谢!
关于Azure IoT 设备需要在离线时获取所需的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63812247/