阿里云物联网获取设备属性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.mzph.cn/diannao/72046.shtml

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

    相关文章

    需求和开发模型

    文章目录 什么是需求&#xff1f;用户需求软件需求用户需求和软件需求的不同 开发模型什么是“模型”&#xff1f;软件的生命周期常见的开发模型瀑布模型&#xff08;Waterfall Model&#xff09;螺旋模型增量模型、迭代模型敏捷模型 测试模型V 模型W 模型&#xff08;双 V 模型…

    21-发糖果

    n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。 你需要按照以下要求&#xff0c;给这些孩子分发糖果&#xff1a; 每个孩子至少分配到 1 个糖果。 相邻两个孩子评分更高的孩子会获得更多的糖果。 请你给每个孩子分发糖果&#xff0c;计算并返回需要准备的 最…

    sql深入学习

    文章目录 前言知识学习注释的两种形式字符型注入万能密码 布尔盲注报错注入堆叠注入时间盲注二次注入 小技巧 前言 这次学习建立在对数据库有基本的认识&#xff0c;了解基础的增删改查语句&#xff0c;数字型注入和字符型注入的基础上&#xff0c;进一步深入学习知识&#xf…

    利用three.js在Vue项目中展示重构的stl模型文件

    一、目的 为了在前端页面展示3d打印机打印过程 二、前期准备 完整模型的stl文件和模型切割成的n个stl文件 models文件夹下的文件就是切割后的stl文件 三、代码 <template><div ref"threeContainer" class"three-container"></div><…

    【Eureka 缓存机制】

    今天简单介绍一下Eureka server 的缓存机制吧✌️✌️✌️ 一、先来个小剧场&#xff1a;服务发现的"拖延症" 想象你是个外卖小哥&#xff08;客户端&#xff09;&#xff0c;每次接单都要打电话问调度中心&#xff08;Eureka Server&#xff09;&#xff1a;“现在…

    Python--内置模块和开发规范(下)

    2. 开发规范 2.1 单文件应用 文件结构示例 # 文件注释 import os import jsonDB_PATH "data.json" # 常量放顶部def load_data():"""函数注释&#xff1a;加载数据"""if os.path.exists(DB_PATH):with open(DB_PATH, "r"…

    go设计模式

    刘&#xff1a;https://www.bilibili.com/video/BV1kG411g7h4 https://www.bilibili.com/video/BV1jyreYKE8z 1. 单例模式 2. 简单工厂模式 代码逻辑&#xff1a; 原始&#xff1a;业务逻辑层 —> 基础类模块工厂&#xff1a;业务逻辑层 —> 工厂模块 —> 基础类模块…

    搭建数字化生态平台公司:痛点与蚓链解决方案

    在数字技术突飞猛进的当下&#xff0c;数字化生态平台成为众多企业实现创新发展、拓展业务版图的 “秘密工具”。今天&#xff0c;咱们就一起来聊聊搭建这类平台的公司&#xff0c;看看它们有啥独特之处&#xff0c;又面临哪些难题。 一、面临的痛点 &#xff08;一&#xff0…

    标记符号“<”和“>”符号被称为“尖括号”或“角括号”

    你提到的“<”和“>”符号被称为“尖括号”或“角括号”。它们常用于编程语言中表示类型参数&#xff08;如泛型&#xff09;、HTML标签&#xff08;如<div>&#xff09;、数学中的不等式&#xff08;如< 5&#xff09;等。 好的&#xff0c;我来用通俗的方式解…

    云平台DeepSeek满血版:引领AI推理革新,开启智慧新时代

    引言&#xff1a;人工智能的未来——云平台的卓越突破 在当今科技飞速发展的时代&#xff0c;人工智能&#xff08;AI&#xff09;技术正深刻地改变着我们生活与工作方式的方方面面。作为AI领域的创新者与领航者&#xff0c;云平台始终走在技术前沿&#xff0c;凭借无穷的热情…

    自然语言处理:文本规范化

    介绍 大家好&#xff01;很高兴又能在这儿和大家分享自然语言处理相关的知识了。在上一篇发布于自然语言处理&#xff1a;初识自然语言处理-CSDN博客为大家初步介绍了自然语言处理的基本概念。而这次&#xff0c;我将进一步深入这个领域&#xff0c;和大家聊聊自然语言处理中一…

    HTTP非流式请求 vs HTTP流式请求

    文章目录 HTTP 非流式请求 vs 流式请求一、核心区别 服务端代码示例&#xff08;Node.js/Express&#xff09;非流式请求处理流式请求处理 客户端请求示例非流式请求&#xff08;浏览器fetch&#xff09;流式请求处理&#xff08;浏览器fetch&#xff09; Python客户端示例&…

    C语言机试编程题

    编写版本&#xff1a;vc2022 1.求最大/小值 #include<stdio.h> int main(){int a[50],n;int max, min;printf("请输入您要输入几个数");scanf_s("%d", &n);printf("请输入您要比较的%d个数\n",n);for (int i 0; i<n; i) {scanf_…

    c++ 多个.cpp文件运行

    目录 方法 1&#xff1a;将其他文件中的 main 改为普通函数 方法 2&#xff1a;使用头文件组织代码 方法 3&#xff1a;条件编译&#xff08;仅用于调试或特殊需求&#xff09; 方法 4&#xff1a;创建类或命名空间管理逻辑 在一个C项目中&#xff0c;多个.cpp文件不能同…

    基于OFDR的层压陆相页岩油储层中非对称裂缝群传播的分布式光纤监测

    关键词&#xff1a;OFDR、分布式光纤传感、裂缝传播 一. 概述 四川盆地凉高山组优质页岩油储层存在复杂的垂直重叠岩性&#xff0c;大陆页岩油储层存在发育层理&#xff0c;薄层和天然裂缝&#xff0c;对水平井多级压裂技术的裂缝网络形态控制和监测构成挑战。本研究提出了一…

    UniApp 按钮组件 open-type 属性详解:功能、场景与平台差异

    文章目录 引言一、open-type 基础概念1.1 核心作用1.2 通用使用模板 二、主流 open-type 值详解2.1 contact - 客服会话功能说明平台支持代码示例 2.2 share - 内容转发功能说明平台支持注意事项 2.3 getUserInfo - 获取用户信息功能说明平台支持代码示例 2.4 getPhoneNumber -…

    【大模型】Ubuntu下 fastgpt 的部署和使用

    前言 本次安装的版本为 fastgpt:v4.8.8-fix2。 最新版本fastgpt:v4.8.20-fix2 问答时报错&#xff0c;本着跑通先使用起来&#xff0c;就没有死磕下去&#xff0c;后面bug解了再进行记录。   github连接&#xff1a;https://github.com/labring/FastGPT fastgpt 安装说明&…

    【GenBI实战】python脚本实现基于DeepSeek api的数据查询和图表可视化

    写在前面 生成式 BI (GenBI) 正在改变我们与数据交互的方式。它允许用户使用自然语言提出问题&#xff0c;并自动获得数据洞察&#xff0c;而无需编写复杂的 SQL 查询或手动创建图表。本文将带你动手实战&#xff0c;使用 Python 和 DeepSeek API (或其他类似的大语言模型 API…

    Web-to-Web和Server-to-Serve归因方法

    Web2Web 和 S2S 归因方法 1. Web2Web 归因方法 原理&#xff1a; Web2Web&#xff08;Web-to-Web&#xff09;归因方法主要用于跟踪用户在网站之间的行为路径。它通过浏览器中的Cookie或其他标识符来追踪用户在不同网站之间的行为&#xff0c;从而确定用户转化的路径。 使用…

    c++中迭代器和指针有什么区别?

    在 C 中&#xff0c;迭代器和指针虽然在某些场景下有相似的行为&#xff0c;但它们在设计目的、功能和使用场景上有本质区别。以下是详细对比和最佳实践&#xff1a; 一、核心区别对比表 特征指针迭代器本质原生数据类型&#xff0c;直接存储内存地址类对象&#xff0c;抽象容…