开发者社区> 问答> 正文

手把手学IOT服务端API编程[4、设备注册][step by step ALI-IOT-SERVER-API]



本节我们介绍一下产品创建好了后,如果在已经创建好的产品下再创建设备;按照我们前面的几节介绍,每种设备都是必须属于每一类产品的,所以在创建时设备
时需要指定产品的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设备相关信息;
具体向关截图如下:






附件:




timelapse:
http://www.xunyun17.xyz/ioto/step4-devicereg.mp4















展开
收起
洵云 2018-04-13 19:51:47 3038 0
0 条回答
写回答
取消 提交回答
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Boot2.0实战Redis分布式缓存 立即下载
CUDA MATH API 立即下载
API PLAYBOOK 立即下载