Get Latest Measurement Points¶
获取设备上传的最新测点数据(包括设备上传的原始数据,镜像数据;但不包括通过 StreamSet 的计算点和离线消息集成的数据),该最新测点数据可以通过 HTTP,MQTT,CoAP 等协议上传。通过老的 EnOS API 上传的数据(即通过接口/connectService/products/{productKey}/devices/measurepoints),也可以通过该接口获取。
请求格式¶
POST https://{apigw-address}/connect-service/v2.1/measurepoints?action=queryLatest
请求参数(URI)¶
备注
本表非必须字段中,必须使用以下任意一种方式来指定设备:
assetId
productKey
+deviceKey
名称 |
位置 (Path/Query) |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|---|
orgId |
Query |
必需 |
String |
资产所属的组织ID。如何获取orgId信息>> |
assetId |
Query |
可选 |
String |
资产ID,用于指定设备。 |
productKey |
Query |
可选 |
String |
Product Key。用于与 |
deviceKey |
Query |
可选 |
String |
Device Key。用于与 |
请求参数 (Body)¶
名称 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|
measurepointIds |
可选 |
String数组 |
由测点标识符(字符串)组成的数组。用于指定需要返回的测点。如果没有提供,则返回所有测点的最新值。 |
响应参数¶
名称 |
数据类型 |
描述 |
---|---|---|
data |
|
测点相关的数据。 |
MeasurepointStatus结构体¶
名称 |
数据类型 |
描述 |
---|---|---|
id |
String |
测点ID |
time |
String |
测点更新时间。 |
value |
根据模型定义确定 |
测点值。 |
示例¶
请求示例¶
url: https://{apigw-address}/connect-service/v2.1/measurepoints?action=queryLatest&orgId=yourOrgId&assetId=yourAssetId
method: POST
requestBody:
{
"measurepointIds":[
"temp"
]
}
响应示例¶
{
"code": 0,
"msg": "OK",
"requestId": "5c48cad3-3e33-4e0e-be43-9ca628ba3ae5",
"data": [
{
"id": "temp",
"time": "1579590343468",
"value": 0.3084426
}
]
}
Java SDK调用示例¶
package com.envisioniot.enos.api.sample.connect_service.device;
import com.envision.apim.poseidon.config.PConfig;
import com.envision.apim.poseidon.core.Poseidon;
import com.envisioniot.enos.connect_service.v2_1.measurepoints.QueryLatestMeasurepointsRequest;
import com.envisioniot.enos.connect_service.v2_1.measurepoints.QueryLatestMeasurepointsResponse;
import com.google.common.collect.ImmutableList;
public class GetLatestMeasurementPoints {
public static void main(String[] args) {
String appKey = "yourAppKey";
String appSecret = "yourAppSecret";
String serverUrl = "yourServerUrl";
String orgId = "yourOrgId";
String assetId = "yourAssetId";
QueryLatestMeasurepointsRequest request = new QueryLatestMeasurepointsRequest();
request.setOrgId(orgId);
request.setAssetId(assetId);
request.setMeasurepointIds(ImmutableList.of("temp"));
QueryLatestMeasurepointsResponse response = Poseidon.config(PConfig.init().appKey(appKey).appSecret(appSecret).debug())
.url(serverUrl)
.getResponse(request, QueryLatestMeasurepointsResponse.class);
}
}