手把手学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的数据,从而使代码更加简洁和健壮。
630 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 折腾
|
JavaScript API 开发者
RESTful API 设计的传奇征程:突破常规,拥抱最佳实践,铸就编程巅峰!
【8月更文挑战第7天】希望通过以上的探讨,能让您对 RESTful API 设计有更深入的理解和认识。
271 5
|
分布式计算 运维 DataWorks
DataWorks产品使用合集之如何查看数据服务API发布后的服务端日志
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
IDE API 定位技术
Python--API编程:IP地址翻译成实际的物理地址
Python--API编程:IP地址翻译成实际的物理地址
546 0
|
机器学习/深度学习 人工智能 算法
物联网(IoT)就像是一个大型派对,无数的设备都在欢快地交流着信息
【9月更文挑战第4天】在这个万物互联的时代,物联网(IoT)犹如一场盛大的派对,各类设备欢聚一堂。然而,如何让这些设备互相理解并协同工作呢?这就需要机器学习与人工智能的助力。例如,智能空调通过学习你的使用习惯来调节温度,使你更加舒适;智能安防系统则能识别异常行为并及时报警,保障家庭安全。此外,智能农业、交通等领域也因机器学习和人工智能的应用变得更加高效。下面通过一个简单的温度预测代码示例,展示机器学习在物联网中的实际应用,让我们一起感受其强大潜力。
410 0
|
JSON API 数据库
神秘编程力量来袭!Rails 究竟隐藏着怎样的魔力,能构建出强大的 RESTful API?快来一探究竟!
【8月更文挑战第31天】《构建 RESTful API:使用 Rails 进行服务端开发》介绍了如何利用 Ruby on Rails 框架高效构建可扩展的 RESTful API。Rails 采用“约定优于配置”,简化开发流程,通过示例展示了路由定义、控制器设计及模型层交互等内容,帮助开发者快速搭建稳定可靠的服务端。无论小型项目还是大型应用,Rails 均能提供强大支持,提升开发效率。
336 0
|
开发框架 前端开发 应用服务中间件
部署基于.netcore5.0的ABP框架后台Api服务端,以及使用Nginx部署Vue+Element前端应用
部署基于.netcore5.0的ABP框架后台Api服务端,以及使用Nginx部署Vue+Element前端应用