一、背景

我们在做物联网的时候,除了控制设备进行一些操作之外。设备的在线离线显示也是很重要的。如果设备离线的话,此时用户操作设备,设备并不会做出反应。对用户而言,操作体验当然是非常不好的。

这边我们可以通过阿里给出的接口,批量获取设备的状态。然后显示在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

阿里云物联网批量获取设备的在线离线状态相关推荐

  1. IDEA连接阿里云物联网平台获取设备上传数据

    官方文档: https://help.aliyun.com/document_detail/143601.html?spm=a2c4g.11174283.6.646.28ba1668pisoQW 一. ...

  2. 微信小程序连接阿里云物联网平台操控设备(IOT)三

    文章导航: 微信小程序连接阿里云物联网平台操控设备(IOT)一 设备上云 微信小程序连接阿里云物联网平台操控设备(IOT)二 微信小程序开发(一) 微信小程序连接阿里云物联网平台操控设备(IOT)三 ...

  3. 微信小程序连接阿里云物联网平台操控设备(IOT)一

    文章导航: 微信小程序连接阿里云物联网平台操控设备(IOT)一 设备上云 微信小程序连接阿里云物联网平台操控设备(IOT)二 微信小程序开发(一) 微信小程序连接阿里云物联网平台操控设备(IOT)三 ...

  4. 微信小程序连接阿里云物联网平台操控设备(IOT)二

    文章导航: 微信小程序连接阿里云物联网平台操控设备(IOT)一 设备上云 微信小程序连接阿里云物联网平台操控设备(IOT)二 微信小程序开发(一) 微信小程序连接阿里云物联网平台操控设备(IOT)三 ...

  5. 基于阿里云物联网平台的设备之间传输十六进制数据

    基于阿里云物联网平台的设备之间传输十六进制数据 文章目录 基于阿里云物联网平台的设备之间传输十六进制数据 1. 创建阿里云物联网产品 1.1 创建新的产品 1.2 为产品创建自定义topic 1.3 ...

  6. 阿里云物联网平台创建设备

    阿里云物联网平台创建设备 阿里云物联网平台创建设备 创建产品 创建设备 在线调试 阿里云物联网平台创建设备 本文演示使用阿里云物联网平台进行产品.设备的创建和使用,模拟调试,观察日志. 创建产品 1. ...

  7. 合宙Air780e+luatos+阿里云物联网平台完成设备通信与控制(属性上报+4G远程点灯)

    一.简介 1.项目介绍 之前发布的文章有采用合宙的4G LTE Cat.1模块,编程语言用的是lua,整体来说代码比较简洁,实现对华为云物联网平台的设备通信与控制,即采用一个变量作为模拟属性定时上报, ...

  8. 阿里云物联网平台 > 设备接入 > 使用开放协议自主接入 > CoAP协议接入 >

    CoAP连接通信 更新时间:2020-08-27 17:20:05 编辑我的收藏 本页目录 基础流程 使用对称加密自主接入 使用DTLS自主接入 物联网平台支持CoAP协议连接通信.CoAP协议适用在 ...

  9. 阿里云物联网平台MQTT设备接入

    C Link SDK接入 背景介绍 准备工作 构建实例 创建产品 创建设备 下载SDK 准备Ubuntu16.04 Linux接入示例 选择环境 编译选项 编译项目 移植 背景介绍 最近在做阿里云平台 ...

最新文章

  1. 文件时间信息在测试中的应用
  2. LIVE 预告 | 快手宋洋:千亿特征,万亿参数,快手推荐精排模型的发展史
  3. 报名 | 挑战极限,参加2天清华数据Hackathon,赢得4万元奖金
  4. [游戏模版15] Win32 飞机射击
  5. git版本分支和分支、分支和主分支切换
  6. Leetcode1702. 修改后的最大二进制字符串[C++题解]:思维题
  7. arcgis字段计算器利用python按两列要求编号
  8. C++基础12-类和对象之操作符重载-string练习
  9. 「雕爷学编程」Arduino动手做(18)---太阳能电池模块
  10. uni.request POST 请求后台接收不到参数
  11. #includesome_file.h和#includemy_file.h的区别
  12. java如何保证redis设置过期时间的原子性_【07期】Redis中是如何实现分布式锁的?...
  13. 基础VLAN划分(思科)
  14. Ubuntu linux ls 看到目录文件夹绿色高亮问题
  15. 新增收货地址管理 html,关于“收货地址”的二三事
  16. subplot中的图例
  17. pythonsocket接口_python socket 模块API
  18. Linux中update和upgrade的区别
  19. Linux系统基础学习--ubuntu
  20. Python数据结构栈,后进先出

热门文章

  1. excel大学计算机试题,大学计算机基础 excel测试题 求答案~~喵~~
  2. MXNET学习笔记(二):模型的保存与加载
  3. 获取文件唯一id md5
  4. pytorch 卷积分组
  5. Failed to load the native TensorFlow runtime.
  6. 相似图片检测:感知哈希算法之dHash的Python实现
  7. 带你深入AI(4)- 目标检测领域:R-CNN,faster R-CNN,yolo,SSD, yoloV2
  8. earning Multi-Domain Convolutional Neural Networks for Visual Tracking
  9. Python 装饰器记录总结 (终极版)
  10. python列表--查找集合中重复元素的个数