如何使Azure IoT中心设备孪生与设备更改同步?

时间:2018-10-10 11:59:09

标签: azure iot azure-iot-hub

对于我们的物联网解决方案,我们正在尝试解决设备Twin的同步问题。

通常情况下,云负责。因此,云将在IoT中心设备对中设置所需属性。设备将收到通知,更改设备的属性并写入报告的设备同步属性。

但是对于我们来说,设备的用户也可以在本地更改属性。因此,在这种情况下,报告的属性将更改,并且与所需属性不同步。 我们应该如何处理呢?更新所需?保持原样?

另一种情况是可以从两侧删除属性。看到完整的图片。

Writen use cases

这是json twin的示例:

"desired" : {
 "recipes" : {
  "recipe1" : {
   "uri" : "blob.name.csv",
   "version" : "1"
   },{
  "recipe2" : {
   "uri" : "blob.name.csv",
   "version" : "1"
   },{
  "recipe3" : {
   "uri" : "blob.name.csv",
   "version" : "1"
   }
 }
},
"reported" : {
 "recipes" : {
  "recipe1" : {
   "uri" : "blob.name.csv",
   "version" : "1"
   },{
  "recipe2" : {
   "uri" : "blob.name.csv",
   "version" : "3"
   },{
  "recipe3" : {
   "uri" : "blob.name.csv",
   "version" : "2"
  }
}

我希望问题清楚。预先感谢。

亲切的问候,

马克

1 个答案:

答案 0 :(得分:0)

解决冲突的方法特定于企业,无法定义通用规则。在某些情况下,用户意图比服务更重要,反之亦然。

例如,一个上班时间较晚的员工希望办公室温度为76°F,而自动建筑管理服务希望在几个小时内达到70°F的温度,在这种情况下,用户获胜(希望的财产被丢弃)。在另一个示例中,一名员工想在几个小时后进入办公大楼并打开所有照明灯,但是建筑物管理服务不允许这样做(而允许建筑物管理员来代替...)等等。