本文共 642 字,大约阅读时间需要 2 分钟。
这一节我们来设计和实现 IotHub 设备影子服务端的功能。
服务端需要对设备影子进行存储,在业务系统修改设备影子时,需要将设备影子同步到设备端,同时还需要处理来自于设备的设备影子同步消息来将设备端的数据同步到数据库中。
最后服务端还要提供接口供业务系统查询和修改设备影子。
我们在 Device 模型里新增一个字段shadow
来保存设备的影子,一个空的设备影子应该是:
{ "state":{}, "metadata":{}, "version":0}
我们按照这个来设置这个字段的默认值:
//IotHub_Server/models/device.jsconst deviceSchema = new Schema({ ... shadow:{ type: String, default: JSON.stringify({ "state":{}, "metadata":{}, "version":0 }) }})
IotHub 需要向设备发送两种设备影子相关的指令,一个是更新影子,这里使用指令名$update_shadow
,另外一个是成功更新设备影子后,对设备的回复信息,这里使用指令名$shadow_reply
。发送这两条指令使用 IotHub 指令下发的通道就可以了。
转载地址:http://oiiti.baihongyu.com/