news 2026/8/27 5:12:38

手把手自制智能电表:ESP32+电流互感器实现家庭用电监测

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
手把手自制智能电表:ESP32+电流互感器实现家庭用电监测

去年夏天我收到一张电费单,金额比前一个月翻了一倍。翻遍家里的电器,空调、热水器、冰箱、路由器、电视,每样看起来都正常,但就是不知道哪样在“偷电”。为了解决这个问题,我花了一个周末做了一个Smart Energy Meter,用电流互感器夹在入户总线上,实时追踪整个家庭的用电功率,再配合手机端面板,把每一小时、每一天的用电曲线看得明明白白。这篇文章把这套方案的完整过程记录下来,从硬件选型、电路搭建、采样原理、代码实现到校准和排坑,适合有一点Arduino或ESP32基础、想给家里装上“用电仪表盘”的人参考。

1. 先拆解清楚:智能电表到底在测什么

1.1 项目需求拆解

做任何硬件项目之前,先别急着下单买元器件,把需求列表拉出来。我当时给自己定的目标很简单:要能实时看到家里当前总功率,要能按小时、按天查看历史用电曲线,还要能在异常高功耗时收到提醒。这三个目标听起来差不多,但背后对硬件和代码的要求完全不一样。

如果要看实时功率,只需要每秒采样几十个周期,计算电流有效值和电压有效值,再乘个功率因数就行,数据量很小。如果要按小时和天绘制曲线,就必须考虑数据存储方案,不能总让设备连着电脑,所以MCU得自带WiFi或者干脆装个树莓派。如果要异常告警,那还得在云端或本地自动化平台里写判断逻辑,比如连续10分钟功率超过3000W就推一条通知。

我最终选的是ESP32开发板配合电流互感器的方案。ESP32自带WiFi和蓝牙,12位ADC,价格便宜,社区资料多,拿来跑电能监控绰绰余。整套系统不到80块钱(不含屏幕),比买一个市售智能电表便宜不少,而且数据完全掌握在自己手里。

1.2 为什么我不去拆家用电表,也没选智能插座方案

有人会问:电网公司的电表本身就能看用电量,为什么还要自己做一套?实际用过就明白,供电局的电表数据只能看到月度累计或者最多T+1的日数据,你根本拿不到“空调启动那一下到底吃了几千瓦”这种分钟级甚至秒级数据,更别说把总用电拆到具体某一路设备上了。

那退一步,用智能插座逐个测电器行不行?行,但有两个麻烦。第一,很多电器是固定布线,比如空调、热水器、浴霸,根本插不到智能插座上。第二,插座方案只能测单一设备,想算“全屋总功率”只能把十几个插座的数据汇总,一旦某个插座离线,整条曲线就断了。电流互感器方案没有这些问题,它直接夹在入户电缆或配电箱内某条支路的外部绝缘皮上,不改动任何线路,一次安装就能覆盖整个回路。

非侵入式测量还有一个隐藏优点:安装时不需要断电操作主线路,风险远低于拆电表接线。当然,我后面会专门讲配电箱操作的安全边界,这里先记住一句话:能不动主线就不动主线,夹住电缆测电流才是家庭级监控该有的分寸。

1.3 整套系统的工作链路

整个智能电表系统的流程可以概括成一条链路:电流互感器先把主线路中的大电流按比例变成小信号,经过采样电阻和分压偏置电路后,转成ESP32的ADC能读取的0到3.3V电压,然后由固件里的采样算法算出电流有效值和实时功率,最后通过WiFi把数据推送到Home Assistant或者InfluxDB这类平台,前端用面板展示曲线和累计电量。

这条链路里有三个关键点,很多教程不会明说。第一,交流信号是双极性的,有正半周也有负半周,而ADC不能读负电压,所以必须加一个直流偏置,把交流波形整体抬高到1.65V上下。第二,电流有效值不是直接取平均,而是对采样值做平方、求和、开方,即RMS计算。第三,电流信号和电压信号之间存在相位差,如果只测电流不测电压,算出来的功率只能是视在功率,和真实家用电费计量的有功功率有误差。这些问题我在第三章和第四章展开讲。

2. 硬件准备与电路搭建

