eclipse ditto 学习笔记

📅 2026/7/5 3:01:13 👁️ 阅读次数 📝 编程学习
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:登录鉴权按钮