手把手学IOT服务端API编程[7、查询设备申请信息]|MVP讲堂

简介: 本教程旨在介绍服务器端的API编程接口,基于php脚本的sdk,希望对物联网服务器端有编程需求的有所帮助。阿里云MVP手把手教你!有演示视频,千万别错过!

作者:阿里云MVP洵云


上节回顾:手把手学IOT服务端API编程[6、查询设备申请状态]|MVP讲堂



上节介绍设备注册状态查询后,其实在实际使用过程中,有些用户在设备注册完成后,不但想知道设备的申请状态,而且还想要知道设备申请的信息。

比如这个设备注册成功后的具体id值,名称和secret.本节就对于有这种需求的情况,如何通过服务端提供接口来实现相应的功能;基于设备注册申请的appid号在

服务端的数据库中是唯一存在的这个现实,查询注册设备信息和查询注册设备状态类似,只需要提供设备注册时的申请appid号就可以,不需要提供设备所属产品的

key值,这种简化的输入,也方便的相关开发的设计;

而在服务端返回信息方面,如果提供的appid值有效而且实际存在的话,会返回给客户端当时对应这个appid值,创建那组设备的设备本身的id值,名字和secret;

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

 

 

1、脚本实现:

我们按照接口的要求,在框架页面上,提供appid这个输入参数框给用户输入;

ApplyId:        <input type="text" name="ApplyId2">

 

 

而在实际的实现代码中,我们只需要使用get函数提取这个变量就可以了:

$ApplyId = $_GET["ApplyId2"];

接着引用查询设备列表的接口:

$request = new Iot\QueryPageByApplyIdRequest();

 

 

通过查看QueryPageByApplyIdRequest.php文件,可以知道由于返回的信息多个设备的相关信息,通常一页显示不下,所以这里提供了分页申请和页面条数配置的输入

接口,我们这里按照默认的每页指定显示10条记录,要求服务端返回第一页的信息内容;

 

 

$request->setPageSize(10);

$request->setCurrentPage(1);

$request->setApplyId($ApplyId);

 

 

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

 

 

 

 

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

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

 

 

然后通过一个循环来依次显示每个设备的相关信息:

 

 

 

 

$cnt = min($response->PageSize,$response->Total);

    echo '当前设备个数'.$cnt.'[最多10个]<br><hr>';

    for ($x=0; $x<$cnt; $x++) {

        echo '设备Id :'.$response->ApplyDeviceList->ApplyDeviceInfo[$x]->DeviceId.'<br>';

        echo '设备名称 :'.$response->ApplyDeviceList->ApplyDeviceInfo[$x]->DeviceName.'<br>';

        echo '设备Secret :'.$response->ApplyDeviceList->ApplyDeviceInfo[$x]->DeviceSecret.'<hr>';

    }

2、实际测试:

打开浏览器,转到我们框架脚本页面,这里为了得到一个有效的appid,我们首先注册5个设备:iotdev1-iotdev5,得到appid值后,

在我们这次的appid输入框中输入这个值,点击提交后,可以看到服务端给我们返回的这5个设备的相关信息;然后我们登陆到物联网的网页控制台,可以看到在我们

设备注册对应的产品下面,有五个设备的对应信息和这次的返回信息是一致的;

具体向关截图如下:












timelapse:http://www.xunyun17.xyz/ioto/step7-QueryPageByApplyIdRequest.mp4


目录
相关文章
|
安全 Java API
告别繁琐编码,拥抱Java 8新特性:Stream API与Optional类助你高效编程,成就卓越开发者!
【8月更文挑战第29天】Java 8为开发者引入了多项新特性,其中Stream API和Optional类尤其值得关注。Stream API对集合操作进行了高级抽象,支持声明式的数据处理,避免了显式循环代码的编写;而Optional类则作为非空值的容器,有效减少了空指针异常的风险。通过几个实战示例,我们展示了如何利用Stream API进行过滤与转换操作,以及如何借助Optional类安全地处理可能为null的数据,从而使代码更加简洁和健壮。
552 0
|
机器学习/深度学习 设计模式 API
Python 高级编程与实战:构建 RESTful API
本文深入探讨了使用 Python 构建 RESTful API 的方法,涵盖 Flask、Django REST Framework 和 FastAPI 三个主流框架。通过实战项目示例,详细讲解了如何处理 GET、POST 请求,并返回相应数据。学习这些技术将帮助你掌握构建高效、可靠的 Web API。
|
机器学习/深度学习 开发框架 API
Python 高级编程与实战:深入理解 Web 开发与 API 设计
在前几篇文章中,我们探讨了 Python 的基础语法、面向对象编程、函数式编程、元编程、性能优化、调试技巧以及数据科学和机器学习。本文将深入探讨 Python 在 Web 开发和 API 设计中的应用,并通过实战项目帮助你掌握这些技术。
|
网络协议 API Windows
MASM32编程调用 API函数RtlIpv6AddressToString,windows 10 容易,Windows 7 折腾
MASM32编程调用 API函数RtlIpv6AddressToString,windows 10 容易,Windows 7 折腾
|
存储 监控 安全
使用IoT设备优化家庭生活的技术探索
【8月更文挑战第4天】IoT设备以其智能化、便捷性和高效性,正逐步成为现代家庭不可或缺的一部分。从智能照明到智能安防,从智能恒温器到智能厨房,再到智能语音助手,这些设备不仅优化了我们的家庭生活,还提升了我们的生活质量和幸福感。随着技术的不断进步和应用场景的不断拓展,我们有理由相信,未来的智能家居将会更加智能、更加人性化,为我们的生活带来更多惊喜和便利。
|
JavaScript API 开发者
RESTful API 设计的传奇征程:突破常规,拥抱最佳实践,铸就编程巅峰!
【8月更文挑战第7天】希望通过以上的探讨,能让您对 RESTful API 设计有更深入的理解和认识。
223 5
Linux系统编程之文件编程常用API回顾和文件编程一般步骤
Linux系统编程之文件编程常用API回顾和文件编程一般步骤
Linux系统编程之文件编程常用API回顾和文件编程一般步骤
|
人工智能 安全 物联网
|
IDE API 定位技术
Python--API编程:IP地址翻译成实际的物理地址
Python--API编程:IP地址翻译成实际的物理地址
440 0
|
传感器 安全 物联网
物联网(IoT)设备的硬件选型与集成技术博文
【6月更文挑战第28天】物联网设备硬件选型与集成聚焦关键要素:功能匹配、性能稳定性、兼容扩展及成本效益。嵌入式系统、通信协议、数据处理和安全性技术确保集成效果,支撑高效、智能的IoT系统,驱动家居、城市与工业自动化变革。
1419 1