ARTIFACT / TWINSIA
Twinsia
ACTIVE SYSTEM小型 IoT 数字孪生系统。
把 Zigbee 传感器与智能床垫统一接入,管理状态与历史,经 REST+WebSocket 提供给 2D 看板与 3D 孪生场景;当前主线为跨场景通用人侧地基(CareRelation / CareEvent / Notification)。
◈ System Profile ◈
◈ Overview ◈
定位 Positioning
Twinsia 是小型 IoT 数字孪生系统,面向居家 / 养老院 / 病房的健康监测:把 Zigbee 传感器与智能床垫统一接入,管理当前状态与历史,并经 REST 快照 + WebSocket 增量提供给上层 2D 看板与 3D 孪生场景。技术栈由路线图文档固定;内置模拟器,无需真机即可跑通全链。当前阶段一只读——不对设备下发指令,告警 / 派生能力 / 分析属监测侧。
能力 Capabilities
- 统一接入:MQTT(Zigbee2MQTT)+ TCP(智能床垫)+ 模拟器;每个适配器产出
NormalizedMessage。 - 状态与历史:
device_states(设备×能力唯一)与telemetry(按能力persistHistory开关)。 - 实时:WebSocket 增量(
state.updated/device.availability/ 告警)+ REST 快照。 - 展示:Mantine + ECharts 2D 看板;数据驱动 React Three Fiber 3D 场景(门开合 / 床占用 / 存在脉冲),内置场景编辑器与设备绑定。
- 接入层抽象:新协议 = 实现
ProtocolDecoder/PayloadNormalizer/CapabilityDeriver三接口 + 探针表注册。
技术栈 Tech Stack
| 层 | 技术 |
|---|---|
| 运行时 / 工具链 | Bun + TypeScript,Bun workspaces |
| 后端 | Elysia(REST+WS)· MQTT.js · Drizzle ORM + PostgreSQL |
| 前端 | React 19 + Vite · Mantine 9 · TanStack Query · Zustand · ECharts |
| 3D | React Three Fiber + Drei |
| 床垫 TCP | Bun.listen() + HT msgpack(0xABCD + CRC8)帧协议 |
| 基础设施 | Docker Compose(postgres / mosquitto / zigbee2mqtt / app) |
近期重点 Roadmap
先做跨场景通用人侧地基(不删除已实现功能,冻结 = 停止新增),具象功能作其消费方:
- P0:
CareRelation(照护关系)/CareEvent(事件存储)/Notification(通知接口)。 - P1:呼叫一等事件、班次交接区、人员健康档案、告警详情上下文、睡眠/健康报告、虚拟人落位、床垫浮窗、大屏联动。
- P2(按需):Zigbee 真机标定、区域级权限 + WS 过滤、移动端推送、报告模板化。
- 不做:系统→设备反向控制、多租户 / SSO、临床诊断 / 评分算法、分布式 / 时序引擎替代 / 消息总线。