eclipse ditto 学习笔记

一、主要内容

本文主要记录eclipse ditto的学习笔记,内容会随时更新。官网学习模板如下:

数字孪生解析 • Eclipse 同理™ • 数字孪生框架

二、创建物设备

Properties与Desired Properties的区别

字段 比喻 谁产生数据 代表含义
Properties 员工当前正在做什么 现场设备 PLC 设备真实现状
Desired Properties 领导下发的工作指令 前端 / 平台系统 设备需要达到的目标

完整控制闭环流程(阀门案例)

  1. 前端点击 3D 模型阀门,下发指令:期望阀门打开 → Ditto 写入 features.actuator.desiredProperties.valveOpen = true
  2. Ditto 通过 EMQX 把期望指令发给 PLC
  3. PLC 收到指令,执行开阀动作
  4. PLC 上报硬件真实状态:阀门已打开 → Ditto 更新 features.actuator.properties.valveOpen = true
  5. 前端对比两者:desired 和 properties 一致 → 控制执行成功

简单物模型如下:

复制代码
{
  "thingId": "com.example:warehouse-sensor-1",
  "attributes": {
    "location": "Warehouse B, Shelf 3"
  },
  "features": {
    "temperature": {
      "properties": {
        "value": 22.5,
        "unit": "Celsius"
      }
    }
  }
}

三、运行环境解释

(1)Environments = 运行环境切换器 下拉列表 4 个选项:

  1. local_ditto_ide:本地开发 IDE 环境(你当前正在使用)
  2. local_ditto:纯净本地单机环境
  3. ditto_sandbox:官方在线沙箱测试环境(云端演示,不用本地装 Docker)
  4. oidc_example:OIDC 统一身份认证演示环境(企业 SSO 登录专用)

(2)四个环境分别是什么场景

① local_ditto_ide(你当前选中)

本地开发调试环境,Docker Compose 完整启动全套 Ditto 服务,带 Explorer 可视化面板,日常写代码、调试 MQTT、对接 Three.js 前端都用这个。

② local_ditto

极简本地单机环境,去掉多余调试组件,轻量化部署,仅保留核心孪生服务。

③ ditto_sandbox

Eclipse 官方云端沙箱,网页直接在线体验 Ditto,不用本地安装 Docker,适合新手快速上手测试语法、API。

④ oidc_example

企业级权限演示环境,集成 OIDC 单点登录,替换默认ditto/ditto基础账号,适配公司内部登录系统,工厂多角色管理员场景使用。

四、界面解释

顶部导航栏

  1. Things:数字孪生设备列表(当前页面)
  2. Policies:权限策略管理(控制谁能读写设备)
  3. Connections:MQTT/HTTP 设备连接桥(对接 EMQX/PLC 硬件核心页面)
  4. Operations:后台任务、批量操作日志
  5. Environments :多环境隔离(你当前:local_ditto_ide 本地开发环境) 右上角 Authorize:登录鉴权按钮

五、其它

Thing ID 命名规则:<namespace>:<name>

Policies :每个事物都通过其 链接到一个策略。Policies 定义了哪种情况 经过认证的主体可以读取和写写该物品------细分到个体属性和特征 属性。

Definition:一个事物可以包含一个,将其链接到描述其能力的模型。该 定义可以是:definition

相关推荐
2601_962071573 小时前
【Java报错已解决】org.springframework.beans.factory.BeanCreationException
java·开发语言
志栋智能3 小时前
超自动化运维如何支持合规审计?
运维·自动化
小诗懂技术3 小时前
【网络通信UDP】基础 进程间不同主机的通信
运维·服务器·网络
weixin_440730503 小时前
selenium实战记录-从登陆-首页-进入应用流程用例三种参数化+日志+报告
服务器·selenium·测试工具
名字还没想好☜3 小时前
Docker 容器安全加固实战:非 root、只读根文件系统、drop capabilities 与最小攻击面
运维·安全·docker·容器·kubernetes
香芋芋圆3 小时前
AI 冲击内卷之下,普通前端如何破局?WebGIS—— 低门槛突围赛道
前端·javascript·人工智能·学习·职场发展
鹤落晴春4 小时前
有状态应用 vs 无状态应用
运维·云原生·k8s
Hstar_chen4 小时前
开源一款 HarmonyOS 服务器监控客户端:星辰云巡 1.0.3
服务器·华为·harmonyos
INS_KF4 小时前
【编程笔记】成员函数中两个 const 的区别(const Data &getData() const;)
前端·javascript·笔记
淡海水4 小时前
07-04-并发-ConcurrentBag-T-工作窃取WorkStealing算法
开发语言·算法·c#·bag·concurrent·workstealing