2.1 核心元器件清单

这套系统的BOM十分简单,我在采购时踩过不少坑,所以直接把最终好用的清单列出来。

元器件型号/规格数量备注
主控板ESP32 DevKitC V413400、2202 都行,注意ADC采样频率要求
电流互感器SCT-013-000(100A:50mA)或 SCT-013-030(30A:1V)1家用总闸选100A量程,支路选30A
采样电阻高精度低温漂电阻 24Ω 或 22Ω1仅电流输出型CT需要
偏置电阻10kΩ 精度1%2构成分压中点,偏置到1.65V
滤波电容10uF 电解电容 + 100nF 瓷片电容各1ADC前端滤波
保护二极管1N4148 或 BAT542钳位保护ADC引脚
供电模块HLK-PM01 或 AMS1117-3.31220V转5V,再转3.3V
外壳3D打印外壳或明装塑料盒1注意留出CT穿线孔

看到SCT-013-000和SCT-013-030的区别没?-000是电流输出型,输出的是小电流,需要自己接采样电阻;-030内置了采样电阻,直接输出1V的交流电压信号。新手建议用-030,省去自己算采样电阻和担心饱和的麻烦。但我自己后来换回了-000,因为想通过更换采样电阻来调整量程和分辨率,灵活性更高。

2.2 电流互感器的三个关键参数

选电流互感器不能只看“最大电流”,有三个参数必须同时考虑。

第一个是额定变比。SCT-013-000的变比是100A对应50mA,也就是说入户总电流是50A时,次级输出大约25mA。这个电流流经采样电阻,才能转成ADC能读的电压。公式很简单:采样电阻两端的电压幅值 = 次级电流 x 采样电阻值。我用24Ω电阻,100A满载时次级电流50mA,产生1.2V有效值电压,峰值约1.7V,加上1.65V偏置后,波峰在3.35V,波谷在-0.05V,刚好贴着ADC的量程边界。从这里你能看出来,为什么我建议SCT-013-030(30A/1V)这种输出电压型号,1V的有效值对应峰值1.41V,偏置后范围0.24V到3.06V,余量更充裕。

第二个是线性度和相位误差。便宜的CT在中低电流段线性还可以,但小电流时误差会明显增大。尤其你关注待机功耗时,可能只有0.1A到0.3A,CT测得会偏低。我后面在校准章节会详细讲怎么做多点校准,这里先记住:不要只看厂家标称精度,拿一个白炽灯或电暖器当基准负载测一测,心里才有底。

第三个是穿线孔径和安装方式。SCT-013系列是分体式开口磁环,按压弹簧就能打开,把电缆卡进去再合上,非常适合已有线束的配电箱。买之前量一下家里电缆外径,别买回来夹不下。如果是40A以上的粗电缆,可能需要选更大孔径的型号。

2.3 分压偏置电路原理与搭建

ESP32的ADC只能采样0到3.3V的单极性电压,而电流互感器输出的交流信号是围绕着0V上下摆动的。如果不做处理直接接ADC,负半周会直接被采样成0,数据完全没法用。解决方法是把信号整体抬高1.65V,这就是分压偏置电路的作用。

最简单的偏置电路就是用两个10kΩ电阻串联在3.3V和GND之间,中间抽头就是1.65V,然后把CT信号通过一个隔离电容串联到中点,再经过RC滤波后进ADC。这里有个细节容易被忽略:分压中点必须有足够的驱动能力。10kΩ分压网络的内阻是5kΩ,如果直接驱动ADC的采样电容,建立时间不够会导致读数跳动。所以我在中点后加了一个运放跟随器(用LM358或MCP6002都行),把偏置电压稳定输出。如果你不想加运放,也可以用470Ω加470Ω的低阻分压,但静态功耗会大一些。

我实际用的电路是这样的:CT次级经采样电阻后,把电压信号串联一个1kΩ限流电阻,接到偏置中点。ADC引脚对地接一个100nF电容滤高频噪声,同时用两个背靠背的1N4148二极管把输入电压钳位在-0.7V到4.0V之间,万一CT输出异常或接错线,不至于烧坏ESP32的引脚。这个保护电路看着简单,但救过我的板子。

