IoT 平台项目规划
1. 项目定位
平台以本司硬件设备的数字化交付和持续服务为起点,而不是单纯的技术练习。通过一个可运营的设备平台沉淀产品、物模型、设备身份、用户关系、控制链路和服务数据,逐步形成面向个人用户和企业客户的物联网能力底座。
2. 成功标准
- 本司设备能够在出厂后统一注册、鉴权、观测、绑定和控制。
- 用户可以在小程序内完成从绑定到日常控制的自助闭环。
- 运维能定位设备、链路、指令和告警问题,关键动作可审计。
- 新产品主要通过配置物模型接入,而不是复制整套业务代码。
- 开放客户设备和企业 SaaS 前具备可靠的租户隔离与 API 治理。
3. 分期规划
| 阶段 | 目标 | 核心交付 | 退出门槛 |
|---|---|---|---|
| MVP(当前) | 验证完整业务闭环 | 管理后台、Node.js API、原生微信小程序、自动验证 | AC-01~AC-10 关键场景通过 |
| 生产一期 | 承载本司设备 | PostgreSQL/TimescaleDB、Redis、EMQX、真实 ACK、监控告警、备份恢复 | 试点设备稳定运行 30 天,SLO 达标 |
| 二期 | 开放客户设备和应用 | 多租户、产品自助、接入规范/SDK、白标应用模板 | 租户隔离测试和开放 API 安全评审通过 |
| 三期 | 企业 SaaS 与履约 | 企业后台、设备组、工单/派单、Webhook、OEM/ERP OpenAPI | 首个企业客户验收并形成可复制方案 |
4. MVP 工作分解
4.1 管理后台
运营总览、产品列表/创建、设备列表/注册、用户与绑定关系、指令记录/下发、告警处置、管理员审计。后台适配桌面与移动浏览器。
4.2 后端
提供 HMAC 令牌认证、PBKDF2 密码校验、RBAC、产品/设备 API、设备遥测鉴权、用户绑定、设备归属校验、指令状态、告警和审计。MVP 采用原子替换的 JSON 文件持久化以免引入部署依赖。
4.3 用户小程序
提供微信登录适配入口、本地演示身份、设备总览、扫码/绑定码绑定、详情、属性展示、在线设备开关控制和个人中心。
5. 生产技术路线
设备 ──MQTT/TLS──> EMQX ──规则/桥接──> Kafka ──> 设备服务/规则引擎
│ │
└──HTTP/TCP 适配器─────────────────────┘
├─ PostgreSQL(业务/租户)
管理后台/小程序 ── HTTPS ──> API 网关 ──┼─ TimescaleDB(遥测)
├─ Redis(在线态/缓存/幂等)
└─ 对象存储(固件/导出/归档)
- EMQX 负责 MQTT 会话、鉴权、订阅和连接事件;不承载核心业务规则。
- Kafka 解耦高频设备消息与业务处理,消费者以
deviceId + messageId幂等。 - PostgreSQL 保存租户、用户、产品、设备、绑定和指令元数据;TimescaleDB 保存时序遥测。
- 控制服务经 Outbox 发布指令,设备 ACK 经消息链路回写状态,避免数据库和 Broker 双写不一致。
6. 项目节奏与责任
每两周一个迭代;产品负责人维护范围和验收条件,硬件负责人维护身份烧录/Topic/ACK 协议,后端负责人维护领域模型和消息可靠性,前端/小程序负责人维护交互与权限反馈,测试负责人维护自动化和真机矩阵,运维负责人维护环境、监控与恢复演练。
所有迭代必须满足:代码检查通过、API 回归通过、变更文档同步、敏感配置不入库、提供升级与回滚说明。
7. 当前交付入口
可运行工程位于 iot-platform-mvp;需求基线、API 契约和演进顺序分别见 交付记录/MODIFIED_FILE.md、11.API接口文档.md 和 12.迭代路线图.md。