手把手学IOT服务端API编程[10、保存设备属性]|MVP讲堂

作者:阿里云MVP洵云

上节回顾:手把手学IOT服务端API编程[9、批量获取设备状态]

下节链接: 手把手学IOT服务端API编程[11、查询设备属性列表]


上节介绍批量获取设备状态后,实际使用过程中,一种设备还存在多种属性信息,比如设备的温度,湿度或颜色等,而有的时候服务端是需要设备的这些信息的;

服务端的API接口也提供了相应的功能,

这一节就来介绍一下创建和保存属性的使用,这个接口需要提供三个参数,一个是产品的key值,一个是设备的名称,一个是需要创建设备的属性名称;

接下来我们看一下具体实现; 

 

1、脚本实现:

我们按照接口的要求,在框架页面上,提供产品的key值和设备名称,属性名称这三个输入参数框给用户输入,其中属性名称按照json格式的列表,也就是说

每个属性组由属性名和属性值组成,通过冒号分隔开,用引号把名称和值用引号扩起来,而属性和属性之间则通过逗号分开。

下面的json串为本次使用的例子:

{"color":"red","num":100}

输入一行设备名称列表,通过逗号来分割各个设备名称;

产品KEY:        <input type="text" name="pkey10">

设备名称:        <input type="text" name="devname10">

属性:        <input type="text" name="props10">

 

 

而在实际的实现代码中,我们只需要使用get函数提取这个变量就可以了,其中我们调用了explode函数来讲设备名称列表从字符串分割成名称列表的数组:

$pkey = $_GET["pkey10"];

$devname = $_GET["devname10"];

$props = $_GET["props10"];

 

 

接着引用创建设备属性的接口:

$request = new Iot\SaveDevicePropRequest(); 

 

通过查看SaveDevicePropRequest.php文件,可以知道我们需要调用setProductKey和setDeviceName两个函数,来给服务端传送产品key值和设备名称;

 

 

$request->setProductKey($pkey);

$request->setDeviceName($devname);

$request->setProps($props);

 

 

调用通用的网络查询操作后,最后对返回信息进行分析;首先显示常用的requestid和success这两个通用的信息:

 

 

echo 'RequestId :'.$response->RequestId.'<br>';

echo 'Success :'.$response->Success.'<hr>'; 

 

       

2、实际测试:

打开浏览器,转到我们框架脚本页面,这里输入我们从控制台得到的产品key值和设备名称,需要保存的属性名称,运行提交按钮后,可以得到属性是否创建成功的信息,

具体向关截图如下:

395_1939185177035471_0a0516f341ace8e.png

395_1939185177035471_bc8d2744f7c8e46.png

timelapse:
http://www.xunyun17.xyz/ioto/step10-SaveDevicePropRequest.mp4


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值