我有一个Azure IoT解决方案,它使用远程监控加速器。服务器(远程监视web)和客户端(设备)都在更改设备孪生属性。有时,这些属性会进入“同步”状态,并且似乎无法摆脱它。
那么,关于谁有权更改设备双胞胎属性以及何时更改的规则是什么呢?
我使用IoTHubDeviceClient_LL_SendReportedState()函数从设备端更改属性。
发布于 2019-07-31 11:21:16
Azure IoT Device Twin代表一个轻量级的通用数据(状态)模型,用于可断开连接的分布式端,例如面向设备的端和面向服务的端。设备Twin支持以过渡方式在这些终端之间创建一个“影子副本”。基本上,每个端都拥有写入(或更新)其属性的所有权,而另一端则被通知进行此更改。

基于此通知、版本控制和设备双元数据,可以以可靠的方式将状态从一端传输到另一端。注意,轻量级状态机必须在每个端实现,例如由通知更改触发的设备和后端。
上面的图片来自设备双胞胎文档,其中详细描述了这个模型。
更新:
下面的屏幕片段是使用Device属性实现设备和后端之间过渡状态的序列关系图的一个示例:

在上面的示例中,这个分布式状态机在设备和后端之间处理来自进程内、ack、done、null的传输状态。可以创建类似的转换,例如:进程内、nack、null、后端和设备之间的转换、断开连接的设备等。
此示例使用附加属性(例如状态)来指示属性Config处于过渡状态,但可以添加更多的属性,例如原始值、版本等,这些属性有助于恢复状态,等等。
https://stackoverflow.com/questions/57288383
复制相似问题