news 2026/10/1 2:55:43

Wi-Fi 电表选型的软件开发视角 —— 数据模型、寄存器和 CT 配置

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Wi-Fi 电表选型的软件开发视角 —— 数据模型、寄存器和 CT 配置

Wi-Fi 电表选型,硬件上看电流接入和安装空间,软件上看数据模型好不好解析、云接口顺不顺、CT 变比怎么配。这一篇从开发者角度把三款产品的软件差异讲清楚。

选型三个问题对应三种数据结构

Wi-Fi 电表选型的三个基础问题 —— 单相还是三相、直连还是 CT、要不要多回路 —— 直接决定了软件要写什么样的数据结构。

单相直连:数据最简单。SDM230-WIFI 这类表,云平台上报一组电压、电流、有功功率、正反向电量。软件模型就是单回路结构:

class SinglePhaseMeter: def parse_dp(self, dp_data): return { "voltage": dp_data["va"] / 10.0, "current": dp_data["ia"] / 1000.0, "power": dp_data["power"], "fwd_energy": dp_data["fwd_kwh"] / 100.0, "rev_energy": dp_data["rev_kwh"] / 100.0, }

注意缩放系数:电压可能放大 10 倍、电流放大 1000 倍、电量放大 100 倍,具体看 DP 定义,不能想当然。

三相直连:要处理三相不平衡。SDM630-WIFI 上报三相电压电流,软件不仅要读总功率,还要能看分相数据:

class ThreePhaseMeter: def parse_dp(self, dp_data): return { "voltages": [dp_data["va"], dp_data["vb"], dp_data["vc"]], "currents": [dp_data["ia"], dp_data["ib"], dp_data["ic"]], "total_power": dp_data["total_power"], "phase_power": [dp_data["pa"], dp_data["pb"], dp_data["pc"]], }

三相系统里看分相数据很重要,某一相电压偏高或电流过载,总功率可能还看不出来。

CT 双回路:一个设备两个数据源。SEM3-WL-2L 在云平台上一个设备 ID,但内部测两个回路。软件要按回路 ID 区分:

class DualCircuitMeter: CT_RATIO = 100 # 可配置 def parse_dp(self, dp_data): c1 = { "current": dp_data["i1"] * self.CT_RATIO, "power": dp_data["p1"] * self.CT_RATIO, "energy": dp_data["e1"], } c2 = { "current": dp_data["i2"] * self.CT_RATIO, "power": dp_data["p2"] * self.CT_RATIO, "energy": dp_data["e2"], } return {"circuit1": c1, "circuit2": c2}

CT 变比必须做成配置项,不同现场配的 CT 规格不一样,写死了换项目就要改代码。

云平台对接要确认的软件项

选 Wi-Fi 电表做二次开发,除了硬件参数,软件层面还要跟供应商确认:

表格

软件项要确认什么
DP 定义文档电压电流功率电量对应哪个 DP ID,缩放系数
数据上报频率云平台多久推一次数据,能不能主动拉
设备在线状态有没有 online/offline 状态 DP,怎么订阅
历史数据接口能不能拉历史电量,保留多久
多设备管理一个账号下多块表怎么分组、怎么批量管理
配网方式EZ 配网还是 AP 配网,现场操作流程

这些问题在选型阶段不问清楚,做二次开发时会卡很久。东鸿电子这三款产品在 DP 文档和云 API 说明上相对完整,对接时主要工作量在缩放系数和数据模型适配。

精度等级对软件的影响

SDM230-WIFI 和 SDM630-WIFI 是 Class 0.5/C,SEM3-WL-2L 是 Class 1。软件层面这个差异影响数据校验逻辑:

class DataValidator: def __init__(self, accuracy_class): self.tolerance = 0.005 if accuracy_class == 0.5 else 0.01 def check_consistency(self, reading, expected): return abs(reading - expected) / expected < self.tolerance

做能耗分析时,Class 0.5 的表数据可以直接信任;Class 1 的表在异常数据校验时容差要放宽。结算类场景建议用 0.5 级。

