开发者社区> 问答> 正文

小白学IOT 第九课 设备影子

洵云 2017-08-19 13:06:46 2656


在五月底,阿里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









JSON 物联网 开发工具 数据格式
分享到
取消 提交回答
全部回答(2)
  • 洵云
    2017-11-23 00:21:31
    这个topic已经建立好了吗?应该先开通和订阅这个topic吧
    0 0
  • minjibing.kct
    2017-11-22 11:43:54
    Re小白学IOT 第九课 设备影子
    请问下APP如何将期望状态信息更新给设备,

    错误信息:
    No authorization to publish message to topic:/shadow/update/iak9xxZxnJq/D_357754081675
    0 0
添加回答

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题