← Return to Artifact Archive

ARTIFACT / TWINSIA

Twinsia

ACTIVE SYSTEM

小型 IoT 数字孪生系统。

把 Zigbee 传感器与智能床垫统一接入,管理状态与历史,经 REST+WebSocket 提供给 2D 看板与 3D 孪生场景;当前主线为跨场景通用人侧地基(CareRelation / CareEvent / Notification)。

BunTypeScriptElysiaPostgreSQLReact 19ViteMQTTIoTDigital Twin
ARCHIVE ID
twinsia
LAST UPDATED
2026-08-28
STATUS
ACTIVE SYSTEM

定位 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
3DReact Three Fiber + Drei
床垫 TCPBun.listen() + HT msgpack(0xABCD + CRC8)帧协议
基础设施Docker Compose(postgres / mosquitto / zigbee2mqtt / app)

近期重点 Roadmap

先做跨场景通用人侧地基(不删除已实现功能,冻结 = 停止新增),具象功能作其消费方:

  • P0CareRelation(照护关系)/ CareEvent(事件存储)/ Notification(通知接口)。
  • P1:呼叫一等事件、班次交接区、人员健康档案、告警详情上下文、睡眠/健康报告、虚拟人落位、床垫浮窗、大屏联动。
  • P2(按需):Zigbee 真机标定、区域级权限 + WS 过滤、移动端推送、报告模板化。
  • 不做:系统→设备反向控制、多租户 / SSO、临床诊断 / 评分算法、分布式 / 时序引擎替代 / 消息总线。