行业资讯
📅 2026/7/8 7:38:55
用.net core手撸的IoT 智能监控平台
第一章 系统概述IoT 智能监控平台面向工业物联网支持设备接入、实时遥测、历史查询、规则告警、ISA-95 工厂建模、可视化组态、趋势预测、看板设计及开放 API。第二章 系统架构2.1 系统架构图数据流简述设备 → MQTT/OPC →接入网关协议解析、鉴权、标准化标准化消息 →Kafka削峰、解耦、回放消费端并行写时序库规则引擎实时聚合SignalR推送元数据设备、点位、规则、图表→PostgreSQL前端通过 REST SignalR做实时监控通过时序 API 做历史查询2.2 技术架构图下图展示前端技术栈、YARP 网关、ASP.NET Core 8 微服务、Iot.Infrastructure 共享层及开源中间件的完整技术组成与依赖关系。后端 (.NET 8)模块推荐技术说明Web APIASP.NET Core 8 Minimal API / Controller统一网关 各微服务实时通信SignalR Redis Backplane多实例推送、订阅点位变化消息队列Apache Kafka首选或 RabbitMQ海量吞吐、可回放MQTT BrokerEMQX 集群百万连接、规则桥接 Kafka时序数据库TDengine 或 TimescaleDB海量写入 高效聚合查询关系库PostgreSQL 16设备/点位/用户/规则/图表元数据缓存Redis Cluster设备在线状态、最新值、规则上下文对象存储MinIO报表导出、固件、图表快照日志检索Elasticsearch Serilog告警日志、操作审计任务调度Hangfire 或 Quartz.NET定时报表、数据归档规则引擎NRules 自研 DSL或 Microsoft RulesEngine阈值、组合条件、联动ORMEF Core 8 Dapper时序热点查询元数据用 EF时序用原生 SQL认证IdentityServer / Keycloak JWTRBAC、多租户API 文档Swagger / OpenAPI前后端协作容器编排Kubernetes Docker水平扩展前端 (Vue 2)模块推荐技术说明框架Vue 2.7 Vue Router Vuex与你要求一致UIElement UI 2.x管理后台成熟方案实时microsoft/signalr订阅点位实时值图表ECharts 5 vue-echarts实时曲线、历史趋势、大屏看板设计器Grid Layout JSON Schema拖拽式图表/组件定义HTTPAxios 请求拦截Token、租户头表格vxe-table海量点位列表虚拟滚动构建Vue CLI / Webpack 5生产打包海量场景关键选型场景选型原因设备接入EMQX 边缘网关单集群百万连接规则直接转发 Kafka时序写入TDengine 超级表按设备/点位自动分表压缩比高聚合快实时推送SignalR Redis避免每个 API 实例维护全量 WebSocket规则计算Kafka Consumer 独立服务与写入解耦可单独扩容历史查询时序库 预聚合表原始 1s 数据 1min/1h 降采样2.3 微服务端口服务端口职责Gateway5000API 网关Device.Api5001设备/点位/规则Telemetry.Api5002遥测Analytics.Api5003分析Alert.Api5004告警/预测Dashboard.Api5005看板Visual.Api5006组态Admin.Api5008系统管理Realtime.Hub5010SignalR前端8080Web UI第三章 部署说明3.1 环境要求.NET 8 SDKNode.js 18PostgreSQL/TimescaleDBRedis/ValkeyKafkaDocker可选3.2 一键启动1. 安装依赖后双击 start-all.bat2. 自动启动 Docker 基础设施或本地 PG/Redis/Kafka3. 编译并启动全部微服务与前端、遥测模拟器4. 访问 http://localhost:8080网关 http://localhost:50003.3 一键停止运行 stop-all.bat 关闭全部服务。3.4 Docker 全量部署1. docker compose -f deploy/docker-compose/docker-compose.yml up -d2. 包含 TimescaleDB、Valkey、Kafka、全部 API 与前端容器3.5 验证运行 deploy/scripts/test-all-apis.ps1 进行 API 自动化验证。第四章 系统登录4.1 功能说明账号密码登录JWT 认证按角色加载动态菜单。4.2 操作步骤1. 访问 http://localhost:80802. 输入 admin / admin1233. 点击登录进入看板4.3 界面截图第五章 监控看板5.1 功能说明展示设备总数、在线设备、活跃告警、采集点位统计卡片以及 SignalR 实时遥测折线图。5.2 操作步骤登录后默认进入本页观察统计卡片数值实时曲线随模拟器上报自动刷新。5.3 界面截图监控看板主界面第六章 实时监控6.1 功能说明分页展示全部点位的设备名、点位名、编码、当前值、单位、质量码、更新时间支持手动刷新与 SignalR 实时推送。6.2 操作步骤菜单「实时监控」→ 查看表格点击「刷新」拉取最新值开启「SignalR实时」接收推送底部分页切换。6.3 界面截图实时监控列表第七章 设备管理7.1 功能说明设备列表支持搜索、分页可展开行查看下属点位支持新增/编辑/删除设备及绑定 ISA-95 工厂节点。7.2 操作步骤菜单「设备管理→设备列表」搜索框输入关键字回车「新增设备」填写表单展开行管理点位「点位管理」跳转专用页。7.3 界面截图设备列表新增设备对话框第八章 点位管理8.1 功能说明按设备筛选点位支持采集点位与计算点位公式 avg/max/min 等提供公式验证与分页。8.2 操作步骤菜单「点位管理」下拉选择设备「新增点位」配置类型与公式计算点位点击「验证公式」。8.3 界面截图点位管理第九章 历史查询9.1 功能说明多点位、时间范围、粒度原始/1m/1h/1d时序查询ECharts 折线图与表格支持 CSV 导出。9.2 操作步骤菜单「历史查询」选择点位与时间选粒度后点「查询」默认自动加载近24小时「导出CSV」下载。9.3 界面截图历史查询第十章 规则引擎10.1 功能说明阈值/表达式规则作用域为点位/设备/分组支持可视化条件、告警级别、持续时间及启停。10.2 操作步骤菜单「规则引擎」「新增规则」配置条件列表开关启停编辑或删除规则。10.3 界面截图规则列表新增规则第十一章 告警中心11.1 功能说明按全部/活跃/已确认/已解决 Tab 分页查看告警支持确认与解决。11.2 操作步骤菜单「告警中心」切换 Tab对活跃告警「确认」或「解决」。11.3 界面截图告警中心第十二章 物可视12.1 功能说明场景列表管理 2D/3D/地图组态设计器拖拽节点绑定点位全屏场景监控。12.2 操作步骤「场景列表」管理场景「设计」进入组态「监控」全屏运行。12.3 界面截图场景列表组态设计场景监控第十三章 趋势分析13.1 功能说明多点位趋势分析数据清洗与 Z-Score 异常点标注。13.2 操作步骤菜单「趋势分析」选点位与时间配置清洗后「分析」。13.3 界面截图趋势分析第十四章 预测分析14.1 功能说明SSA 时序预测可配置预测点数、训练窗口及清洗选项。14.2 操作步骤菜单「预测分析」选点位与参数「开始预测」等待完成。14.3 界面截图预测分析第十五章 看板设计15.1 功能说明拖拽式自定义看板绑定点位实时数据。15.2 操作步骤菜单「看板设计」选择看板拖入组件并绑定点位后保存。15.3 界面截图看板设计第十六章 开放 API16.1 功能说明管理对外 API 客户端生成 ApiKey/Secret配置权限与启停。16.2 操作步骤菜单「开放 API」「新增客户端」分页管理密钥。16.3 界面截图开放API管理第十七章 工厂建模17.1 功能说明ISA-95 树形模型节点 CRUD 及设备绑定。17.2 操作步骤菜单「工厂建模」维护树节点「绑定设备」挂接设备。17.3 界面截图工厂建模第十八章 用户管理18.1 功能说明用户增删改查、角色分配admin 不可删。18.2 操作步骤「用户管理」→ 新增/编辑用户底部分页浏览。18.3 界面截图用户管理第十九章 角色管理19.1 功能说明角色维护及菜单权限树勾选。19.2 操作步骤「角色管理」→ 编辑角色勾选菜单权限。19.3 界面截图角色管理第二十章 菜单管理20.1 功能说明动态菜单配置影响登录后侧边栏。20.2 操作步骤「菜单管理」→ 配置路径与排序分页管理。20.3 界面截图菜单管理第二十一章 日志查询21.1 功能说明服务/操作/API 日志筛选与分页查询。21.2 操作步骤「日志查询」→ 设筛选条件 →「查询」。21.3 界面截图日志查询附录 常见问题502 错误检查网关与各微服务是否启动重新运行 start-all.bat。历史查询无数据确认时间范围与遥测模拟器/Ingest Worker 正常运行。