开发者社区> 问答> 正文

手把手学IOT服务端API编程[8、按设备名查信息][step by step ALI-IOT-SERVER-API]

上节介绍设备申请信息查询后,其实在实际使用过程中,有些用户在设备注册完成后,有时候用户还需要通过产品key值和设备名称来查询设备的信息,在这种情况下
服务端提供了相应的API接口供用户调用,从而做自己的应用;本节就对于有这种需求的情况,如何通过服务端提供接口来实现相应的功能;
接下来我们看一下具体实现;


1、脚本实现:
我们按照接口的要求,在框架页面上,提供产品的key值和设备名称这两个个输入参数框给用户输入;
产品KEY:        <input type="text" name="pkey6">
设备名称:        <input type="text" name="devname6">


而在实际的实现代码中,我们只需要使用get函数提取这个变量就可以了:
$pkey = $_GET["pkey6"];
$devname = $_GET["devname6"];
接着引用查询设备列表的接口:
$request = new Iot\QueryDeviceByNameRequest();


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


$request->setProductKey($pkey);
$request->setDeviceName($devname);


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




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


然后依次显示要查询设备的相关信息:设备名称,secret,创建时间,设备状态:


echo '设备Id :'.$response->DeviceInfo->DeviceId.'<br>';
        echo '设备名称 :'.$response->DeviceInfo->DeviceName.'<br>';
        echo '设备Secret :'.$response->DeviceInfo->DeviceSecret.'<br>';
        echo '创建时间 :'.$response->DeviceInfo->GmtCreate.'<br>';
        echo '设备状态 :'.$response->DeviceInfo->DeviceStatus.'<br>';
2、实际测试:
打开浏览器,转到我们框架脚本页面,这里输入我们从控制台得到的产品key值和设备名称,运行提交按钮后,可以得到我们要查询设备的信息,和控制台上的信息
是完全一致的;
具体向关截图如下:




附件:


timelapse:
http://www.xunyun17.xyz/ioto/step8-QueryDeviceByNameRequest.mp4























展开
收起
洵云 2018-04-29 19:45:58 3271 0
0 条回答
写回答
取消 提交回答
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
ST + AliOS > Smart IoT ! 立即下载
IOT赋能旅行场景的实践与展望 立即下载
阿里云IoT物联网市场暨合作伙伴计划发布 立即下载