阿里云物联网批量获取设备的在线离线状态
一、背景
我们在做物联网的时候,除了控制设备进行一些操作之外。设备的在线离线显示也是很重要的。如果设备离线的话,此时用户操作设备,设备并不会做出反应。对用户而言,操作体验当然是非常不好的。
这边我们可以通过阿里给出的接口,批量获取设备的状态。然后显示在APP上,此时我们可以不让用户点击离线的设备等。用户体验比较好。
二、批量获取设备的状态
1、首先,我们是要使用阿里的物联网的。并且需要引入阿里给出的phpSDK。具体的,大家可以看我之前写的关于阿里物联网的文章。
阿里物联网套件在laravel中的使用
2、批量获取设备状态的接口:BatchGetDeviceStateRequest()
之所以写这篇文章,也是因为阿里在文档中,并没有直接给出这个函数。我自己也是找了很久才找到。所以这边记录一下。这里假定大家已经把阿里的SDK成功引入到项目中:
$accessKeyId = "你的账号";$accessSecret = "你的密码";//实例化对象$iClientProfile = \DefaultProfile::getProfile("cn-shanghai", $accessKeyId, $accessSecret);$client = new \DefaultAcsClient($iClientProfile);//调用阿里批量获取设备状态的接口$request = new Iot\BatchGetDeviceStateRequest();$request->setProductKey('你的productkey');//这里的arr指的是设备的唯一编号。大家自己在把设备放到物联网上的时候,都需要定义独一无二的标识$arr = array(0=>'code',1=>'code');$request->setDeviceNames($arr);$response = $client->getAcsResponse($request);//这里就能获取到返回结果$deviceStatusList = $response->DeviceStatusList;$deviceStatus = $deviceStatusList->DeviceStatus;$status = [];foreach($deviceStatus as $v){$status[] = $v->Status;}print_r($status);
结果打印:
解释:
1、大部分解释,代码的注释里面都有
2、注意,因为是批量查询,所以我们要把查询的设备编号组成数组,当做参数传过去
3、返回的是对象数组,所以要单独拿出来状态的话,需要通过foreach循环拿出来
4、设备一共有三种状态。OFFLINE代表离线。ONLINE代表在线。还有一个状态是未激活状态,代表设备还没有接入阿里物联网。
OK,这样,我们就拿到了设备的在线离线操作,接下来可以根据自己的逻辑进行操作。
end
阿里云物联网批量获取设备的在线离线状态相关推荐
- IDEA连接阿里云物联网平台获取设备上传数据
官方文档: https://help.aliyun.com/document_detail/143601.html?spm=a2c4g.11174283.6.646.28ba1668pisoQW 一. ...
- 微信小程序连接阿里云物联网平台操控设备(IOT)三
文章导航: 微信小程序连接阿里云物联网平台操控设备(IOT)一 设备上云 微信小程序连接阿里云物联网平台操控设备(IOT)二 微信小程序开发(一) 微信小程序连接阿里云物联网平台操控设备(IOT)三 ...
- 微信小程序连接阿里云物联网平台操控设备(IOT)一
文章导航: 微信小程序连接阿里云物联网平台操控设备(IOT)一 设备上云 微信小程序连接阿里云物联网平台操控设备(IOT)二 微信小程序开发(一) 微信小程序连接阿里云物联网平台操控设备(IOT)三 ...
- 微信小程序连接阿里云物联网平台操控设备(IOT)二
文章导航: 微信小程序连接阿里云物联网平台操控设备(IOT)一 设备上云 微信小程序连接阿里云物联网平台操控设备(IOT)二 微信小程序开发(一) 微信小程序连接阿里云物联网平台操控设备(IOT)三 ...
- 基于阿里云物联网平台的设备之间传输十六进制数据
基于阿里云物联网平台的设备之间传输十六进制数据 文章目录 基于阿里云物联网平台的设备之间传输十六进制数据 1. 创建阿里云物联网产品 1.1 创建新的产品 1.2 为产品创建自定义topic 1.3 ...
- 阿里云物联网平台创建设备
阿里云物联网平台创建设备 阿里云物联网平台创建设备 创建产品 创建设备 在线调试 阿里云物联网平台创建设备 本文演示使用阿里云物联网平台进行产品.设备的创建和使用,模拟调试,观察日志. 创建产品 1. ...
- 合宙Air780e+luatos+阿里云物联网平台完成设备通信与控制(属性上报+4G远程点灯)
一.简介 1.项目介绍 之前发布的文章有采用合宙的4G LTE Cat.1模块,编程语言用的是lua,整体来说代码比较简洁,实现对华为云物联网平台的设备通信与控制,即采用一个变量作为模拟属性定时上报, ...
- 阿里云物联网平台 > 设备接入 > 使用开放协议自主接入 > CoAP协议接入 >
CoAP连接通信 更新时间:2020-08-27 17:20:05 编辑我的收藏 本页目录 基础流程 使用对称加密自主接入 使用DTLS自主接入 物联网平台支持CoAP协议连接通信.CoAP协议适用在 ...
- 阿里云物联网平台MQTT设备接入
C Link SDK接入 背景介绍 准备工作 构建实例 创建产品 创建设备 下载SDK 准备Ubuntu16.04 Linux接入示例 选择环境 编译选项 编译项目 移植 背景介绍 最近在做阿里云平台 ...
最新文章
- 文件时间信息在测试中的应用
- LIVE 预告 | 快手宋洋:千亿特征,万亿参数,快手推荐精排模型的发展史
- 报名 | 挑战极限,参加2天清华数据Hackathon,赢得4万元奖金
- [游戏模版15] Win32 飞机射击
- git版本分支和分支、分支和主分支切换
- Leetcode1702. 修改后的最大二进制字符串[C++题解]:思维题
- arcgis字段计算器利用python按两列要求编号
- C++基础12-类和对象之操作符重载-string练习
- 「雕爷学编程」Arduino动手做(18)---太阳能电池模块
- uni.request POST 请求后台接收不到参数
- #includesome_file.h和#includemy_file.h的区别
- java如何保证redis设置过期时间的原子性_【07期】Redis中是如何实现分布式锁的?...
- 基础VLAN划分(思科)
- Ubuntu linux ls 看到目录文件夹绿色高亮问题
- 新增收货地址管理 html,关于“收货地址”的二三事
- subplot中的图例
- pythonsocket接口_python socket 模块API
- Linux中update和upgrade的区别
- Linux系统基础学习--ubuntu
- Python数据结构栈,后进先出
热门文章
- excel大学计算机试题,大学计算机基础 excel测试题 求答案~~喵~~
- MXNET学习笔记(二):模型的保存与加载
- 获取文件唯一id md5
- pytorch 卷积分组
- Failed to load the native TensorFlow runtime.
- 相似图片检测:感知哈希算法之dHash的Python实现
- 带你深入AI(4)- 目标检测领域:R-CNN,faster R-CNN,yolo,SSD, yoloV2
- earning Multi-Domain Convolutional Neural Networks for Visual Tracking
- Python 装饰器记录总结 (终极版)
- python列表--查找集合中重复元素的个数