智慧水务 系统架构
分段承包 · V3.1 协议 · 多租户 SaaS · 端到端闭环
EMS 生产管理
承接设备生产全链路:批次 · 登记 · 质检 · 出库 · 退货。对接 EMQX 与 SWIM,提供 IMEI 预登记与生命周期管理。
SWIM 水司 SaaS
一水司一实例(独立数据库 · 独立 MQTT prefix · 独立 APK 版本),JWT 自管,ACL 双层隔离。
Android 客户端
SWIM APK 按水司定制构建,7 项 Gradle property 注入(baseUrl / companyCode / appVersion / keystore 四要素),SHA256 严格校验。
BLE 通信栈
V3.1 协议 · CMD=0/1/2/3/4/5/7/8/9 · 设备防重放 · GATT 契约字节序锁定 · systemd / NSSM 双载体。
EMQX 消息中枢
PostgreSQL 直连鉴权 · ACL 两级隔离(批次级 + 设备级)· 退货回调 Webhook 扩展。
CI/CD 流水线
Gitee Go workflow_dispatch 支持 matrix 多水司并发构建 · APK SHA256 回填 · 灰度分桶 IMEI hash 路由。
总体架构图
📚 分段承包与版本节奏
- EMS-1 ~ EMS-7:生产管理 · IMEI 预登记 · 退货 · SaaS 部署 · APK 流水线 · SHA256 核对
- SWIM SW-1 ~ SW-5:水司实例 · MQTT prefix · JWT 自管 · deploy.sh
- Android AND-1 ~ AND-N:骨架屏 · Gradle 注入 · BLE 客户端 · 升级检测
- BLE A1 ~ A3:systemd / NSSM / 混合兼容部署