三款产品软件选型对照

表格

型号数据结构CT 配置分相数据精度
SDM230-WIFI单回路不需要不适用Class 0.5/C
SDM630-WIFI三相三回路不需要A/B/C 分相Class 0.5/C
SEM3-WL-2L双回路可配置变比双回路Class 1

Wi-Fi 通信三款都走 Tuya 云,App 端和云 API 体验一致。软件选型时按数据模型复杂度选:单相项目最简单,三相项目要处理分相,双回路 CT 项目要做 CT 变比配置和回路区分。

选型顺序的软件视角

硬件选型顺序是供电制式→接入方式→空间→精度。软件视角多一步:数据模型复杂度和云 API 对接成本。

单相直连表软件最省事,三相直连要写三相解析,CT 双回路要处理变比和多回路。这部分工作量在项目评估时就要算进去,别等硬件装完才发现软件开发量比预期大。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/1 2:55:28

EasyClick苹果自动化脚本怎么选路线?先看你每天要重复做什么

别先挑技术&#xff0c;先说你每天在做什么 问「苹果自动化脚本该选哪条路线」的人&#xff0c;多半已经看过一圈资料&#xff0c;知道有代理、有 USB HID、有蓝牙 HID&#xff0c;甚至知道各自的系统要求。但看完还是不知道选哪个。 原因是问错了顺序。路线不是选出来的&#…

作者头像 李华
网站建设 2026/10/1 2:55:28

后端0名额AI岗全批,薪资高20%,纯后端标签贬值如何破局?

后端0名额AI岗全批&#xff0c;薪资高20%&#xff0c;纯后端标签贬值如何破局&#xff1f; 近期脉脉上一则用户讨论揭示出强烈反差&#xff1a;Q3盘点中&#xff0c;某团队后端0名额获批&#xff0c;反而全批了2个AI应用工程师岗&#xff0c;且薪资高出后端20%。原帖用户讨论称…

作者头像 李华
网站建设 2026/10/1 2:54:37

开源的 HeyGen 替代方案: 做数字人视频,不用自己备显卡。

HeyGen 的开源答案——MuseTalk、Duix-Avatar、daVinci-MagiHuman——大多是要你自己托管的模型权重&#xff0c;也就是先备一块显卡、再花一天把环境搭起来&#xff0c;才能出第一个片段。Orkas 是 MIT 开源&#xff0c;装起来就是一个普通的桌面应用&#xff0c;但生成走的是…

作者头像 李华
网站建设 2026/10/1 2:53:28

oracle 11g ocr 冗余配置

在11g 安装过程中默认仅仅能指定一个 dg 用来存储&#xff1a;crs &#xff0c;voting 可是oracle 官方一般建议我们这么来配置&#xff1a;1、当ocr没有配置镜像。或者冗余存储时 最少3个ocr 。 假设底层存储不是RAID的话&#xff0c;oracle建议镜像OCR&#xff0c;镜像能够避…

作者头像 李华
网站建设 2026/10/1 2:53:28

白平衡统计:网格分块统计 vs 全局统计 差异对比

文档依托目标 ISP AE/AWB Engine 硬件手册编写&#xff0c;用于 ISP 算法调试、固件开发、方案选型参考。 前置硬件基础&#xff1a;该 AE/AWB 引擎采用两级采样架构。图像先划分为WINHC WINVC网格窗口&#xff1b;每个窗口内部&#xff0c;按照AEWINCH/AEWINCV步距稀疏抽取 2…

作者头像 李华
网站建设 2026/10/1 2:51:33

MySQL JOIN详解:多表关联语法、执行计划与性能优化实务

JOIN关键字在MySql中的详细使用写这篇文章的起因很简单&#xff0c;我在面试候选人的时候发现一个挺普遍的现象&#xff1a;不少人张口就能背出left join和inner join的区别&#xff0c;但真让他写一条多表关联的SQL&#xff0c;或者在慢查询日志里分析一条走了join却奇慢无比的…

作者头像 李华