package com.sandu.ximon.admin.manager.iot.rrpc.topic;
|
|
import com.aliyuncs.iot.model.v20180120.BatchGetDeviceStateResponse;
|
import com.aliyuncs.iot.model.v20180120.BatchQueryDeviceDetailResponse;
|
import com.aliyuncs.iot.model.v20180120.QueryDeviceDetailResponse;
|
import com.aliyuncs.iot.model.v20180120.RegisterDeviceResponse;
|
|
import java.util.List;
|
|
/**
|
* @author chenjiantian
|
* @date 2021/12/3 11:42
|
* 基础通信topic
|
*/
|
public interface IBaseTopic {
|
|
/**
|
* 注册设备
|
* https://help.aliyun.com/document_detail/69470.htm?spm=a2c4g.11186623.0.0.25b366d8EyOkmb#reference-pc2-kpz-wdb
|
* 注册设备指在物联网平台产品下添加设备。在指定产品下成功注册设备后,阿里云物联网平台为设备颁发全局唯一的设备ID(IotId),用来标识该设备。在进行与设备相关的操作时,您可能需要提供目标设备的IotId。
|
* 您也可以使用ProductKey和DeviceName组合来标识一个设备。其中ProductKey是新建产品时,物联网平台为产品颁发的ProductKey,DeviceName是注册设备时,由您指定或由系统随机生成的设备名称。IotId的优先级高于ProductKey和DeviceName组合。
|
* @param deviceName 设备名 如果不传入该参数,则由系统随机生成设备名称。
|
* @return 返回的结果
|
*/
|
RegisterDeviceResponse.Data registerDevice(String deviceName);
|
|
/**
|
* 删除设备
|
* @param deviceName 设备名
|
* @return 是否成功。
|
*/
|
boolean deleteDevice(String deviceName);
|
|
// /**
|
// * 查询设备属性快照
|
// * @param deviceName 设备名
|
// * @param lotId 要查询属性所属的设备ID或数字孪生节点ID:如果传入该参数,则无需传入ProductKey和DeviceName。IotId作为设备唯一标识符,和ProductKey与DeviceName组合是一一对应的关系。如果您同时传入IotId和ProductKey与DeviceName组合,则以IotId为准。
|
// */
|
// void queryDeviceProperty(String deviceName,String lotId);
|
|
/**
|
* https://help.aliyun.com/document_detail/69594.htm?spm=a2c4g.11186623.0.0.25b366d8EyOkmb#reference-rrg-lpz-wdb
|
* 调用该接口查询指定设备的详细信息。
|
* 单个阿里云账号调用该接口的每秒请求数(QPS)最大限制为50。
|
* @param deviceName 设备名
|
* @param lotId 要查询属性所属的设备ID或数字孪生节点ID:如果传入该参数,则无需传入ProductKey和DeviceName。IotId作为设备唯一标识符,和ProductKey与DeviceName组合是一一对应的关系。如果您同时传入IotId和ProductKey与DeviceName组合,则以IotId为准。
|
* @return 设备详情
|
*/
|
QueryDeviceDetailResponse.Data queryDeviceDetail(String deviceName, String lotId);
|
|
/**
|
* https://help.aliyun.com/document_detail/123470.htm?spm=a2c4g.11186623.0.0.25b366d8EyOkmb#doc-api-Iot-BatchQueryDeviceDetail
|
* 单次调用最多能查询100个设备。
|
* 只能批量查询当前阿里云账号下的设备详情。如果传入的设备信息中,有设备不属于当前账号,则直接返回失败结果。
|
* 若传入的设备信息中,包含不存在的设备,则只返回存在的设备详情。
|
* 单个阿里云账号调用该接口的每秒请求数(QPS)最大限制为5。
|
* @param deviceNames 设备名列表
|
* @return 设备详情列表
|
*/
|
List<BatchQueryDeviceDetailResponse.DataItem> batchQueryDeviceDetail(List<String> deviceNames);
|
|
/**
|
* 为指定设备设置标签。 单个阿里云账号调用该接口的每秒请求数(QPS)最大限制为50。
|
* Props的总大小不超过5 KB。单个设备的设备标签总数不超过100个。单次修改或新增的设备标签数不超过100个
|
* https://help.aliyun.com/document_detail/69618.htm?spm=a2c4g.11186623.0.0.25b366d8EyOkmb#reference-xd3-qrz-wdb
|
* @param deviceName 设备名
|
* @param props JSON格式{"color":"red","shape":"round"}
|
* @return 是否成功
|
*/
|
boolean saveDeviceProp(String deviceName,String props);
|
|
/**
|
* 查看同一产品下指定设备的运行状态。
|
* 该接口用于查看一个产品下多个设备的运行状态,单次最多可查询50个设备。
|
* 单个阿里云账号调用该接口的每秒请求数(QPS)最大限制为50。
|
* @param deviceNames 设备名列表
|
* @return 设备状态列表
|
*/
|
List<BatchGetDeviceStateResponse.DeviceStatus> batchGetDeviceState(List<String> deviceNames);
|
}
|