eclipse ditto 学习笔记
一、主要内容
本文主要记录eclipse ditto的学习笔记,内容会随时更新。官网学习模板如下:
数字孪生解析 • Eclipse 同理™ • 数字孪生框架
二、创建物设备
Properties与Desired Properties的区别
| 字段 | 比喻 | 谁产生数据 | 代表含义 |
|---|---|---|---|
| Properties | 员工当前正在做什么 | 现场设备 PLC | 设备真实现状 |
| Desired Properties | 领导下发的工作指令 | 前端 / 平台系统 | 设备需要达到的目标 |
完整控制闭环流程(阀门案例)
- 前端点击 3D 模型阀门,下发指令:期望阀门打开 → Ditto 写入
features.actuator.desiredProperties.valveOpen = true - Ditto 通过 EMQX 把期望指令发给 PLC
- PLC 收到指令,执行开阀动作
- PLC 上报硬件真实状态:阀门已打开 → Ditto 更新
features.actuator.properties.valveOpen = true - 前端对比两者: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 个选项:
local_ditto_ide:本地开发 IDE 环境(你当前正在使用)local_ditto:纯净本地单机环境ditto_sandbox:官方在线沙箱测试环境(云端演示,不用本地装 Docker)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基础账号,适配公司内部登录系统,工厂多角色管理员场景使用。
四、界面解释
顶部导航栏
- Things:数字孪生设备列表(当前页面)
- Policies:权限策略管理(控制谁能读写设备)
- Connections:MQTT/HTTP 设备连接桥(对接 EMQX/PLC 硬件核心页面)
- Operations:后台任务、批量操作日志
- Environments:多环境隔离(你当前:
local_ditto_ide本地开发环境) 右上角Authorize:登录鉴权按钮