2.4 配电箱安装操作和安全边界

先声明一个原则:配电箱操作必须谨慎,如果你不具备基本电工常识,最好找有经验的朋友从旁指导,或者干脆只做“夹线”这一步,不碰任何裸露铜排。

我的安装步骤是:关闭总闸,打开配电箱面板,把SCT-013的磁环打开,夹住入户总火线的绝缘外皮,确认夹紧后合上面板,再合上总闸。注意,SCT本身没有方向要求,但为了代码里判断功率方向,我建议在磁环外壳上标记一个箭头,统一朝向负载侧。如果装反了,读数不会错,只是符号会反过来。

还有一点,千万别把CT夹在已经接好零线排和地线排的密集线束里,那样信号会受到严重干扰。尽量让CT单独夹在一根线上,周围避开开关器件,特别是变频器或开关电源的走线。我最初把CT放在空调开关旁边,结果只要空调压缩机启动,读数就有大毛刺,后来把CT挪到距离开关20cm以上的位置才正常。

3. 从ADC原始值到功率:数据采集核心逻辑

3.1 交流采样基础原理

家庭用电是50Hz交流电,电压和电流都随时间呈正弦变化。要计算真实功率,不能像测直流那样“读一个数”就完事,必须在一个或多个完整周期内连续采样,再做数学运算。

具体来说,计算电流有效值的步骤是:在一个完整周期内均匀采样N个点,每个点的电压值减去偏置电压,换算成实际电流;然后把每个点的电流平方,求所有点平方的平均值,最后开根号。这个结果就是RMS电流,也是电表上显示的有效电流值。

这里有一个常见误区:很多人直接用ADC读到的平均值乘以一个常数,这样误差极大,因为正弦波的平均值和有效值之间虽然有固定换算关系,但实际电流波形不一定是纯正弦,开关电源和高频设备会产生很多谐波,波形早已变形。RMS计算才是准确的做法,它天然包含了所有谐波的能量贡献。

采样点数N怎么定?理论上一个周期内采样点数越多越精准,但受限于MCU速度和ADC转换时间。50Hz的周期是20ms,我在ESP32上跑2000个采样点,总耗时约0.4秒,覆盖20个周期,既能保证RMS计算的稳定性,又不至于让CPU满负荷跑。ESP32的ADC转换单次大概在10us级别,2000点平均每点200us,完全跟得上。

3.2 用EmonLib快速实现第一版

如果你不想从零造轮子,直接用EmonLib这个开源库,两行代码就能拿到电流有效值。这是我最快跑通整个链路的方式,非常适合先验证电路有没有接对。

#include "EmonLib.h" EnergyMonitor emon1; void setup() { Serial.begin(115200); // 参数:引脚号,校准系数(30A量程的CT用30.0,100A量程的CT用100.0) emon1.current(A0, 30.0); } void loop() { double Irms = emon1.calcIrms(1480); // 采样点数,1480约等于1秒 double power = Irms * 220.0; // 先粗略估算功率 Serial.print("Current: "); Serial.print(Irms, 3); Serial.print(" A, Power: "); Serial.print(power, 1); Serial.println(" W"); delay(3000); }

EmonLib的计算原理其实就是RMS,内部从第一个采样点开始累加,所以采样点数决定了窗口长度。1480个点大约对应1秒,这个周期对监控来说足够了。我第一次刷入这个程序,串口打印出来的电流值在0.45A附近跳动,那个时候家里只有冰箱在运转,数值看起来合理。不过,这样算出来的功率是不准的,因为没有把电压和功率因素考虑进去。EmonLib有一个calcVI函数可以同时采样电压和电流,但需要额外的电压互感器,我放到第四章的进阶方案里讲。

3.3 手动实现RMS计算和相关滤波

库虽然方便,但遇到问题需要调时,你反而搞不清楚内部逻辑。所以我后来重写了一份手动RMS代码,方便自己调节采样窗口和滤波参数。

