docs(M06-A): 记录MQTT基础验收并推进设备资产

This commit is contained in:
Codex
2026-06-22 17:27:24 +08:00
parent c140613718
commit 07790a7924
11 changed files with 113 additions and 28 deletions
+22 -8
View File
@@ -3,18 +3,33 @@
| 项目 | 当前值 |
|---|---|
| Broker 主机 | 101.42.38.246 |
| Broker 软件 | EMQX 5.x,待安装/验证 |
| Broker 软件 | EMQX 5.x(最低 5.3),待生产安装/验证 |
| 安装方式 | Ubuntu Apt 原生安装,禁止 Docker |
| 安装说明 | `deploy/emqx/install-ubuntu24-amd64.md` |
| MQTTX | 服务器不安装,Windows 可使用 |
| 命令行工具 | mosquitto-clients 可选 |
| 匿名连接 | 待验证关闭 |
| ACL | 已生成 `deploy/emqx/acl.conf.template`,生产未应用 |
| ACL | 已按三个厂商 Topic 固定 `deploy/emqx/acl.conf.template`,生产未应用 |
| 授权配置 | 已生成 `deploy/emqx/authorization.hocon.template`,生产未应用 |
| 1883 | 菜单第 3 项/`setup.sh --mqtt` 可检查,生产未验证 |
| 18083 | 菜单第 3 项/`setup.sh --mqtt` 可检查;必须限制访问,生产未验证 |
| 备份 | 待生成 |
| 恢复 | 待生成 |
| 备份 | 菜单 6 已检查 EMQX 导出能力与备份目录;生产导出演练待执行 |
| 恢复 | `deploy/backup/backup-restore-runbook.md` 已有入口;生产恢复演练待执行 |
## 菜单 3 行为
- 先检查 Ubuntu 架构、EMQX 包、systemd、自启、1883/18083、ACL 模板和服务器是否误装 MQTTX。
- 未安装时可由管理员输入 `I`,已安装时可输入 `U`;脚本使用 EMQX 官方 Apt 安装脚本并执行 `apt-get install -y emqx`
- Codex 不远程执行生产安装。账号、密码及认证数据只从 `/etc/qipai/qipai.secrets` 建立,脚本和日志不打印凭据。
## 后端 MQTT 基础
- MQTT.js `5.15.1`,协议固定 MQTT 3.1`protocolVersion: 3`)。
- QoS 1;订阅 `/devicesend/+``/devicewill/+`,发布 `/deviceaccept/{DeviceID}`
- 持久会话、3 秒自动重连、每次连接后显式恢复订阅。
- 默认消息上限 65536 字节,超限上行拒绝进入业务处理,超限下行不发布。
- `/app-api/ready``/admin-api/ready` 分别返回 MQTT 是否配置、是否连接、订阅是否恢复。
- 生产环境缺少 MQTT 账号或密码时拒绝启动;真实值只写 `/etc/qipai/qipai.secrets`
## WSL 本地开发 Broker
@@ -29,8 +44,7 @@
| 认证/ACL 冒烟入口 | `scripts/dev/wsl/mqtt-smoke.sh`,本地账号文件 `scripts/dev/wsl/mqtt-smoke.env` 不入库 |
| 验收边界 | 未配置本地 MQTT 账号前,认证、ACL、TLS、遗嘱消息、重复消息幂等和真实硬件联调未完成 |
## 当前 M00 结论
## 当前 M06-A 结论
- 已提供 EMQX Ubuntu 24.04 amd64 原生安装说明、ACL 模板和授权模板
- 菜单第 3 项已扩展为检查 EMQX 命令、systemd 服务、1883/18083 端口和模板文件
- 未在生产 Ubuntu 安装 EMQX,未创建真实设备账号,未执行真实 MQTT 发布/订阅。
- 已提供可选择安装/更新的 Ubuntu 24.04 amd64 菜单、正式 Topic ACL、后端连接生命周期和可复现单元测试
- 未在生产 Ubuntu 安装 EMQX,未创建真实设备账号,未执行生产发布/订阅,因此 IOT-001 保持 `PARTIAL/BLOCKED_EXTERNAL`