YwxApp Addon · IoT v1.0

自研 MQTT Broker 物联网平台插件

设备接入 · 实时监测 · 告警通知 · 场景联动 · 固件 OTA · 共享协作 —— 一套 PHP 常驻进程全搞定,无需 EMQX / Mosquitto 外部中间件。

Broker 在线连接
0
接入设备
2
累计消息
2894
时序数据点
10728
运行时长
122:03:33
快照刷新于 2026-09-21 11:47

01核心能力

八大能力域覆盖设备全生命周期,从出厂激活到固件升级。

🔌

自研 MQTT Broker

纯 PHP 常驻进程实现 MQTT 3.1.1 协议服务端,QoS0/1/2、保留消息、遗嘱、会话恢复全支持。当前累计转发 2894 条消息,保留消息 19 条。

📱

设备接入三步走

出厂预置激活令牌 → 首次联网一次性换领一机一密凭证 → App 扫码 SN + 配对码绑定认领。激活即换发凭证,杜绝裸设备上线。

🌡️

多路传感器监测

每设备 3 路总线 × 3 探头(DS18B20 OneWire),位置级温度/温差上报告警。当前已落库 10728 个时序点。

📈

历史曲线双接口

原始稀疏点(每条带有效期,App 前向填充)+ 分钟级聚合(时间加权平均,step/window 可控:最近 30/60 分钟每分钟一点)。

🔔

云端复核告警

设备端位图初判 + 云端 capture() 复核落库,防误报防刷屏(窗口抑制)。未读角标 / 已读回执 / App 推送一路打通。

场景联动 + 分组

温度越限 → 下发命令 → 设备执行,全链路 < 秒级。设备分组批量控制,当前 0 个场景在跑。

🤝

共享权限模型

主人 / 可控制(perm=2)/ 只读(perm=1)三级权限,HTTP API 与 Broker ACL 双层校验。当前有效共享 0 条。

🚀

固件 OTA 远程升级

版本管理 + 分批推送 + 进度跟踪,断电续传由固件侧分片请求保障。无需拆机刷写。

02架构优势

不是"又一个 MQTT 接入",每一个设计点都对应一次真实踩坑的教训。

1

零外部中间件依赖

Broker 内嵌于插件(php think iot start -d),单机即可跑通,Windows 调试 / Linux 生产同构,运维成本≈0。

2

稀疏点存储,带宽与体积双赢

温变才上报(10s~120s 一条),每条带 iv 有效期,不做服务端插值放大。500 点曲线 ≈ 一张缩略图的体积。

3

配置版本对齐机制

服务端 cfg_ver ↔ 设备 sync_ver 回执对齐,retained 下发 + 断线重连自动补推,配置永不漂移、永不丢。

4

离线可用的配置中心

设备配置真源在云端(后台编辑 → retained 下发 → App 共用同一份),设备离线也能读能存,上线即生效。

5

安全三道闸

设备侧 uuid/secret 一机一密 · 会员侧 mqttTicket 短时票据 · Broker ACL 按身份收敛订阅/发布范围,越权即断连。

6

API 按域分组,一眼可辨

client/ 设备管理 · monitor/ 监测 · scene/ 场景 · ota/ 升级 · mqtt/ Broker,旧路径兼容别名平滑迁移。

03数据链路

固件 → Broker → 落库 → App,全程秒级。

固件 (ESP32-C3)
3 路 OneWire 总线
温变触发上报
MQTT Broker
鉴权 / ACL / QoS1
retained 配置下发
落库 + 告警复核
iot_sensor_point
capture() 防误报
场景引擎
规则匹配 → 命令
outbox 可靠投递
App
实时推送 / 曲线
分钟级聚合查询
下行(配置/命令/OTA)统一走 outbox 队列可靠投递,设备 ack 回执闭环;App 侧「读写一律 HTTP API,MQTT 连接只订不发」。

04开放能力

App 端 HTTP 接口按功能域划分、全部经会员鉴权;接口规模由路由表实时统计,能力扩张页面自动更新。

📡

Broker 运维

2 个接口 · 运行状态、指标快照与消息直发

🔑

设备入云激活

1 个接口 · 出厂预置令牌换领一机一密凭证

📱

设备与会员

13 个接口 · 绑定认领、共享授权、短时票据与命令下发

📈

实时监测

9 个接口 · 历史曲线、分钟级聚合、告警与设备日志

场景联动

13 个接口 · 规则引擎、设备分组与批量控制

🚀

固件升级

2 个接口 · 升级包管理与分批推送进度跟踪

05消息通道设计

命名空间隔离 + 身份裁决,连接层即安全边界——不依赖主题名保密。

🔒

设备私有命名空间

每台设备独占自己的主题空间,发布 / 订阅权限由 Broker ACL 按归属实时裁决,越权订阅直接拒绝。

📮

会员通知通道

告警 / 共享 / 系统通知按账号隔离实时推送;App 连接「只订不发」,读写一律走鉴权 HTTP API。

💾

retained 设备影子

状态与配置以保留消息存储于 Broker,设备离线可查最后状态,上线即自动对齐配置版本。

回执闭环

下行命令 / 配置经队列可靠投递,设备 ack 回执对齐版本号,未达即重发自愈。

06快速开始

从零到设备上线,三步。

启动 Broker

命令行执行 php think iot start -d,常驻进程开始监听 MQTT 端口并每 2 秒写入运行快照。

登记设备

后台「设备管理」预登记 SN 与激活令牌 → 设备首次联网完成入云激活,一次性领取设备凭证。

App 绑定监测

App 扫码 SN + 输入配对码绑定 → 配置传感器位置阈值 → 曲线 / 告警 / 场景联动全部就绪。