#define ADC_PIN 34 #define ADC_VREF 3.3 #define ADC_RES 4095.0 // SCT-013-030,输出1V RMS对应30A #define CT_RMS_VOLTAGE 1.0 #define CT_MAX_CURRENT 30.0 #define ADC_BIAS 1.65 const float VOLTS_PER_AMP = CT_RMS_VOLTAGE / CT_MAX_CURRENT; // 0.0333 V/A float calcIrmsManual() { const int samples = 2000; const int intervalUs = 200; float sumSq = 0.0; for (int i = 0; i < samples; i++) { float adcValue = analogRead(ADC_PIN); float voltage = (adcValue / ADC_RES) * ADC_VREF; float acVoltage = voltage - ADC_BIAS; float current = acVoltage / VOLTS_PER_AMP; sumSq += current * current; delayMicroseconds(intervalUs); } return sqrt(sumSq / samples); }

为了防止ADC采到毛刺导致RMS值跳变,我会对连续三次RMS结果取中位数。中位数滤波相比平均值的好处是能去掉偶发的尖峰,而且不会让真实波动变得迟钝。刚开始我只用平均值,结果冰箱压缩机启动那一下,数据从0.5A跳到了8A,然后衰减回正常,曲线就像心电图一样,后来改成中位数之后平滑多了。

还有个细节:ESP32的ADC在不同衰减档位下,0到3.3V输入范围和实际读数之间存在非线性。直接拿读数乘以3.3再除以4095,在电压靠近两端时会有两三个百分点的误差。如果想正经做数据统计,建议用两个精密电阻分压把1V标准电压接到ADC口,实测几个点做线性校准。这个我在第四章一并讲。

3.4 数据上报:MQTT还是HTTP

拿到电流、功率数据后,下一步是让它离开ESP32,进入可视化系统。我这边有两个选择:MQTT和HTTP POST。别让这个选择难倒你,关键是看你的下游平台。

如果你用Home Assistant,MQTT是最顺的路。ESP32把数据发布到主题,比如home/energy/power,Home Assistant的MQTT集成自动订阅,直接生成实体。如果你用InfluxDB加Grafana,那HTTP POST更简单,直接用HTTP POST把JSON数据塞给InfluxDB的API,一条命令的事。

我最后采用的是MQTT方式,因为Home Assistant能同时做告警和前端展示。ESP32这边的核心逻辑就是用WiFiManager做配网,然后用PubSubClient库连MQTT broker,每隔5秒发布一次数据。注意,5秒这个频率是保险的,总数据量很小,不会给家里WiFi带来压力。下面是一段上报的代码示意:

#include <WiFi.h> #include <PubSubClient.h> #include "EmonLib.h" WiFiClient espClient; PubSubClient mqtt(espClient); EnergyMonitor emon1; const char* mqttServer = "192.168.1.100"; const int mqttPort = 1883; const char* topic = "home/energy/power"; void publishReading() { double Irms = emon1.calcIrms(1480); char payload[64]; snprintf(payload, sizeof(payload), "{\"current_A\":%.2f,\"power_W\":%.1f}", Irms, Irms * 220.0); mqtt.publish(topic, payload); }

本地存储的事情,我一直建议交给Home Assistant或InfluxDB,不要在ESP32上折腾SD卡或Flash。MCU的Flash有擦写寿命限制,频繁写日志会缩短寿命。我把ESP32当成纯粹的采集终端,所有历史数据都落到局域网内的NAS或树莓派上,这样设备断电也不怕丢数据。

4. 校准与精度调优

4.1 校准的前提:找到一把可靠的尺子

做校准之前,必须有一个基准仪表。我借了一个钳形功率计(UT210E),在总闸下方把同一根电缆夹了两遍,一遍接我的智能电表,一遍接钳形表,两边的读数就能互相对比。如果家里没这工具,也可以用一个固定功率的电器做参照,纯电阻负载比如电暖器、白炽灯,功率因数接近1,电流等于功率除以电压,比如1500W电暖器在220V下理论上是6.8A左右。

校准逻辑很简单:让智能电表显示一个RMS电流值,同时用基准表记录真实值,两者相除得到一个比例系数,然后回填到代码里。但这里有个坑,这个比例系数可能只在同一个电流点有效。因为电流互感器在小电流段和大电流段误差曲线不一样。所以至少要校准三个点:小电流(只开一个台灯)、中等电流(开电暖器加电脑)、大电流(再开个微波炉或烤箱)。

