手把手学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值和设备名称列表,运行提交按钮后,可以得到我们要查询设备列表的信息,

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

具体向关截图如下:

 

 395_1939185177035471_89bb75b1b0ab5bb.png

395_1939185177035471_fb4df487e364340.png

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


目录
相关文章
|
2月前
|
小程序 安全 API
社区每周丨小程序基础API新增获取设备、系统等多个接口
社区每周丨小程序基础API新增获取设备、系统等多个接口
108 0
|
2月前
|
网络协议 物联网 5G
K3S 系列文章 -5G IoT 网关设备 POD 访问报错 DNS 'i/o timeout' 分析与解决
K3S 系列文章 -5G IoT 网关设备 POD 访问报错 DNS 'i/o timeout' 分析与解决
|
12天前
|
存储 Java 关系型数据库
掌握Java 8 Stream API的艺术:详解流式编程(一)
掌握Java 8 Stream API的艺术:详解流式编程
46 1
|
29天前
|
算法 Linux API
【Linux系统编程】一文了解 Linux目录的创建和删除API 创建、删除与读取
【Linux系统编程】一文了解 Linux目录的创建和删除API 创建、删除与读取
28 0
【Linux系统编程】一文了解 Linux目录的创建和删除API 创建、删除与读取
|
1月前
|
Linux API C++
【Linux C/C++ 线程同步 】Linux API 读写锁的编程使用
【Linux C/C++ 线程同步 】Linux API 读写锁的编程使用
21 1
|
1月前
|
编解码 API Android开发
深入了解设备交互 API 如何改变我们的生活
深入了解设备交互 API 如何改变我们的生活
29 3
|
3月前
|
JSON Java API
Java 编程问题:十三、HTTP 客户端和 WebSocket API
Java 编程问题:十三、HTTP 客户端和 WebSocket API
88 0
|
7月前
|
编解码 小程序 JavaScript
阿里云IoT小程序应用开发和组件实践
通过实验,了解阿里云IoT小程序的应用开发的方法,了解其内置的基础组件使用,以及基于Vue.js实现可复用的自定义组件的方法。
341 1
|
7月前
|
运维 安全 物联网
使用阿里云 IoT 安全中心保护智慧遥控器
在物联网领域中,我们的 TO B 智慧设备,在发货之后,出现了不少困扰我们的安全问题,比如会被恶意安装应用,访问非法网站等,增加厂家的运维成本。 同时设备上的一些技术机密也容易被好事之人破解,对厂商构成商业损失,直到我们发现了阿里云物联网的一款安全防护产品 -- IoT 安全中心。它主打的 ID² 和安全运营有效的解决了我们的痛点。
393 3
|
8月前
|
传感器 监控 物联网
阿里云IoT HaaS 510:快速实现物联网数据传输的利器
众所周知,物联网(IoT)是近年来日益热门的技术领域之一,它的广泛应用为人们的生活和工作带来了无限可能。在物联网应用中,数据的采集和传输是至关重要的一环。DTU是一种应用于物联网数据传输的终端设备,它可以将各类传感器、数据采集单元等通过串口RS232/485传输到DTU,再由DTU转发到4G网络上传至云端。阿里云IoT HaaS 510是一款开板式DTU产品,能够帮助企业快速搭建物联网平台,并实现数据的采集和传输,那么本文就来简单分享一下。
363 1
阿里云IoT HaaS 510:快速实现物联网数据传输的利器