作者:阿里云MVP洵云
上节回顾:手把手学IOT服务端API编程之三查询产品|MVP讲堂
本节我们介绍一下产品创建好了后,如果在已经创建好的产品下再创建设备;按照我们前面的几节介绍,每种设备都是必须属于每一类产品的,所以在创建时设备时需要指定产品的key值,而需要创建的设备名称信息则是可以选择的,如果不填默认为空,则创建出来的设备名称为系统随机生成的一串系统内唯一的字符串,这种方式便于生成大批量设备时不需要指定名称;而如果事先指定好设备名称,则生成出来的设备为指定名称属性的设备;
1、脚本实现:
对于输入参数页面上,还是提供产品的key值和设备名称两个,而如果用户打算让系统随机起设备名字,不输入设备名字,就可以了;
产品KEY: <input type="text" name="pkey4">
设备名称: <input type="text" name="devname4">
而在实际的实现代码中,我们只需要使用get函数提取这个变量就可以了:
$pkey = $_GET["pkey4"];
$devname = $_GET["devname4"];
接着引用查询设备列表的接口:
$request = new Iot\RegistDeviceRequest();
通过查看RegistDeviceRequest.php文件,可以知道只需要调用setDeviceName 和setProductKey两个函数配置产品的key值和设备名称即可;
调用通用的网络查询操作后,最后对返回信息进行分析;首先显示常用的requestid:
echo 'RequestId :'.$response->RequestId.'<br>';
然后返回创建好设备的id,secret和名称,如果之前输入指定名称,则返回创建好的设备名称为之前的指定值:
echo '设备Id :'.$response->DeviceId.'<br>';
echo '设备名称 :'.$response->DeviceName.'<br>';
echo '设备Secret :'.$response->DeviceSecret.'<br>';
2、实际测试:
打开浏览器,转到我们框架脚本页面,输入相关信息然后提交,开始设备名称不输入保留为空,创建后的设备信息为随机的设备名称;登陆到iot的控制台,
对应产品的页面下面的设备管理可以看到我们刚创建好的设备,然后再在框架页面输入设备名称为helloworld,提交创建后,这是就会返回我们创建的设备名
为helloworld的设备信息;返回到设备控制台可以看到我们创建的helloworld设备相关信息;
具体向关截图如下: