这套教程讲的不是“若依怎么用”,而是怎么用若依把一套能碳管理系统真正落地:从业务边界、总体架构、技术选型,到现场仪表怎么接线、数据怎么采上来,再到若依里的模块、数据库、采集服务和部署验收。
它面向会写 Java、但没做过工业物联网项目的开发者。硬件部分从零讲起,不需要电气背景,但也不会只停留在“买个电表”这种程度——读完你应该能和电工、仪表厂商、施工队正常对话,并能自己写出可施工的点位表。
你会得到什么
- 一套能落地的总体设计:功能架构、数据流、部署架构、与若依模块的对应关系。
- 一份明确的技术栈:后端、前端、数据库、时序库、消息队列、物联网接入、部署运维,以及每个选择的理由和替代方案。
- 一份零基础也能看懂的硬件指南:电表与互感器接线、水气汽计量、RS-485 与 Modbus、网关与 DTU、点位表、施工调试和故障排查。
- 一条可执行的实现路径:若依工程改造、核心表结构、采集服务代码、碳核算服务、前端页面和上线检查清单。
读者与前置知识
| 你需要会 | 程度 |
|---|---|
| Java / Spring Boot | 能独立写 Controller、Service、Mapper |
| Vue | 能看懂并修改页面、调用接口 |
| MySQL | 会建表、写联表查询 |
| Linux | 会看日志、改配置、用 Docker |
| 硬件 / 电气 | 不需要,教程从零讲 |
| 碳核算 | 不需要,教程给出方法和公式 |
系统全貌
先建立一张总图。后面所有章节,都是在这张图上展开。
┌──────────────────────────────────────────────────────────────────────┐
│ 展示层(Vue 3 + ECharts) │
│ 驾驶舱 · 能源监控 · 能耗分析 · 碳核算 · 报表 · 报警 · 系统管理 │
└───────────────────────────────┬──────────────────────────────────────┘
│ HTTPS / WebSocket
┌───────────────────────────────▼──────────────────────────────────────┐
│ 应用层(RuoYi + Spring Boot) │
│ 权限 · 组织 · 计量点 · 设备 · 统计 · 碳核算 · 报警 · 报表 · 定时任务 │
└───────────────┬───────────────────────────────┬──────────────────────┘
│ │
┌───────────────▼──────────────┐ ┌────────────▼─────────────────────┐
│ 业务库 MySQL + 缓存 Redis │ │ 时序库 TDengine │
│ 台账、配置、核算结果、权限 │ │ 秒/分钟级原始数据、小时/日聚合 │
└──────────────────────────────┘ └────────────▲─────────────────────┘
│
┌───────────────────────────────────────────────┴──────────────────────┐
│ 采集层(独立 Collector 服务) │
│ Modbus / DL/T 645 / OPC UA / IEC 104 / MQTT / HTTP 适配器 │
└───────────────────────────────┬──────────────────────────────────────┘
│ MQTT(EMQX)
┌───────────────────────────────▼──────────────────────────────────────┐
│ 边缘层(网关 / DTU / 串口服务器) │
│ 协议转换 · 本地缓存 · 断网补传 · 越限判断 · 时间同步 │
└───────────────────────────────┬──────────────────────────────────────┘
│ RS-485 / 4-20mA / 脉冲 / 以太网
┌───────────────────────────────▼──────────────────────────────────────┐
│ 现场层(仪表与设备) │
│ 智能电表 · 水表 · 燃气表 · 流量计 · 热量表 · PLC · 传感器 │
└──────────────────────────────────────────────────────────────────────┘教程目录
| 章节 | 内容 | 你会完成 |
|---|---|---|
| 总体设计 | 业务边界、角色、功能架构、数据流、碳核算方法、部署架构 | 画出自己项目的架构图 |
| 技术栈 | 若依版本选择、前后端、MySQL/Redis/TDengine、EMQX、报表、运维 | 确定一份可执行的选型清单 |
| 硬件详解 | 仪表、互感器、接线、RS-485、Modbus、网关、点位表、施工调试 | 写出可施工的点位表和 BOM |
| 若依实现 | 工程改造、表结构、代码生成、采集服务、碳核算、前端页面 | 跑通“采集→存储→展示→核算” |
| 部署验收 | Docker 编排、Nginx、HTTPS、备份、监控、上线检查 | 部署一套可演示的系统 |
先记住这几个词
| 术语 | 一句话解释 |
|---|---|
| 能源介质 | 被计量和管理的能源种类,如电、水、天然气、蒸汽、压缩空气 |
| 计量点 | 一个独立的计量位置,例如“1 号车间总进线”。它对应一块表或一组采集通道 |
| 点位 | 计量点上的一个具体数据项,例如 A 相电压、有功功率、累计电量 |
| 采集网关 | 把现场仪表的协议转成平台能懂的数据,并负责上传的设备 |
| 边缘计算 | 在网关上先做过滤、报警、缓存,不必所有原始数据都上云 |
| 活动数据 | 碳核算里“用了多少”,例如消耗了多少 kWh 电、多少立方米天然气 |
| 排放因子 | 每单位活动数据对应的碳排放量,例如每 MWh 电对应多少吨 CO₂ |
| CO₂e | 二氧化碳当量,把不同温室气体按全球变暖潜势折算成 CO₂ 的统一单位 |
| 范围一 / 二 / 三 | 直接排放 / 外购电热间接排放 / 价值链其他间接排放 |
| 碳强度 | 单位产值或单位产品对应的碳排放,例如 tCO₂e/万元产值 |
硬件不可怕:只回答三个问题
很多开发者卡在硬件,是因为把它当成了一门新学科。其实从软件视角看,硬件链路只需要回答三个问题:
读什么?
现场有哪些能源介质、哪些计量点、每个点要采哪些数据。答案落在点位表上,这是软件和硬件之间唯一的契约。
怎么读?
仪表输出的是 RS-485、4-20mA、脉冲还是以太网;用什么协议、什么地址、什么数据格式。答案落在通信参数上。
怎么传?
仪表到网关、网关到平台分别走什么网络;断网了怎么办、时间怎么同步。答案落在网络与边缘策略上。
把这三个问题回答清楚,硬件就从“黑盒”变成了“一张有地址和格式的数据表”。硬件详解会按这个顺序展开。
建议的学习路线
先读总体设计,确定边界
不要一上来就选技术。先明确:管哪些能源、覆盖哪些组织、碳核算做到范围几、要不要对接现有 PLC/MES。边界变了,后面的选型和表结构都会变。
再定技术栈,锁定版本
按团队熟悉度和交付周期选一条技术路线,把版本号写进
pom.xml和package.json。避免“边做边换框架”。然后啃硬件,产出点位表
哪怕硬件是外包的,点位表也必须由你主导。它是采集服务、数据库、报警规则和碳核算的共同输入。
最后做若依实现与部署
先用模拟器把采集链路跑通,再接真实仪表;先做一条能源介质的闭环,再复制到其他介质。
安全声明
教程约定
- 代码以 RuoYi-Vue 前后端分离版 + Vue 3 为主线;微服务版和 RuoYi-Vue-Plus 在技术栈章节单独说明。
- 价格均为 2026 年国内常见区间的估算,仅用于做预算量级,实际以询价为准。
- 排放因子是示例值,正式核算必须使用生态环境部、行业指南或客户认可的最新因子,并在系统里做成可配置、可追溯的因子库。
- 所有 SQL、Java、YAML 代码都是可改造的骨架,不是复制即可上生产的完整产品。