You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于MindSphere创建资产及数据读写相关技术咨询

关于MindSphere带Aspects的资产创建与读写的解答

1. 可运行的Java SDK代码示例(创建带Aspects的资产)

当然有!下面是基于MindSphere Java SDK的可运行代码示例,包含资产创建、Aspects关联,以及基础的读写操作逻辑,附带必要的依赖配置:

首先,在你的pom.xml中添加MindSphere SDK依赖(请匹配你的环境版本):

<dependency>
    <groupId>com.siemens.mindsphere.sdk</groupId>
    <artifactId>assetmanagement</artifactId>
    <version>4.0.0</version>
</dependency>

核心代码如下:

import com.siemens.mindsphere.sdk.assetmanagement.client.AssetManagementClient;
import com.siemens.mindsphere.sdk.assetmanagement.model.*;
import com.siemens.mindsphere.sdk.core.exception.MindSphereException;
import com.siemens.mindsphere.sdk.core.model.MindsphereCredentials;

public class CreateAssetWithAspects {
    public static void main(String[] args) {
        // 初始化MindSphere凭证(替换为你的实际信息)
        MindsphereCredentials credentials = MindsphereCredentials.builder()
                .clientId("YOUR_CLIENT_ID")
                .clientSecret("YOUR_CLIENT_SECRET")
                .tenant("YOUR_TENANT_ID")
                .gatewayHost("https://gateway.eu1.mindsphere.io") // 根据你的区域调整
                .build();

        // 构建Asset Management客户端
        AssetManagementClient client = AssetManagementClient.builder()
                .mindsphereCredentials(credentials)
                .build();

        try {
            // 1. 构建资产基础信息
            AssetCreate assetCreate = AssetCreate.builder()
                    .assetId("smart-sensor-001") // 自定义唯一资产ID
                    .name("WarehouseTemperatureSensor")
                    .description("Temperature monitoring sensor for warehouse zone A")
                    .typeId("core.mindsphere.asset") // 使用默认资产类型,或自定义类型ID
                    .build();

            // 2. 构建要关联的Aspect(示例为温度监测Aspect)
            AspectCreate tempAspect = AspectCreate.builder()
                    .aspectId("WarehouseTempAspect")
                    .name("Temperature Tracking")
                    .description("Captures real-time temperature and humidity data")
                    .typeId("com.siemens.sensor.temp-humidity.v1") // 替换为你的Aspect类型ID
                    .build();

            // 3. 将Aspect绑定到资产创建请求
            assetCreate.aspects(java.util.List.of(tempAspect));

            // 4. 调用API创建资产
            Asset createdAsset = client.createAsset(CreateAssetRequest.builder().asset(assetCreate).build());
            System.out.println("Asset created successfully! ID: " + createdAsset.getAssetId());

            // --- 写入Aspect数据示例 ---
            TimeSeriesDataPoint dataPoint = TimeSeriesDataPoint.builder()
                    .timestamp(java.time.OffsetDateTime.now())
                    .fields(java.util.Map.of("temperature", 24.3, "humidity", 62.1)) // 匹配Aspect字段
                    .build();

            client.addTimeSeriesData(AddTimeSeriesDataRequest.builder()
                    .assetId(createdAsset.getAssetId())
                    .aspectId(tempAspect.getAspectId())
                    .dataPoints(java.util.List.of(dataPoint))
                    .build());
            System.out.println("Aspect data written successfully!");

            // --- 读取Aspect数据示例 ---
            TimeSeriesDataResponse dataResponse = client.getTimeSeriesData(GetTimeSeriesDataRequest.builder()
                    .assetId(createdAsset.getAssetId())
                    .aspectId(tempAspect.getAspectId())
                    .from(java.time.OffsetDateTime.now().minusMinutes(10))
                    .to(java.time.OffsetDateTime.now())
                    .build());
            System.out.println("Fetched Aspect data: " + dataResponse.getItems());

        } catch (MindSphereException e) {
            System.err.println("Operation failed: " + e.getMessage());
            e.printStackTrace();
        }
    }
}

注意:替换代码中YOUR_CLIENT_ID、YOUR_CLIENT_SECRET等占位符为你的实际凭证,Aspect类型ID需要提前在MindSphere中定义(或使用系统内置类型)。

2. 通过Web-GUI创建带Aspects的资产

完全可以通过MindSphere的Web界面创建资产,步骤很直观:

  • 登录你的MindSphere租户,打开Asset Manager应用(看不到的话说明账号无权限,需联系租户管理员)
  • 左侧菜单点击Assets,右上角点击Create Asset按钮
  • 在创建表单中填写资产ID、名称、描述,选择资产类型(默认core.mindsphere.asset即可)
  • 切换到Aspects标签页,点击Add Aspect,选择已有的Aspect类型(或创建新类型),填写Aspect的ID和名称
  • 点击Create完成资产创建
  • 后续读写Aspect数据,可在资产详情页的Time Series标签页手动查询/录入,或通过集成设备自动同步数据

3. 所需的账号类型

要创建资产,你的账号需要具备以下权限之一:

  • 拥有**Asset Administrator(资产管理员)**角色:这是租户级角色,允许管理所有资产和Aspect
  • 拥有自定义角色,且该角色被分配了assetmanagement.Assets.Create、assetmanagement.Aspects.Create等核心权限

普通用户账号默认无此权限,需联系租户管理员为你配置对应角色或权限。

内容的提问来源于stack exchange,提问作者user3579222

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 10:02:53