2. 系统总体架构设计:感知层、网络层、平台层、应用层四层架构详解

做家庭能源管理系统,说白了就是给房子装个「能源大脑」。我这些年折腾过不少项目,从单板机采集到云平台联动,踩过的坑能写满一本流水账。今天咱们就聊聊这个四层架构——感知层、网络层、平台层、应用层。这四层怎么搭,才能让系统既稳当又聪明?

2.1 感知层:数据从哪来?

感知层是系统的「眼睛」和「耳朵」。没有它,后面三层全是空谈。我见过不少团队一上来就搞平台,结果发现数据不准,整个系统成了摆设。

核心设备清单:

  • 智能电表:实时采集电压、电流、功率因数。我建议用支持DL/T645协议的国标表,兼容性最好。
  • 温湿度传感器:SHT30或DHT22都行,但注意——别放空调出风口正下方,数据会飘得离谱。
  • 光照传感器:BH1750这类数字传感器,直接I2C输出,省事。
  • 门窗磁传感器:干簧管+433MHz无线模块,电池供电能撑一年。
  • 水/气流量计:脉冲输出型,记得加去抖电路。

关键设计原则:

  • 采样频率:电力数据至少1秒1次,温湿度10秒1次就够了
  • 数据精度:电流0.01A,温度0.1℃,别追求过高精度,成本翻倍收益有限
  • 本地缓存:SD卡或EEPROM存24小时数据,断网不丢

嗯,这里要注意——传感器选型别只看参数。我有个项目用了某款进口光照传感器,精度确实高,但价格是国产的8倍。后来发现国产的BH1750完全够用,省下的钱够买两套网关。

2.2 网络层:数据怎么传?

网络层是系统的「神经」。数据从传感器到网关,再到云端,每一步都可能出幺蛾子。我个人习惯把网络层拆成两段:短距通信长距通信

短距通信方案对比:

协议 距离 功耗 速率 我推荐场景
Zigbee 10-100m 250kbps 传感器网络,节点多
BLE Mesh 10-50m 极低 1Mbps 手机直连场景
Wi-Fi 30-50m 150Mbps+ 摄像头、网关
LoRa 1-5km 极低 50kbps 别墅、农场

长距通信:我建议优先用4G Cat.1,成本低、覆盖好。5G?家庭场景真用不上,别被忽悠了。

避坑指南:我曾经在一个项目里全用Wi-Fi传感器,结果20个设备同时上报,路由器直接死机。后来改成Zigbee+网关架构,稳如老狗。记住——别让传感器直连互联网,中间加个网关做协议转换和缓存,能解决90%的稳定性问题。

2.3 平台层:数据怎么存?

平台层是系统的「大脑」。数据到了云端,怎么存、怎么算、怎么管?我见过有人把原始数据直接丢MySQL,查询一次要等30秒——这哪是能源管理,分明是性能测试。

数据存储策略:

  • 时序数据库:InfluxDB或TDengine,专门存传感器数据。压缩比高,查询快。
  • 关系数据库:PostgreSQL存用户信息、设备配置、告警规则。
  • 缓存层:Redis存实时数据,比如当前功率、温度。页面刷新秒出。

数据处理流水线:

传感器数据 → 网关聚合 → MQTT Broker → 流处理引擎 → 时序数据库
                    ↓
              规则引擎 → 告警/自动化

说白了,平台层就干三件事:收数据、算数据、给数据。别搞太复杂。我有个朋友非要用Hadoop做家庭能源系统,结果集群维护成本比电费还高——杀鸡用牛刀。

注意:数据安全别忽视。用户家里用电习惯能推断出作息时间,这是隐私。我建议:

  • 传输层用TLS加密
  • 存储层对敏感字段加密
  • 用户数据保留周期不超过180天

2.4 应用层:数据怎么用?

应用层是系统的「脸面」。用户看到的、操作的,都在这一层。你想想看,如果App打开要等5秒,图表画得跟心电图似的,用户会怎么想?

核心功能模块:

  • 实时监控:仪表盘展示当前功率、温度、湿度。我用ECharts画折线图,刷新间隔3秒。
  • 历史分析:按日/周/月/年查看能耗趋势。柱状图+折线图组合,直观。
  • 告警通知:功率超限、温度异常、设备离线。推送走微信或App通知。
  • 智能策略:根据电价时段自动调整设备。比如晚上谷电时给热水器加热。
  • 设备管理:添加/删除设备,固件OTA升级。

UI设计原则:

  • 首页只展示3个核心指标:当前功率、今日用电、设备状态
  • 操作路径不超过3步
  • 颜色用蓝绿系,红色只用于告警

我做过一个项目,用户反馈「你们App太专业了,我看不懂」。后来我把所有数字都改成「比昨天省了2度电」这种大白话,用户满意度直接翻倍。记住——用户不关心数据,只关心数据带来的价值

2.5 四层架构总览图

下面这张图是我画了无数遍才定稿的。它把四层架构的关系、数据流向、关键协议都串起来了。你仔细看看,能省不少摸索时间。

家庭能源管理系统四层架构 应用层 实时监控 | 历史分析 | 告警通知 | 智能策略 | 设备管理 Web App / 移动端 / 微信小程序 平台层 时序数据库 | 关系数据库 | 缓存 | 流处理 | 规则引擎 InfluxDB / PostgreSQL / Redis / MQTT Broker 网络层 Zigbee | BLE Mesh | Wi-Fi | LoRa | 4G Cat.1 网关(协议转换 + 数据缓存 + 边缘计算) 感知层 智能电表 | 温湿度传感器 | 光照传感器 | 门窗磁 | 流量计 数据流向 → 控制流向 ← 用户交互 数据处理 数据传输 数据采集

这张图你看懂了吗?数据从下往上走——传感器采集、网络传输、平台处理、应用展示。控制指令从上往下走——用户操作、平台决策、网络下发、设备执行。双向闭环,才是完整的能源管理系统。

总结一下我的经验:

  • 感知层:选对传感器比选贵的重要
  • 网络层:网关是稳定性的关键
  • 平台层:时序数据库是核心
  • 应用层:用户只关心省了多少钱

四层架构不是死板的,你可以根据项目规模裁剪。小户型可以省掉网关,让传感器直连Wi-Fi。别墅区建议加边缘计算网关,减少云端依赖。灵活变通,才是实战的精髓。

专注资料整理