在五月底,阿里IOT套件新上线的华东2节点,新增了设备影子的功能,今天我们就来看下这个新特性,关于影子,通俗的理解就是任何物体都有影子,可以表示对应物体的轮廓,而又没有具体详细的信息,而设备影子则是表示设备的一些通常的状态,或者需要保存已经发生的状态和数据,以方便在设备掉线或出现故障时,外部应用可以感知到它之前最近的状态。
在网页控制台中设备管理页面中,每个设备的右边都有设备影子一项可以提供查询;而模拟设备的SDK也有提供设备影子的相应示例代码。我们下面来看看如何具体操作:
第一步:修改模拟设备的代码,示例代码中是定时上报温度和灯光的值,两个值分别为常量1001和1000,我们现在改为温度随机在20-30度之间,灯的状态在0-1之间表示开和关,这需要deviceshadow.c文件的129行左右添加如下两行代码:
temperature = rand()%10+20;
light = rand()%2;
然后编译运行;
第二步
网页控制台
在设备管理的页面,点击设备右边的设备影子,进入影子文档,这是会看到我们上报json格式数据,这是的数据是温度:21,灯:1,再次刷新会变成另外一组值,这里温度:23,灯:0。当我们停掉模拟设备的运行,再次查询,会得到最后一次的值:温度:23,灯:0。
附件
timelapse:
http://xunyun17.xyz/iottimelapse/lesson9.mp4
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。