这一课,我们来实现 IotHub 设备分组功能的服务端实现。
服务端需要在设备标签发生变化时,将标签信息重新下发到设备;在设备发起标签数据请求时,服务端又要响应这个请求,将设备的标签信息下发到设备。
同时,服务端需要提供接口,供业务系统修改设备的标签,并通过标签批量下发指令。
添加 tags 字段
在 Device 模型中,我们添加字段保存 tags 和 tags_version。
//IotHub_Server/models/device.js
const deviceSchema = new Schema({
...
tags: {
type: Array,
default: []
},
tags_version: {
type: Number,
default: 1
}
})
在查询设备信息的时候将返回设备的 tags:
//IotHub_Server/models/device.js
deviceSchema.methods.toJSONObject = function () {
return {
product_name: this.product_name,
device_name: this.device_name,
secret: this.secret,
device_status: JSON.parse(this.device_status),
tags: this.tags
}