1、当前各行业物联网设备存在 “类型杂、协议散、数据断” 的痛点,工业 PLC、环境传感器等设备协议不统一,分散管理导致运维低效,数据孤岛难以释放业务价值。本物联网平台立项旨在打通多协议设备接入通道,实现设备全生命周期管理、数据实时分析与智能决策,助力企业降低运维成本,支撑智能运维、产能优化等业务场景落地。
2、多协议设备接入模块:支持 MQTT/CoAP/Modbus 等主流协议,兼容工业设备、环境传感器、消费级智能终端等多类型设备;
数据管理模块:实时采集设备状态、传感数据,依托时序数据库实现高并发数据存储,同时支持历史数据回溯与批量导出;
规则引擎与告警模块:支持自定义数据阈值(如设备温度超标、电量低),触发后自动推送邮件 / 短信告警,配套告警工单流转功能;
可视化分析模块:提供设备在线率、数据趋势、区域分布等多维度看板。
3、设备端通过对应协议(如传感器用 MQTT)发起接入请求→平台完成鉴权与设备注册,自动解析协议并建立通信链路→实时采集设备数据并写入时序数据库→用户通过可视化看板查看设备实时状态 / 历史数据→若数据触发预设规则,平台自动生成告警并推送至指定联系人→用户通过平台远程下发控制指令(如调整设备参数),指令经平台转发至设备端执行,执行结果同步反馈至看板
1、整体架构和设计思路,不同模块使用的技术栈
本物联网平台采用 “分层分布式” 架构设计,核心思路是解耦设备接入、数据处理与业务应用,保障高可用与可扩展性:
感知层:对接各类物联网设备(传感器、PLC 等),无额外技术栈,依赖设备原生协议;
接入层:采用 EMQX(MQTT 消息 broker)+ Netty 自定义协议适配,支持多协议(MQTT/Modbus/CoAP 等)设备接入;
平台层:基于 Spring Boot 微服务架构拆分模块:
设备管理模块:Spring Cloud + MySQL,实现设备注册 / 鉴权 / 状态管理;
数据处理模块:Flink 做实时数据清洗,InfluxDB 存储时序数据、Redis 缓存设备状态;
规则引擎模块:Drools 实现自定义规则配置;
应用层:Vue3 + ECharts 搭建可视化看板,同时提供 Restful API 供第三方系统调用。
2、2、“我” 的负责模块和结果(尽可能量化)
我主要负责设备多协议接入模块与规则引擎告警模块的开发:
设备接入模块:完成 8 种主流物联网协议的适配封装,实现设备接入流程的自动化配置,使单节点支持 10 万 + 设备并发连接,相比初期方案(仅支持 2 种协议),设备接入效率提升 60%;
规则引擎模块:设计可视化规则配置界面,实现告警规则的 “零代码” 自定义,将告警触发响应时间从 200ms 压缩至 50ms 以内,告警事件的准确率提升至 98%(此前人工配置规则准确率仅 85%)。
3、“我” 遇到的难点、坑,和解决方案
难点 1:多协议设备的协议格式不统一,不同厂商设备的同类型数据(如温度)字段命名 / 格式差异大,导致数据解析混乱
解决方案:设计通用协议适配中间件,封装各协议的解析逻辑,将异构数据统一转换为平台标准 JSON 格式,同时提供协议模板自定义功能,适配新增设备的效率提升 70%;
难点 2:高并发场景下(设备峰值上报 1 万条 / 秒),消息队列出现积压,导致数据延迟超过 3 秒
解决方案:引入 Kafka 做消息缓冲,配合动态线程池(根据消息堆积量自动调整消费线程数),同时优化 InfluxDB 写入策略(批量写入 + 异步提交),最终将数据延迟控制在 200ms 以内