4.2 增益校准和偏置校准分开做

很多教程只教“改一个系数把两个读数对上”,这是不够的。增益误差和偏置误差是两回事,我建议分开处理。

先把电流归零,也就是关掉所有用电设备,只保留待机设备,理论上电流应该接近0A。如果你读到0.15A,那偏置就是0.15A,需要从每次采样中减去这个值。偏置误差主要来自ADC参考电压的波动和偏置电路电阻的精度。

然后是增益误差。在中等电流档记录读数,比如基准表是6.8A,我的智能电表读数是6.5A,那么增益修正系数就是6.8/6.5=1.046。把这个系数乘到每次RMS计算结果上就行。增益误差主要来自采样电阻的容差和CT变比的标称误差。市面上大多数SCT-013的变比精度是1%到2%,所以这个系数通常在0.98到1.05之间。

下面是我自己的标定记录表:

基准电流初始读数修正后读数误差
0.00 A0.13 A0.01 A偏置校准完成
2.15 A2.08 A2.14 A-0.5%
6.80 A6.50 A6.79 A-0.15%
12.40 A11.90 A12.38 A-0.16%

修正后全量程误差控制在1%以内,对于家庭用电监控来说完全够用。

4.3 进阶:加入电压采样,测真实有功功率

如果你只测电流,用额定电压220V乘电流来算功率,在绝大多数家庭场景下误差不会太大,因为LED灯、电脑等设备虽然带谐波,但功率因数通常在0.9以上。但如果你家里有大功率电机类设备,比如水泵、吸尘器、变频空调,功率因数可能低到0.5,这时候电流很大但真正耗电没那么夸张,用VA代替W会让你以为自己家的电量“被偷了”。

要测真实有功功率,就需要同时采样电压和电流,计算两者的相位关系。我加装了一个ZMPT101B电压互感器模块,接到入户电压上,用另一个ADC通道采集电压波形。代码切换到EmonLib的calcVI函数,内部会通过过零检测计算电压电流的相位差,然后返回Vrms、Irms和realPower。

接线和电路都不复杂,但电压互感器的安装比电流互感器危险得多,因为它直接接触220V。如果你没有隔离变压器的经验,我强烈建议先接在已绝缘的接线端子上,或者干脆跳过电压测量,用固定电压估算。安全第一,这个项目的核心目的是搞懂自家用电,不是考核你有多大胆。等你有把握了,再补电压通道也不迟。

4.4 待机功耗误判的处理

在调试过程中,最让我头疼的是待机功耗误判。很多家电在关掉后并没有真正断电,而是处于待机状态,功率可能只有几瓦到十几瓦。电流互感器在这么小的电流下误差很大,我经常看到“0W”和“25W”跳来跳去,完全没法判断家里待机是否异常。

解决的办法有两个层面。第一,用在软件中加一个死区阈值。低于某个阈值的功率直接归零,比如低于5W显示为0W。第二,在数据分析层面做窗口统计。不要看瞬时值,看5分钟或15分钟的累计电量。待机功耗的累计电量才是真正影响电费的因素,瞬时波动根本无需担心。我后来在Home Assistant里建了一个utility_meter,专门统计每日累计电量,这个指标跟电费单对上了,误差在3%以内,这才算真正有了实用价值。

5. 数据可视化与真实应用场景

5.1 Home Assistant接入:一个面板看全屋用电

数据从ESP32进入Home Assistant后,我做的第一件事是组装一个仪表盘。HA里用MQTT集成接收数据,然后新建一个面板,放上实时功率的卡片、今日累计电量的卡片和24小时功率曲线图。整个过程不需要写一行前端代码,全部在面板配置界面里拖拽完成。

对于只想看数据的人,这个面板就够用了。但我想提醒一下:电量和功率的数据精度不一样。功率卡的展示数值是一个瞬时值,而累计电量卡应该用integration(积分)传感器来算,因为它需要对功率做时间积分。比如功率是1000W持续1小时,累计电量就是1kWh。这个积分过程最好放在长期可靠的平台里做,ESP32本身不适合干这个。

