上一篇文章将产品和产品标签相关的操作都介绍完了,这次我们转向介绍设备的相关操作。设备对于产品来说,可以理解为一个从抽象到具体的过
程,因为产品是一个大的概念,不具备可操作的可能性;只有在一个产品下面,再继续创建设备,然后对这个设备进行相关的操作,才可以有具体
的物理意义;也正是由于只有设备才可以让用户感觉到云端服务的真正落地实施,和用户的具体设备相关联,所以在阿里云iot种类数量繁多的api
接口中,设备管理类的数量最多,估计有三四十个,应该是占据了IOT服务段API接口的半壁江山了;由于数量功能太多,一次应该介绍不完,所以
这一次,我们先来介绍下一些设备的基本操作,估计大概有5,6个接口吧;
当然使用的实践验证工具是最新的XYsuger软件,下载连接如下:
http://xysuger.xunyun17.xyz/v0.0.4.rar
第一个接口要数创建设备了,毕竟设备不可能凭空出现,需要我们调用相应的接口,才可以在云端创建一个设备,在阿里云的iot体系结构里,不
存在创建设备的概念,而只有注册设备的接口名称,笔者的理解是,从云端的角度来看,只是提供一个允许各种设备接入的操作,而创建设备是指
制造出一个实实在在的看得着,摸得到的东东,这个过程应该属于制造业领域的范畴,毕竟社会各行各业都有很多分工嘛,所以注册设备这个接口
名称也应该比较好理解吧;因为设备是属于某一类产品下面的,所以如果要注册设备的话,就要先提供给服务端产品的关键字,方便服务端知道要
创建的设备是应该属于哪个产品里面的;所以我们先用以前提到的查询产品接口,得到一个产品的关键字,操作命令如下:
XYsayFrO.IoT.Srv.QueryProductList.
得到结果如下:
我们可以看到,目前一共有8个产品,我们就用第一个产品的关键字a17hjshDgiK,作为本次设备介绍的实践演示;再回到刚才说的注册设备的接口
,这个接口的名字是RegisterDevice,后面带两个参数,一个是产品的关键字,一个是注册设备的名字,例如我们要注册一个灯的设备,命令如下
:
XYsayFrO.IoT.Srv.RegisterDevice.a17hjshDgiK.lamp_dev1.
运行成功后,会出现如下图所示信息,返回结果里一般有四个信息:
ProductKey和DeviceName,这个读者应该好理解,因为就是在调用注册设备前,我们传给这个接口的参数;DeviceSecret是用来设备端正常运行后
,连到云端的一个参数,目前对于云端的操作,暂时还用不到;最后一个IotId是设备的物联网识别号,这个是整个阿里云IOT系统里,唯一的识别
号,也就是说可以跨过或忽略产品的关键字,对设备的操作直接提供这个设备的物联网识别号,就可以在云端操作啦。这个可以IotId啊,看到这
个词,估计有不少读者朋友会和笔者一样,感到瞬间秒变高大上了,毕竟感觉挺这就比什么产品名称,设备名称上档次。。。
第一个接口介绍完,就该开始介绍第二个接口了,第二个接口是查询设备的详细信息,我们可以通过下面的命令查询下,刚才我们注册设备的具体
信息:
XYsayFrO.IoT.Srv.QueryDeviceDetail.IinyD6NrRkdfV2PhkCn7000000.
运行后,结果如下图:
这里对比第一个接口的返回结果,region,status和创建时间的信息;目前注册好的设备区域默认是上海,状态默认是未激活;
第三个接口还是注册设备相关的,不过是批量注册设备,这个接口估计以后未来会非常非常有用
。因为物联网iot通常被宣传为上亿规模的产业,所以要接入云端的设备今后会非常非常的多,这要是使用第一个接口,一个一个注册设备,不仅
费时,也浪费网络带宽,那是多么不环保啊。所以就引出了下面批量注册设备的命令,
XYsayFrO.IoT.Srv.BatchRegisterDevice.a17hjshDgiK.10.
这次,我们试着在刚才产品关键字的下面,再一次性批量的注册10个设备。运行成功后,结果如下图:
这里多返回了一个applyid,可以留着以后查询具体设备信息;
批量创建完设备后,我们可以通过下面的命令,来查询一个产品下面有多少个设备和每个设备的具体信息:
XYsayFrO.IoT.Srv.QueryDevice.a17hjshDgiK.
查询成功后,如下图所示:
在这里,我们可以看到,我们第一个注册设备和后面批量注册10个设备,一共是11设备。每个设备的物联网识别号,创建时间和当前状态一目了然
;
注册,查询设备都介绍了,我们再来看下删除设备的操作,前面提到对设备的操作,只要有物联网识别号,就是可以跨过产品的相关信息,直接对
对设备进行相关操作的,所以这里我们只提供一个物联网识别号码,来分别删除我们刚才创建的设备:
XYsayFrO.IoT.Srv.DeleteDevice.5rFxCUgQy3UAiZtlVmNx000000
XYsayFrO.IoT.Srv.DeleteDevice.tLtNBR1FBdaNqqubClcq000000.
XYsayFrO.IoT.Srv.DeleteDevice.wCIWzNky7DxCe4oXuORW000000.
XYsayFrO.IoT.Srv.DeleteDevice.xgpNt5S7NxULyb3yyqg2000000.
XYsayFrO.IoT.Srv.DeleteDevice.zplhKmYsdzhHRZtOAj7y000000.
当运行后,返回如下信息,表示这五个设备都已经被我们删除了;
为了确保删除无误,我们也可以通过再次查询产品下的设备信息,来验证我们是否真正删除了这五个设备;
XYsayFrO.IoT.Srv.QueryDevice.a17hjshDgiK.
这是返回如下信息:
我们在批量注册完设备的时候,第一次查询的是11个设备,现在提示是6个设备,所以这也表示我们刚才删除的5个设备的操作是成功;这就表示我们确实把刚才创建的四个标签删除掉了;
光阴似箭,时间飞逝,不知不觉这次关于设备的基本操作也就介绍完了。后续如有可能,会介绍一些设备的其他类别的操作。