有一种糖叫语法糖【10】IOT实践之如影随形

简介: 地球上的万物和生灵,受到太阳的普照和恩泽,遵循着生长化收藏的自然规律而繁衍生息。在阳光的照耀下,也根据自身独特的轮廓,在大地上留下了黑暗的区域,人类称之为影子;阿里IOT的设备影子功能主要用于两个方面,设备在线时,作为设备状态信息的缓存;设备离线时,作为设备再次上线时,离线前状态的保存;

地球上的万物和生灵,受到太阳的普照和恩泽,遵循着生长化收藏的自然规律而繁衍生息。在阳光的照耀下,也根据自身独特的轮廓,在大地
上留下了黑暗的区域,人类称之为影子;阿里IOT的设备影子功能主要用于两个方面,设备在线时,作为设备状态信息的缓存;设备离线时,作为设备再次上线时,离线前状态的保存;

关于SHADOW在云端的api一共有两个,主要是查询和更新设备影子常用的两个操作;

本次用来实验和验证的软件链接如下:
http://xysuger.xunyun17.xyz/v0.0.10.rar
读者如果感兴趣的话,可以自行下载运行验证;

第一个操作是GetDeviceShadow,这个接口提供了用户可以通过云端,获得当前设备的影子信息。这个命令带有两个参数,分别为产品关键字和设备的名称;发送的详细格式如下:
XYsayFrO.IoT.Srv.GetDeviceShadow.a141rgUXgFl.lamp3_dev.

发送完后,返回结果如下:

这里如果发送成功后,会返回设备的影子信息,详细信息是通过json格式返回的,所以我们可以在里面看到很多大括号;这里的可以看到的是期望的数据和实际发送的数据,以color属性为例,这里实际上报的值为蓝色blue,期望的值为绿色green。版本号在最后显示为3。如果设备第一次使用,是没有设备影子的,这里的值也就为空;

第二个接口为更新设备影子,这个接口可以通过云端向指定产品下的设备发送更新影子的具体消息,发送的命令为UpdateDeviceShadow,这个命令带有三个参数第一个为产品的标识符,第二个发送的设备名称,这前两个参数和上面介绍的接口一样,第三个参数为json格式的影子信息,所以稍微有些复杂,json格式的主要要求就是用大括号把每种类别的信息括起来,然后每一类单独的信息通过分号把类型和值分开,对于设备影子的信息,一般要求有这么四种信息需要上传,第一种信息为上传的方法method,这里是update表示更新;第二种信息为期待的状态desired,这里我们将color属性的期待状态改为蓝色blue,第三种信息为实际上报的状态,这里我们将color属性的实际上报状态改为red红色,第四种为更新的版本号,要求大于当前的版本号,我们通过上面的接口得知,当前的版本号为3,这里配置为4;最后组合起来的完整命令如下:

XYsayFrO.IoT.Srv.UpdateDeviceShadow.a141rgUXgFl.lamp3_dev.{"method":"update","state":{"desired":{"color":"blue"},"reported":{"color":"red"}},"version":4}.
运行后,返回success:true,表示运行成功;接着我们重复运行第一条命令,校验以下我们修改的信息是否生效;

发送完后,返回结果如下:

这里如果发送成功后,会在success字段返回true;
通过察看ShadowMessage的json数据包,可以看到版本已经被改成4了,期望和实际的color值,也和以前的不一样了,而是和我们修改后的一致;

由于阿里iot关于设备影子的接口只有2个,所以关于设备影子在云端接口基本操作的解释就介绍到这里;
随着这篇文章的结束,这个系列的文章也完结了。特此写个顺口溜作为这个系列的结尾:
阿里物联奥妙多,
诸多功能来加持,
产品管理定格局,
设备操作分细节,
分组定义划功能,
主题来把特性显,
规则引擎逻辑强,
消息通信最及时,
设备影子促稳定,
七类接口全学会,
物联世界任我游。

快到年底了,工作也忙起来了,提前预祝各位读者,元旦快乐,新年快乐;明年开春再见;)

