注意 完成驱动开发后,直接运行会提示错误,必须通过物联网平台控制台,将已开发的驱动部署到网关中方可执行。部署驱动到网关的操作请参考驱动开发。
使用SDK开发驱动的示例代码片段如下所示。
const {
Config,
ThingAccessClient
} = require('linkedge-thing-access-sdk');
const callbacks = {
setProperties: function (properties) {
// Set properties to the physical thing and return the result.
// Return an object representing the result or the promise wrapper of the object.
return {
code: 0,
message: 'success',
};
},
getProperties: function (keys) {
// Get properties from the physical thing and return the result.
// Return an object representing the result or the promise wrapper of the object.
return {
code: 0,
message: 'success',
params: {
key1: 'value1',
key2: 'value2',
}
};
},
callService: function (name, args) {
// Call services on the physical thing and return the result.
// Return an object representing the result or the promise wrapper of the object.
return new Promise((resolve) => {
resolve({
code: 0,
message: 'success',
});
});
}
};
Config.get()
.then(config => {
const thingInfos = config.getThingInfos();
thingInfos.forEach(thingInfo => {
const client = new ThingAccessClient(thingInfo, callbacks);
client.registerAndOnline()
.then(() => {
return new Promise(() => {
setInterval(() => {
client.reportEvent('high_temperature', { temperature: 41 });
client.reportProperties({ 'temperature': 41 });
}, 2000);
});
})
.catch(err => {
console.log(err);
client.cleanup();
});
.catch(err => {
console.log(err);
});
});
});