三者分工一句话
- Neuron:南向连设备,把 Modbus、OPC UA、S7、MC 等工业协议统一转成 MQTT 上报,是“工业协议翻译官”
- EMQX:MQTT 消息 Broker,负责消息的接入、路由、分发,是“数据中转站”
- TDengine:时序数据库,负责海量点位的高压缩存储和快速查询,是“数据仓库”
三者是串联关系,不是竞争关系。
数据流向
PLC/仪表 → Neuron(采集/协议转换) → EMQX(MQTT转发) → Telegraf/程序(消费) → TDengine(存储) → Grafana(展示)
为什么不直接 Neuron 写库
Neuron 也支持直接写部分数据库,但生产环境更推荐中间加 EMQX:
- 解耦:Neuron 只负责稳定采集,不因入库慢而阻塞
- 多消费端:入库、实时报警、转发第三方平台可以同时订阅同一份数据
- 缓冲:消费端短暂宕机时,消息通道仍在,恢复后可补齐
最小部署步骤(Linux)
- 部署 Neuron,在 Web 界面添加南向设备和点位,配置北向 MQTT 指向 EMQX
- 部署 EMQX,开启 MQTT 监听(默认 1883),按需建账号和主题规范
- 部署 TDengine,建库建表,规划保留天数
- 用 Telegraf 订阅 EMQX 主题,通过 TDengine 输出插件写入
- Grafana 配 TDengine 数据源,验证数据实时上来
主题(Topic)设计建议
主题要能一眼看出数据归属,例如:
factory/line1/press01/temperature
factory/line1/press01/status
按“厂区/产线/设备/点位”分层,既方便订阅整台设备,也方便按层级聚合。
国产化与资源考量
这套组合开源、自主可控程度高,适合信创场景。资源占用上:
- 纯采集的边缘盒子跑 Neuron + Mosquitto(EMQX 轻量替代)即可
- EMQX、TDengine 放在服务器侧,2 核 4G 可支撑中小规模
- 设备规模上千、需要集群时再用 EMQX 集群和 TDengine 高可用方案
先用最小部署在一条产线验证,再逐步推广,是风险最低的落地路径。