目录
相关文章
|
物联网
【阿里云 MVP 洵云】有一种糖叫语法糖IoT干货合集(1-10篇)
在C编程语言普及后,同时伴随着互联网的网页网站技术的兴起,Java、Perl、Python等多种脚本语言如雨后春笋般的出现,语法糖也被广泛应用到这些语言中。
690 0
|
物联网
有一种糖叫语法糖【9】IOT实践之物联网世界的鸡毛信message
在抗日战争时期,我们善良勤劳和机智的老百姓,和敌人斗智斗勇。通过在公文,信件上面插上鸡毛来传递紧急和重要的情报;在物联网的世界,云端通过下发消息给设备,来达到通知设备状态逻辑变更的操作。 关于MESSAGE在云端的api一共有三个,由于第三个需要设备端返回讯息,这里介绍常用的两个操作;
871 0
|
物联网 API
有一种糖叫语法糖【8】IOT实践之物联源于topic
这一次,介绍一下阿里云iot的一类比较重要API接口操作:topic管理,说到topic,这个概念其实应该是起源于mqtt协议的, mqtt协议作为目前物联网的主要通信协议,最开始,大概上个世纪90年代,是由IBM为了M2M[machine to machine]场景[比如传感器和卫星链接]而定义,
1299 0
|
物联网 SQL 消息中间件
有一种糖叫语法糖【7】IOT实践之规则使万物有序
在上次介绍完阿里云物联网服务端关于分组api接口的相关操作和实践后,这回介绍一下阿里云物联网中另外一类比较重要的概念,它的名字就叫做规则。万物互联通常被认为是物联网的终极目标,但是从另外的角度来思考这个问题,当一张网连接上万物后,不应该只是物理上的连接,需要逻辑层面的分析处理和不断的数据流通,才会使
1142 0
|
物联网
有一种糖叫语法糖【6】IOT实践之小组小组分小组
记得在很小的时候,还在上小学的时候,每年三月五号学校大扫除,就会整个班级聚集到一起,然后听从班主任的分配,将大家分成几个小组,从事不同的劳动,擦玻璃的,扫厕所的,拖地的。。。;长大后,渐渐接触到一些学习小组,兴趣小组。。。;而小组的概念通常也理解为一些从事相同或相似工作或操作的人的集合;而在提供产品
1209 0
|
物联网
【阿里云十年,因为有我而不同】有一种糖叫语法糖【5】IOT三连之设备之扩展操作
随着上次介绍完设备的基本操作,相信大家对设备的这些基础层面结构操作,都已经理解和掌握。这次我们在尝试对设备做一些基本操作之外的接口操作,目前姑且称之为设备的扩展操作的。这些接口的操作,对于一个设备接入到阿里云IOT上,并不一定是必需的,但是却可以使我们可以更加灵活和便捷的对设备进行多层面的配置和更
1070 0
|
物联网
有一种糖叫语法糖【4】IOT三连之设备之基本操作
上一篇文章将产品和产品标签相关的操作都介绍完了,这次我们转向介绍设备的相关操作。设备对于产品来说,可以理解为一个从抽象到具体的过 程,因为产品是一个大的概念,不具备可操作的可能性;只有在一个产品下面,再继续创建设备,然后对这个设备进行相关的操作,才可以有具体 的物理意义;也正是由于只有设备才可以让用
955 0
|
物联网
有一种糖叫语法糖【3】IOT三连之产品标签
大家好,随着上一次介绍完产品相关的五种操作接口,这回介绍一下产品标签相关的五种操作接口,提到标签,最初的印象是超市里或商场货架上,放在商品旁边带价格说明的方形小卡片;随着这些年互联网的普及和自媒体的泛滥,各种人为有意或无意的,能达成广泛认同的一种词语也被当作标签来用;像一些青少年拥有大量的粉丝,
1231 0
|
物联网
有一种糖叫语法糖【2】IOT三连之产品之修改查询删除
大家好,首先说声抱歉,上次的XYsuger脚本解释程序,后来到WINXP等电脑操作运行,发现无法正常运行,猜测应该是win10等64位系统才可以;毕竟很多人使用WINXP和WIN7等32位操作系统,还好有更新文件如下链接,http://47.94.219.162/xysuger-v0.0.2.r
1132 0
|
物联网
有一种糖叫语法糖【1】IOT三连之产品之创建产品
提到糖或糖果,人们往往会想到小的时候吃的那种甜甜的,含到嘴里感到很开心高兴的糖果。而根据各地习惯不同,一方土养一方人,阿拉上海人比较喜欢大白兔。而南粤广东一带则比较中意徐福记。而随着糖的概念的普及和泛化,很多年前一些科研机构的专家和学者,则借用这个概念到技术领域,把一些晦涩难懂、枯燥乏味的...
1893 0

热门文章

最新文章