手把手学IOT服务端API编程[9、批量获取设备状态]|MVP讲堂

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

作者:阿里云MVP洵云


上节回顾:手把手学IOT服务端API编程[8、按设备名查信息]|MVP讲堂


上节介绍按设备名查信息后,只能查询一个设备的信息,实际使用过程中,如果用户打算一次查询多个设备的状态,服务端的API接口也提供了相应的功能,

这一节就来介绍一下这个接口的使用,这个接口需要提供两个参数,一个是产品的key值,一个是设备的名称列表;

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

 

 

1、脚本实现:

我们按照接口的要求,在框架页面上,提供产品的key值和设备名称列表这两个个输入参数框给用户输入,其中名称列表,我们要求用户通过逗号分隔符的形式,

输入一行设备名称列表,通过逗号来分割各个设备名称;

产品KEY:        <input type="text" name="pkey9">

设备名称:        <input type="text" name="devnames9">

 

 

而在实际的实现代码中,我们只需要使用get函数提取这个变量就可以了,其中我们调用了explode函数来讲设备名称列表从字符串分割成名称列表的数组:

$pkey = $_GET["pkey9"];

$devnames = $_GET["devnames9"];

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

$request = new Iot\BatchGetDeviceStateRequest();

 

 

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

 

 

 

 

$request->setProductKey($pkey);

$devnames_array=explode(',',$devnames);

$request->setDeviceNames($devnames_array);

 

 

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

 

 

 

 

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

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

 

 

然后通过一个for循环依次显示每个设备的状态,名称等相关信息:

 

 

echo '设备状态 :'.$response->DeviceStatusList->DeviceStatus[$x]->Status.'<br>';

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

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

        echo '设备最近在线时间 :'.$response->DeviceStatusList->DeviceStatus[$x]->LastOnlineTime.'<hr>';

       

2、实际测试:

打开浏览器,转到我们框架脚本页面,这里输入我们从控制台得到的产品key值和设备名称列表,运行提交按钮后,可以得到我们要查询设备列表的信息,

和控制台上的信息是完全一致的;

具体向关截图如下:

 

 


timelapse:www.xunyun17.xyz/ioto/step9-BatchGetDeviceStateRequest.mp4


目录
相关文章
|
安全 Java API
告别繁琐编码,拥抱Java 8新特性:Stream API与Optional类助你高效编程,成就卓越开发者!
【8月更文挑战第29天】Java 8为开发者引入了多项新特性,其中Stream API和Optional类尤其值得关注。Stream API对集合操作进行了高级抽象,支持声明式的数据处理,避免了显式循环代码的编写;而Optional类则作为非空值的容器,有效减少了空指针异常的风险。通过几个实战示例,我们展示了如何利用Stream API进行过滤与转换操作,以及如何借助Optional类安全地处理可能为null的数据,从而使代码更加简洁和健壮。
489 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 设计有更深入的理解和认识。
180 5
|
人工智能 安全 物联网
|
IDE API 定位技术
Python--API编程:IP地址翻译成实际的物理地址
Python--API编程:IP地址翻译成实际的物理地址
358 0
|
机器学习/深度学习 人工智能 算法
物联网(IoT)就像是一个大型派对,无数的设备都在欢快地交流着信息
【9月更文挑战第4天】在这个万物互联的时代,物联网(IoT)犹如一场盛大的派对,各类设备欢聚一堂。然而,如何让这些设备互相理解并协同工作呢?这就需要机器学习与人工智能的助力。例如,智能空调通过学习你的使用习惯来调节温度,使你更加舒适;智能安防系统则能识别异常行为并及时报警,保障家庭安全。此外,智能农业、交通等领域也因机器学习和人工智能的应用变得更加高效。下面通过一个简单的温度预测代码示例,展示机器学习在物联网中的实际应用,让我们一起感受其强大潜力。
293 0
|
JSON API 数据库
神秘编程力量来袭!Rails 究竟隐藏着怎样的魔力,能构建出强大的 RESTful API?快来一探究竟!
【8月更文挑战第31天】《构建 RESTful API:使用 Rails 进行服务端开发》介绍了如何利用 Ruby on Rails 框架高效构建可扩展的 RESTful API。Rails 采用“约定优于配置”,简化开发流程,通过示例展示了路由定义、控制器设计及模型层交互等内容,帮助开发者快速搭建稳定可靠的服务端。无论小型项目还是大型应用,Rails 均能提供强大支持,提升开发效率。
218 0
|
存储 SQL JSON
【Azure IoT Hub】从设备端如何向IOT发送海量数据,可以使用从设备到IoT连接的直接传输吗?如何把IoT Hub中的数据存储到Azure Storage中?
【Azure IoT Hub】从设备端如何向IOT发送海量数据,可以使用从设备到IoT连接的直接传输吗?如何把IoT Hub中的数据存储到Azure Storage中?
209 0