UI组件配置上,我用的是multiple-entity-row来自定义卡片,这样可以在一行里显示电流、功率、功率因数三个数字,不用一张卡片一个指标。数据显示的刷新频率我设在10秒,太频繁会看着眼花,不利于捕捉趋势。

5.2 从数据里挖出三个“用电元凶”

设备跑起来之后,第一个月我收集到了完整的历史数据。翻看曲线时发现了三件有意思的事。

第一,家里的热水器每天晚上会“偷偷”加热。表面上看它白天是关着的,但曲线显示每天凌晨3点有个持续20分钟、功率1800W的尖峰。后来查了说明书,发现是保温功能在自动工作。这个发现让我重新评估了热水器的使用模式,改成了出门前断电,一个月电费少了将近30元。

第二,路由器加光猫加NAS的组合待机功耗比我预想的高很多。这三样设备加起来常年有60W的功耗,一个月就是43kWh。我原先以为它们加起来顶多30W。数据不会骗人,这个发现直接促使我升级了一台低功耗交换机把NAS关机策略优化了一下。

第三,冰箱在夏季的启动频次明显增加。功率曲线上的窄脉冲从每30分钟一次变成每15分钟一次,单次启动电流高达8A。从这个变化我判断冰箱散热器上积灰严重,清理之后启动间隔果然拉长了。用数据反推家电健康状况,是这套系统给我最大的惊喜。

5.3 扩展思路:分路计量和联动场景

做了总功率监控之后,我顺带做了两路扩展。在配电箱里给空调、厨房插座各装一个CT,这样就能把“总功率异常”定位到具体哪一路。其实,非侵入式方案做分路计量成本很低,一个MCU最多可以接6个CT,管够大多数家庭的需求。

配合自动化,这套系统还能做很多事。我在HA里设了一条自动化:当总功率连续10分钟超过4000W,并且熔断器没有跳闸时,推一条手机通知,提醒我可能同时开太多大功率电器了。还有一个联动是:当洗衣机运行,功率维持在300W以上并持续2分钟后,如果阳台灯亮着,就自动关掉阳台灯。这种联动的前提是功率数据可靠,而这正是整个项目前面所有工作的价值所在。

6. 常见问题与排查实录

6.1 常见问题速查表

我把从零搭建过程中遇到的高频问题整理成一个速查表,方便你参考排查。

现象可能原因解决措施
读数恒为0CT没有夹好或采样电阻虚焊检查磁环是否闭合,用万用表量CT次级是否有电压
读数一直跳变偏置电路不稳或ADC参考电压波动用万用表实测偏置点是否为VREF/2,必要时加运放缓冲
大电流读数明显偏低CT进入饱和区换用更大额定电流的CT,或减小采样电阻
有电流但功率为0电压通道未配置或接反校准电压、检查ZMPT101B接线,确认功率因数计算
局域网内数据延迟大MQTT broker性能不足或WiFi信号差确认broker版本,调整ESP32发射功率
WiFi反复断开电源供电不足或电路干扰用5V/2A电源单独供电,避免共用劣质充电器

6.2 三个真实踩坑记录

第一个坑是ADC引脚选择。ESP32的ADC2引脚和WiFi共用射频模块,如果你用ADC2通道采样,一旦WiFi在发数据,采样结果就会随机跳变,完全没法看。我一开始用的是GPIO26(ADC2),发现读数像抽风一样,害得我怀疑是CT坏了。后来换成GPIO34(ADC1通道6),问题立刻消失。写完这行代码,我记了五年:ESP32的模拟采样只用ADC1。

第二个坑是采样间隔太短导致CPU卡死。我最早在循环里用delayMicroseconds(4)跑3000个采样点,结果CPU频繁进中断,MQTT消息发不出去。后来我把采样间隔放宽到200us,并且把采样循环放在主循环里用定时器控制频率,而不是在loop()里暴力跑。对于MCU来说,连续采集时任务优先级比上报高得多,要让采样过程不被中断打扰,同时留出足够的CPU时间给WiFi协议栈处理。

