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

相关推荐
qq_589666053 小时前
TypeScript 完整入门教程
前端·javascript·typescript
北龙云海4 小时前
案例分享 | 面向公网业务系统境内访问白名单配置实操方案
运维·网络·安全·网络安全·告警·数据泄露·入侵攻击
FoldWinCard4 小时前
D5 Linux 网络及端口命令
linux·运维·服务器
星栈独行4 小时前
翻完 Pi 源码:它和 Codex、Claude Code 有何不同
开发语言·javascript·人工智能·程序人生
qq_448011165 小时前
C语言中的变量和函数的定义与声明
android·c语言·开发语言
kirs_ur5 小时前
SSD 在 AI 训练中的角色
大数据·服务器·人工智能
落落Plus5 小时前
浏览器缓存机制详解
javascript·缓存·浏览器缓存
tedcloud1235 小时前
OmniRoute怎么部署?开源AI模型路由平台Linux部署教程
linux·服务器·人工智能·开源·音视频
霸道流氓气质6 小时前
KMS 密钥管理服务(Key Management Service)原理与实践
linux·服务器·数据库
kirs_ur6 小时前
CXL(Compute Express Link)— 内存扩展的未来
服务器·数据库·性能优化