百度IOT Hub (七) 设备与物影子交互流程

  • 设备端 ==> 物影子 (Update)

设备==>IOT Hub : Subscribe : $baidu/iot/shadow/MyMonitor/update/accepted

设备==>IOT Hub : Subscribe : $baidu/iot/shadow/MyMonitor/update/rejected

设备==>IOT Hub :Publish : $baidu/iot/shadow/MyMonitor/update

IOT Hub==>设备 :$baidu/iot/shadow/MyMonitor/update/accepted (If succeeded)

IOT Hub==>设备 :$baidu/iot/shadow/MyMonitor/update/rejected(If failed)

       

{

     "requestId":"83f5ce6c-80f3-4260-a76f-9533c0d9b5b4",

     "reported":

          {"temperature":30,"humidity":60},

     "desired":

          {},

     "lastUpdatedTime":

         {

                 "reported":

                        {"temperature":1569738824939,"humidity":1569738824939},

                  "desired":{}

          },

     "profileVersion":6

}

  • 设备端 ==> 物影子 (Get)

设备==>IOT Hub : Subscribe : $baidu/iot/shadow/MyMonitor/get/accepted

设备==>IOT Hub : Subscribe : $baidu/iot/shadow/MyMonitor/get/rejected

设备==>IOT Hub : Publish : $baidu/iot/shadow/MyMonitor/get

IOT Hub==>设备 : $baidu/iot/shadow/MyMonitor/get/accepted (If succeeded)

IOT Hub==>设备 : $baidu/iot/shadow/MyMonitor/get/rejected (If failed)

{"requestId":"11111111111",

"reported":{"temperature":30,"humidity":60},

"desired":{"Temperature":90,"Humidity":100,"LED":"RED"},

"lastUpdatedTime":{

    "reported":{"temperature":1569738824939,"humidity":1569738824939},

    "desired":{"Temperature":1569491866406,"Humidity":1569491866406,"LED":1569486183149}},

"profileVersion":6}

  • 物影子 ==> 设备 反控

设备==>IOT Hub : Subscribe : $baidu/iot/shadow/MyMonitor/delta

{"requestId":"9df9da8d-b41a-4464-ba65-c9befd2444b5","desired":{"Temperature":100,"Humidity":200}}

  • 订阅设备影子的变化

设备==>IOT Hub : Subscribe : $baidu/iot/shadow/MyMonitor/update/documents

设备==>IOT Hub :Publish : $baidu/iot/shadow/MyMonitor/update

{"requestId":"4e1c93e0-69b3-4d43-bdde-5c8633f4bff4",

"reported":{"temperature":40,"humidity":80},

"desired":{},

"lastUpdatedTime":{"reported":{"temperature":1569740623020,"humidity":1569740623020},"desired":{}},

"profileVersion":8}

 

{"requestId":"4e1c93e0-69b3-4d43-bdde-5c8633f4bff4",

"current":{"temperature":40,"humidity":80},

"previous":{"temperature":30,"humidity":60},

"profileVersion":8}

  • 订阅设备快照

设备==>IOT Hub : Subscribe : $baidu/iot/shadow/MyMonitor/update/snapshot

设备==>IOT Hub :Publish : $baidu/iot/shadow/MyMonitor/update

Result :

  • $baidu/iot/shadow/MyMonitor/update/accepted

{"requestId":"295fc2e4-4fed-4170-89df-ef24e1618b8b",

"reported":{"temperature":50,"humidity":90},

"desired":{},

"lastUpdatedTime":{"reported":{"temperature":1569740990594,"humidity":1569740990594},"desired":{}},

"profileVersion":9}

  • $baidu/iot/shadow/MyMonitor/update/documents

{"requestId":"295fc2e4-4fed-4170-89df-ef24e1618b8b",

"current":{"temperature":50,"humidity":90},

"previous":{"temperature":40,"humidity":80},

"profileVersion":9}

  • $baidu/iot/shadow/MyMonitor/update/snapshot

{"requestId":"295fc2e4-4fed-4170-89df-ef24e1618b8b",

"profileVersion":9,

"reported":{"temperature":50,"humidity":90},

"lastUpdatedTime":{"reported":{"temperature":1569740990594,"humidity":1569740990594}}}

  • 清空设备影子

设备==>IOT Hub : Subscribe : $baidu/iot/shadow/MyMonitor/delete/accepted

设备==>IOT Hub : Subscribe : $baidu/iot/shadow/MyMonitor/delete/rejected

设备==>IOT Hub : Publish : $baidu/iot/shadow/MyMonitor/delete

pub $baidu/iot/shadow/myDeviceName/delete

{"requestId": "{requestId}"}

{"requestId":"222222222222",

"reported":{"temperature":50,"humidity":90},

"desired":{"Temperature":100,"Humidity":200,"LED":"RED"},

"lastUpdatedTime":{

    "reported":{"temperature":1569740990594,"humidity":1569740990594},

    "desired":{"Temperature":1569739957363,"Humidity":1569739957363,"LED":1569486183149}},

"profileVersion":9}

 

Note.1 : 清空物影子,并不是删除物影子,仅仅是删除Reported & Desired属性值。

Note.2 : IOT Hub不会对Update操作的payload,对比物影子对应的物模型做meta级别校验,比如update涉及的属性名大小写,属性名不存在与物模型meta中,等等。仅仅做消息格式的检查。

Note.3 : 只有同一个物影子的不同Client,才允许订阅Update/accepted & rejected事件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值