阿里云物联网获取设备属性api接口:QueryDevicePropertyData

阿里云物联网接口:QueryDevicePropertyData
 说明:调用该接口查询指定设备或数字孪生节点,在指定时间段内,单个属性的数据

比如提取上传到物联网的温度数据

api文档:QueryDevicePropertyData_物联网平台_API文档-阿里云OpenAPI开发者门户QueryDevicePropertyData调用该接口查询指定设备或数字孪生节点,在指定时间段内,单个属性的数据。是物联网平台的API文档,是阿里云OpenAPI开发者门户提供的OpenAPI开发手册,包括云产品的OpenAPI、出入参、错误码、变更历史。https://next.api.aliyun.com/document/Iot/2018-01-20/QueryDevicePropertyData


阿里云物联网平台云端SDK下载:

    物联网平台SDK下载地址和示例_物联网平台(IoT)-阿里云帮助中心物联网平台云端SDK支持Java、Python、PHP、Node.js、.NET、Go和Swift语言,用于调用云端API,以实现物联网平台的云端能力,如产品管理、设备管理、Topic管理、数据流转规则管理、消息通信等。本文介绍云端SDK的下载地址及使用示例。https://help.aliyun.com/zh/iot/developer-reference/download-iot-platform-sdks-2

    搞了好久才搞出来:

    • 1、java实现:

    • QueryDeviceTempData.java

    package com.example.iot;import com.aliyuncs.DefaultAcsClient;
    import com.aliyuncs.IAcsClient;
    import com.aliyuncs.exceptions.ClientException;
    import com.aliyuncs.iot.model.v20180120.QueryDevicePropertyDataRequest;
    import com.aliyuncs.iot.model.v20180120.QueryDevicePropertyDataResponse;
    import com.aliyuncs.profile.DefaultProfile;
    import com.aliyuncs.profile.IClientProfile;public class QueryDeviceTempData {public static void main(String[] args) {// 阿里云访问密钥String accessKeyId = "**";String accessKeySecret = "**";String regionId = "cn-shanghai";// 设备信息String productKey = "**";String deviceName = "**";// 初始化客户端IClientProfile profile = DefaultProfile.getProfile(regionId, accessKeyId, accessKeySecret);IAcsClient client = new DefaultAcsClient(profile);// 创建请求QueryDevicePropertyDataRequest request = new QueryDevicePropertyDataRequest();request.setProductKey(productKey);request.setDeviceName(deviceName);request.setIdentifier("indate"); // 温度属性标识符request.setStartTime(System.currentTimeMillis() - 3600 * 1000); // 查询过去一小时的数据request.setEndTime(System.currentTimeMillis());request.setAsc(1); // 按时间升序排列request.setPageSize(10); // 每页返回的数据条数try {// 发送请求并获取响应QueryDevicePropertyDataResponse response = client.getAcsResponse(request);System.out.println("Response: " + response);// 解析响应if (response != null && response.getData() != null) {for (QueryDevicePropertyDataResponse.Data.PropertyInfo propertyInfo : response.getData().getList()) {System.out.println("Time: " + propertyInfo.getTime() + ", Value: " + propertyInfo.getValue());}}} catch (ClientException e) {e.printStackTrace();}}
    }

    • pom.xml文件:
    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.example</groupId><artifactId>QueryDevicePropertyData</artifactId><version>1.0-SNAPSHOT</version><properties><maven.compiler.source>21</maven.compiler.source><maven.compiler.target>21</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><!-- 阿里云核心库 --><dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java-sdk-core</artifactId><version>4.5.3</version></dependency><!-- 阿里云物联网平台SDK --><dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java-sdk-iot</artifactId><version>7.4.0</version></dependency></dependencies></project>
    • java项目结构
    • java输出:

    Response: com.aliyuncs.iot.model.v20180120.QueryDevicePropertyDataResponse@38d8f54a
    Time: 1740729954244, Value: 18.0
    Time: 1740730254422, Value: 18.0
    Time: 1740730554592, Value: 18.0
    Time: 1740730854785, Value: 18.0
    Time: 1740731154962, Value: 17.0
     

    2、python实现

    输出json格式,想要哪些字段自行解析

    from aliyunsdkcore.client import AcsClient
    from aliyunsdkcore.acs_exception.exceptions import ClientException
    from aliyunsdkcore.acs_exception.exceptions import ServerException
    from aliyunsdkiot.request.v20180120.QueryDevicePropertyDataRequest import QueryDevicePropertyDataRequest# 设置你的AccessKey ID和AccessKey Secret
    access_key_id = '**'
    access_key_secret = '**'
    region_id = 'cn-shanghai'  # 根据你的实际情况选择region# 创建AcsClient实例
    client = AcsClient(access_key_id, access_key_secret, region_id)# 创建QueryDevicePropertyDataRequest实例
    request = QueryDevicePropertyDataRequest()
    request.set_accept_format('json')# 设置请求参数
    request.set_ProductKey('**')  # 产品Key
    request.set_DeviceName('**')  # 设备名称
    request.set_Identifier('temp')  # 属性标识符
    request.set_StartTime(1740346648574)  # 开始时间,Unix时间戳,单位毫秒
    request.set_EndTime(1740357451888)  # 结束时间,Unix时间戳,单位毫秒
    request.set_PageSize(10)  # 每页记录数
    request.set_Asc(0)  # 0表示降序,1表示升序try:# 发送请求并获取响应response = client.do_action_with_exception(request)print(response.decode('utf-8'))
    except ClientException as e:print(e.get_error_code())print(e.get_error_msg())
    except ServerException as e:print(e.get_error_code())print(e.get_error_msg())

    python程序输出:{"RequestId":"036BBE41-52E9-5C5F-9312-D561C0D82282","Data":{"NextValid":false,"NextTime":1740355512752,"List":{"PropertyInfo":[{"Value":"-2.0","Time":1740357315548},{"Value":"-2.0","Time":1740357015021},{"Value":"-2.0","Time":1740356714858},{"Value":"-5.0","Time":1740356414687},{"Value":"-5.0","Time":1740356113089},{"Value":"-5.0","Time":1740355812915},{"Value":"-5.0","Time":1740355512754}]}},"Code":"","Success":true}

    本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/27720.html

    如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

    相关文章

    算法系列之动态规划

    动态规划&#xff08;Dynamic Programming&#xff0c;简称DP&#xff09;是一种用于解决复杂问题的算法设计技术。它通过将问题分解为更小的子问题&#xff0c;并存储这些子问题的解来避免重复计算&#xff0c;从而提高算法的效率。本文将介绍动态规划的基本概念、适用场景、复…

    Linux系列:如何用 C#调用 C方法造成内存泄露

    一&#xff1a;背景 1. 讲故事 好久没写文章了&#xff0c;还是来写一点吧&#xff0c;今年准备多写一点 Linux平台上的东西&#xff0c;这篇从 C# 调用 C 这个例子开始。在 windows 平台上&#xff0c;我们常常在 C 代码中用 extern "C" 导出 C风格 的函数&#x…

    1.2.3 使用Spring Initializr方式构建Spring Boot项目

    本实战概述介绍了如何使用Spring Initializr创建Spring Boot项目&#xff0c;并进行基本配置。首先&#xff0c;通过Spring Initializr生成项目骨架&#xff0c;然后创建控制器HelloController&#xff0c;定义处理GET请求的方法hello&#xff0c;返回HTML字符串。接着&#xf…

    【音视频】H265解码Nalu后封装rtp包

    概述 基于ZLM流媒体框架以及简单RTSP服务器开源项目分析总结&#xff0c;相关源码参考以下链接 H265-rtp提取Nalu逻辑 通过rtsp流地址我们可以获取视频流中的多个rtp包&#xff0c;其中每个RTP包中又会包含一个或者多个Nalu&#xff0c;将其提取处理 总体逻辑分析 核心逻辑在…

    03.03 QT

    1.在注册登录的练习里面&#xff0c;追加一个QListwidget 项目列表 要求:点击注册之后&#xff0c;将账号显示到 1istwidget上面去 以及&#xff0c;在listwidget中双击某个账号的时候&#xff0c;将该账号删除 Widget.h: #ifndef WIDGET_H #define WIDGET_H#include <QWi…

    【星云 Orbit • STM32F4】04.一触即发:GPIO 外部中断

    【星云 Orbit- • STM32F4】04. 一触即发&#xff1a;外部中断控制 摘要 本文详细介绍了如何使用STM32F407微控制器的HAL库实现外部中断功能。通过配置GPIO引脚作为外部中断源&#xff0c;并在中断回调函数中处理按键事件&#xff0c;实现了按键控制LED状态翻转的功能。本文旨…

    (新版本onenet)stm32+esp8266/01s mqtt连接onenet上报温湿度和远程控制(含小程序)

    物联网实践教程&#xff1a;微信小程序结合OneNET平台MQTT实现STM32单片机远程智能控制 远程上报和接收数据——汇总 前言 之前在学校获得了一个新玩意&#xff1a;ESP-01sWIFI模块&#xff0c;去搜了一下这个小东西很有玩点&#xff0c;远程控制LED啥的&#xff0c;然后我就想…

    并发编程(线程基础)面试题及原理

    1. 进程与线程 1.1 进程 程序由指令和数据组成&#xff0c;但这些指令要运行&#xff0c;数据要读写&#xff0c;就必须将指令加载至CPU&#xff0c;数据加载至内存。在指令运行过程中还需要用到磁盘、网络等设备。进程就是用来加载指令、管理内存、管理IO的。 当一个程序被运…

    基于开源库编写MQTT通讯

    目录 1. MQTT是什么&#xff1f;2. 开发交互UI3. 服务器核心代码4. 客户端核心代码5. 消息订阅与发布6. 通讯测试7. MQTT与PLC通讯最后. 核心总结 1. MQTT是什么&#xff1f; MQTT&#xff08;Message Queuing Terlemetry Transport&#xff09;消息队列遥测协议&#xff1b;是…

    vector习题

    完数和盈数 题目 完数VS盈数_牛客题霸_牛客网 一个数如果恰好等于它的各因子(该数本身除外)之和&#xff0c;如&#xff1a;6321。则称其为“完数”&#xff1b;若因子之和大于该数&#xff0c;则称其为“盈数”。 求出2到60之间所有“完数”和“盈数”。 输入描述&#xff…

    vscode通过ssh远程连接(linux系统)不能跳转问题

    1.问题描述 unbantu中的vscode能够通过函数跳转到函数定义&#xff0c;而windows通过ssh连接unbantu的vscode却无法跳转 2.原因&#xff1a; 主要原因是这里缺少插件&#xff0c;这里是unbantu给主机的服务器&#xff0c;与ubantu本地vscode插件相互独立&#xff0c;能否跳转…

    神经网络 - 激活函数(Swish函数、GELU函数)

    一、Swish 函数 Swish 函数是一种较新的激活函数&#xff0c;由 Ramachandran 等人在 2017 年提出&#xff0c;其数学表达式通常为 其中 σ(x) 是 Sigmoid 函数&#xff08;Logistic 函数&#xff09;。 如何理解 Swish 函数 自门控特性 Swish 函数可以看作是对输入 x 进行“…

    安全运营的“黄金4小时“:如何突破告警疲劳困局

    在当今复杂多变的网络安全环境中&#xff0c;安全团队面临着前所未有的挑战。尤其是面对高级持续性威胁&#xff08;APT&#xff09;时&#xff0c;最初的“黄金4小时”成为决定成败的关键窗口。在这段时间内&#xff0c;快速而准确地响应可以极大地降低损失&#xff0c;然而&a…

    【Pytest】setup和teardown的四个级别

    文章目录 1.setup和teardown简介2.模块级别的 setup 和 teardown3.函数级别的 setup 和 teardown4.方法级别的 setup 和 teardown5.类级别的 setup 和 teardown 1.setup和teardown简介 在 pytest 中&#xff0c;setup 和 teardown 用于在测试用例执行前后执行一些准备和清理操…

    傅里叶分析

    傅里叶分析之掐死教程&#xff08;完整版&#xff09;更新于2014.06.06 要让读者在不看任何数学公式的情况下理解傅里叶分析。 傅里叶分析不仅仅是一个数学工具&#xff0c;更是一种可以彻底颠覆一个人以前世界观的思维模式。但不幸的是&#xff0c;傅里叶分析的公式看起来太复…

    matlab 四维数据可视化(已解决)

    虽然这不是传统意义上的“4维可视化”&#xff0c;但你可以通过在三维空间中表示两个维度来间接展示4维数据。例如&#xff0c;你可以使用颜色来表示第四个维度。 clc clear close all% 假设X, Y, Z为你的三维数据&#xff0c;C为第四维数据 X rand(100, 1); Y rand(100, 1);…

    MAC 本地搭建部署 dify(含 github访问超时+Docker镜像源拉取超时解决方案)

    目录 一、什么是 dify&#xff1f; 二、安装 docker 1. 什么是 docker&#xff1f; 2. docker下载地址 三、安装 dify 1. dify下载地址 2.可能遇到问题一&#xff1a; github访问超时 3.下载后完成解压 4.进入到 cmd 终端环境&#xff0c;执行下面三个命令 5.可能遇到…

    rustup-init.exe 安装缓慢的解决办法

    首先在rust官网下载安装程序&#xff0c;官网下载的 rustup-init.exe 下载慢&#xff0c;安装慢&#xff0c;或者直接卡死。 下载安装程序在本地&#xff0c;使用国内镜像加速 Rust 更新与下载。 使用国内镜像源&#xff1a;在 rustup-init.exe 程序文件夹下使用 PowerShell 中…

    OpenAI发布GPT-4.5:功能非常特殊,推理很贵

    今天凌晨4点&#xff0c;OpenAI进行了在线技术直播&#xff0c;发布了最新模型GPT-4.5。 GPT-4.5与之前的模型相比&#xff0c;本次最大的亮点是加上了“情商”&#xff0c;这也是目前所有大模型最缺、最难的功能。 此外&#xff0c;GPT-4.5 在SimpleQA上的测试数据显示&…

    unity pico开发二:连接头盔,配置手柄按键事件

    文章目录 导入UnityXR Interaction ToolKit构建基础内容 导入UnityXR Interaction ToolKit 检查一下packagemanager&#xff0c;unityxr interactionToolkit是否自动导入 我们需要升级到一个不超过3.x的版本&#xff0c;因为pico还不支持3.x的内容 然后右侧samples里导入初始…