最近在跟一个小型能源监测的需求:现场就四五个单相回路要抄表,分布在不同楼层,重新放通信线基本不现实。常规无线方案问了一圈,基本都要再配一台网关,算下来网关反而成了系统里最扎眼的设备。
索性把 LoRa 点对点(P2P)这条技术路线认真捋了一遍,以东鸿 SDM230-Lora P2P 单相多功能电表为样本记录下来,参数和架构都核对过,给遇到类似需求的朋友省点调研时间。个人理解,有误欢迎评论区指正。
1. 先说需求:什么场景会看上 P2P
把现场约束摊开,其实就四条:
- 计量点少而散,每层一两个,拉总线要穿墙打洞;
- 是改造项目,施工窗口短,停产配合的成本很高;
- 里面有分布式光伏并网点,必须分清取电和反送,单向计量不够用;
- 预算有限,不想为几个点再供一台网关。
大项目上网关没毛病,但这种"小、散、改"的现场,网关的采购、柜内空间、供电和调试全是固定成本,节点越少越不划算。点对点架构就是冲着这个缝来的。
2. 两种无线架构先对比清楚
调研第一步是别把"免网关"当成营销词,先搞清楚两种架构到底差在哪。
| 对比维度 | 网关型组网 | LoRa P2P 点对点直连 |
|---|---|---|
| 拓扑层级 | 终端 → 网关 → 平台(三层) | 电表 → 接收模块 → 上位机(两层) |
| 节点关系 | 注册、组网、轮询调度 | 表与接收模块固定配对 |
| 适合规模 | 几十上百节点 | 少量、分散节点 |
| 现场调试 | 需配置网关、查网关链路 | 配对即可,少一层排查对象 |
| 成本结构 | 网关为固定投入 | 无独立网关 |
| 扩展方式 | 自组网,扩展能力强 | 受接收模块侧管理能力限制 |
结论先放这:P2P 不是网关的替代品,是按节点规模分出来的另一条路。节点多、要统一调度,老老实实用网关;节点少、走线难,点对点更轻。
3. 这套方案的链路是怎么跑的
SDM230-Lora P2P 的拓扑画出来很简单:
┌──────────────────┐ LoRa 868MHz / 最大22dBm ┌──────────────┐
│ SDM230-Lora P2P │ ──────── 点对点 ─────────► │ ES-LR1 │
│ (计量+无线发送)│ │ 接收模块 │
└──────────────────┘ └──────┬───────┘
│ │
└──── RS485 / Modbus RTU(有线并存)──────────────►┤
▼
上位机 / AMR / SCADA
数据流向分三段理解:
- 表端:完成电压、电流、功率、电能等全部计量,同时内置 LoRa 发送;
- ES-LR1 接收模块:不做组网,只负责和表固定配对、接收空口数据,作为数据出口交给上位机;
- 后台侧:上位机拿到数据后做展示、存储和分析,可以是 AMR、SCADA 这类能源管理系统。
注意表里还保留了一路 RS485,也就是说无线和有线两条链路是并存的,后面第 7 节细说。
4. 关键参数清单(调研时直接对着核)
整理成表,选型时逐项对就行。
| 分类 | 参数 |
|---|---|
| 系统制式 | 单相交流 |
| 实时测量 | 电压、电流、功率、功率因数、频率 |
| 电能计量 | 正向/反向有功电能、正向/反向无功电能 |
| 无线制式 | LoRa 点对点(P2P),工作频段 868MHz |
| 发射功率 | 最大 22dBm |
| 配对设备 | ES-LR1 接收模块 |
| 有线接口 | RS485,Modbus RTU |
| 电流接入 | 直接接入,最大 100A,无需电流互感器 |
| 安装方式 | 35mm 标准 DIN 导轨 |
| 对接系统 | AMR、SCADA 等 |
5. 重点:双向计量为什么是光伏场景的刚需
这是调研中我认为最值得展开的一点。
普通单相计费表只看一个方向,因为负荷永远在"用电"。但光伏并网点的功率方向是实时翻转的:
- 光伏发电 > 本地负荷 → 功率反向,余电上网;
- 光伏发电 < 本地负荷(或夜间)→ 功率正向,从电网取电。
如果只累计一个方向的电能,反送和取电互相抵消,最后只剩一个净值,发电量、用电量、上网电量一笔糊涂账。这块表把正向、反向有功电能分开累计,无功也按正反向分开,潮流方向才拆得出来。
主机侧做数据校验时,逻辑上等价于下面这段(实际开发直接读表内已经累计好的正反向电能寄存器即可,不用自己积分,这段只是帮助理解和对账):
# 伪代码:并网点功率方向与电量拆分逻辑(仅用于理解/校验)
# p_grid > 0 表示从电网取电,p_grid < 0 表示反送上网
def accumulate(p_grid, dt):
if p_grid > 0:
energy_import += p_grid * dt # 正向有功:取自电网
elif p_grid < 0:
energy_export += -p_grid * dt # 反向有功:反送上网
# 无功同理按方向分别累计,用于功率因数/无功流向分析
正反向无功分开记的意义顺带说一句:无功不做功,但决定线路电流和线损,做功率因数评估时缺了它数据是不完整的。
6. 无线链路调试的几个注意点
868MHz、22dBm 这组参数背后是 LoRa 的扩频调制(CSS):用低速率换接收灵敏度和抗干扰能力。抄表一个周期就几十字节,速率根本不是瓶颈,链路余量才是,和 LoRa 的特性正好对上。
踩坑提示(实际部署建议)
- 金属配电箱是强遮挡。表装在封闭铁柜里时,别想当然认为信号能出来,天线位置要提前评估,必要时把天线引出柜外;
- 通信距离没有纸面值。墙体材质、楼层结构、同频干扰都会改写结果,正式施工前先做现场拉距测试;
- 电表是市电常供电设备,不像电池表那样要卡发射占空比,链路策略可以优先保可靠性,这是电表做无线的天然优势。
7. RS485 这路有线为什么要留着
无线之外保留 RS485、跑 Modbus RTU,看起来像"冗余",实际很务实:
- 存量能源管理系统的物理接口绝大多数还是 485,协议也是 Modbus RTU,改造时直接并入原总线就行;
- 新项目可以无线优先、有线兜底,或者过渡期双线并行,不至于被一种通信方式绑死。
主机端用 pymodbus 读取的最小框架如下,串口参数和寄存器地址必须以设备手册为准,这里只给结构:
from pymodbus.client import ModbusSerialClient
client = ModbusSerialClient(
port='COM3', # 实际串口号
baudrate=9600, # 示例值,以手册为准
bytesize=8,
parity='N', # 示例值,以手册为准
stopbits=1,
timeout=1
)
client.connect()
# address/count 对照 SDM230-Lora P2P 寄存器映射表填写,slave 为表址
rr = client.read_input_registers(address=0x0000, count=2, slave=1)
if not rr.isError():
print(rr.registers)
client.close()
8. 安装侧:100A 直连免 CT 的边界
- 35mm 标准 DIN 导轨,和柜内常规导轨表一致,直接卡装;
- 100A 及以下直接接入,不用配电流互感器:省 CT、省二次线、不用设变比,也没有 CT 极性接反、角差叠加这些麻烦;
- 超过 100A 的回路必须走互感器方案,选型时按额定电流选,还要给启动冲击留余量,别贴着上限卡。
9. 适用场景对号入座
- 分布式光伏并网点:靠正反向电能拆出发电、用电、上网;
- 户用/家庭能源管理:就一两个点,配网关不划算,P2P 刚好;
- EV 充电设施:点位分散、单次数据量小,无线直采省事;
- 商业建筑/工业能耗监测:改造不便走线时用 LoRa 补链路,数据再进 SCADA。
选型前过一遍这个 checklist:
- 计量点是否为少量、分散布置?
- 现场是否禁止或难以重新布线?
- 是否存在光伏/储能等功率双向流动,需要正反向计量?
- 回路电流是否在 100A 直接接入范围内?
- 上位系统是否只需要数据采集,而非大规模组网管理?
前几项为"是"、且不需要管理大量节点,P2P 方案基本成立;否则回到网关型组网更合适。
10. 小结
这次调研最大的感受是:无线计量不存在"谁淘汰谁",网关和点对点解决的是不同规模的问题。SDM230-Lora P2P 这类方案的思路是用固定配对换掉组网层,把小项目和改造项目的部署包袱减下来;同时用正反向双向计量兜住新能源场景,用 RS485 Modbus RTU 兜住存量系统集成,该覆盖的工程接口并没有因为"免网关"而缩水。
以上是这次调研的整理,有实际用过 LoRa P2P 抄表、或者在光伏并网点计量上踩过坑的朋友,欢迎评论区交流。


被折叠的 条评论
为什么被折叠?