第三个坑是温度对零点漂移的影响。夏天和冬天设备温度差将近20度,偏置电压和CT的磁导率都会变化,导致冬季校好的零点在夏天偏了0.2A。这个误差平时无所谓,但在判断待机功率时会很致命。我最终的方案是在固件里每隔24小时自动检测一次“最低5分钟的电流中位数”,把它作为新的零点偏置。这个思路说白了就是利用凌晨大概率低负载的时间窗口做的软校准,对你来说,也可以选择每天早上6点设备自动校准一次。

6.3 安全边界提醒

最后,所有做强电相关项目的朋友请记住:这个项目里的电流互感器虽然不接触裸线,但在安装和调试过程中,你仍然在配电箱附近操作,那里充满220V高压。磁环卡入电缆时,手指千万不要碰触内部金属件;确认CT卡好、盖回配电箱面板后才能合闸通电;手上有水或地面潮湿时不要操作。我见过有人为了省事带电装CT,结果CT型号选错,次级开路时产生高压,把示波器探头烧了一个口子。电流互感器在任何情况下都不允许在次级开路时工作,这是原则,不是建议。

还有一点,尽管CT方案不改动主线,但如果你完全不懂配电箱内部结构,最好请一个电工朋友帮你盯着第一次安装。花钱买安心不算奢侈,毕竟和设备故障相比,人身安全才是项目最大的“硬性指标”。

我在实际使用中体会到,这套智能电表真正的价值不是展示一个漂亮曲线,而是逼着你重新审视家里的用电习惯。它让我意识到,很多电费不是被“偷”走的,而是被我们忽略的待机时长和低效设备一点点消耗掉的。如果你也想做,我建议先从SCT-013-030加ESP32起步,跑通数据链路后再琢磨分路计量和电压采样。一步步来,这个项目后续还可以扩展成多户对比、光伏发电监控、甚至联动储能电池,玩法很多,但地基永远是可靠的测量数据。

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

调用栈差异分析:从线程转储对比到线上问题根因定位

之前排查线上 CPU 飙升问题时&#xff0c;我对着连续抓取的几份线程转储反复翻看&#xff0c;眼睛都快看花了才确认是某个业务线程异常重试导致热点调用。后来把多次抓取的调用栈放在一起做差异对比&#xff0c;问题瞬间就清晰了。这也是本篇博客想分享的核心主题——调用栈差异…

作者头像 李华
网站建设 2026/8/27 5:10:52

单片机毕设项目:具备多重安全防护的单片机智能热水出水装置开发 基于 ECB01 蓝牙模块的单片机智能饮水设备 APP 联动系统(024804)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机&#xff0c;Java、小程序技术领域和毕业项目实战 ✌️…

作者头像 李华
网站建设 2026/8/27 5:10:45

单片机毕设项目:基于 SU-03T 的语音交互智能垃圾分类桶控制系统研究 具备满溢预警功能的语音控制智能垃圾桶设计与开发(025104)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机&#xff0c;Java、小程序技术领域和毕业项目实战 ✌️…

作者头像 李华
网站建设 2026/8/27 5:10:10

计算机单片机毕设实战-基于 STM32 单片机的多传感器安全监护终端设计与实现 基于 STM32 的超声波测距跌倒检测智能报警器设计(024704)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机&#xff0c;Java、小程序技术领域和毕业项目实战 ✌️…

作者头像 李华
网站建设 2026/8/27 5:09:00

PG-LLM:标准化蛋白突变排序基准,横评108款模型

深度学习与蛋白质工程的碰撞&#xff0c;这几年催生了不少令人眼前一亮的工作。尤其是在蛋白突变功能预测这个方向上&#xff0c;大型语言模型&#xff08;LLM&#xff09;被寄予厚望&#xff0c;但一个尴尬的问题一直存在&#xff1a; 不同论文用不同的数据集、不同的评估脚本…

作者头像 李华
网站建设 2026/8/27 5:08:57

AI Agent 工具调用安全门控:Pyshackle 预执行审核实践指南

工具调用是当前 AI Agent 能力边界最大的放大器&#xff0c;也是安全风险最集中的入口。模型一旦拿到工具权限&#xff0c;就能读写文件、调用服务、操作数据库、执行命令&#xff0c;而这些动作在真正落地前往往只经过一次"模型的自我判断"。这次我们来看一个专注解…

作者头像 李华