You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

E-ra IoT平台小时流量不重置问题求助(附ESP32代码)

ESP32+DS3231+YF-B1项目小时流量异常排查指南

核心问题现象

  • 小时流量固定停留在午夜的14.9L,无法每小时自动清零
  • 午夜过后,E-ra IoT平台图表不再显示小时流量数据(仅午夜有记录)

排查方向及代码检查点

1. DS3231 RTC时间同步与小时判断逻辑

  • 先确认RTC时间读取是否准确:在串口打印当前RTC的年/月/日/时/分/秒,验证午夜过后小时数是否正常递增(比如从00→01→02...),排除RTC时间卡死或时区配置错误的问题
  • 检查小时重置触发逻辑:代码中判断「进入新小时」的条件是否正确,常见错误包括:
    • 误把日期切换当成小时切换的判断依据
    • last_hour初始化错误(比如固定设为0,午夜后未更新)
    • 时区偏移导致RTC时间与实际时间错位,触发逻辑失效

2. 小时流量变量的生命周期与重置逻辑

  • 确认小时流量变量的存储类型:如果是局部变量,可能在函数调用后丢失数值;如果是全局变量,要检查是否在小时切换时执行了hourly_flow = 0的重置操作
  • 验证流量累加逻辑:检查YF-B1的脉冲计数是否正确累加到小时流量中,而非仅在午夜时赋值14.9L。可以在串口打印脉冲触发后的流量数值,确认累加是否正常
  • 排查14.9L的来源:检查代码中是否有硬编码该数值的地方,或初始化时将hourly_flow默认设为14.9L,导致重置逻辑失效后数值固定

3. E-ra IoT平台数据上传逻辑

  • 检查上传触发时机:是否仅在午夜时上传小时流量,而非每小时定时上传?或设置了流量变化阈值,午夜后流量无变化导致不上传
  • 验证上传数据格式:确保上传的小时流量字段名称、数据类型(浮点数/整数)与平台要求一致,避免因格式错误导致平台不显示数据
  • 确认网络稳定性:在串口打印网络连接状态和上传结果,排查午夜后ESP32是否断网,导致数据无法发送到平台

4. 代码常见错误示例排查

假设你的代码有类似结构,重点检查标记的错误点:

#include <Wire.h>
#include <DS3231.h>
#include <WiFi.h>

float hourly_flow = 0.0;
int last_hour = -1;
DS3231 rtc;

void setup() {
  Serial.begin(115200);
  rtc.begin();
  // 正确:初始化last_hour为当前小时,而非固定0
  DateTime now = rtc.now();
  last_hour = now.hour();
}

void loop() {
  DateTime now = rtc.now();
  int current_hour = now.hour();

  // 错误示例:仅在午夜(current_hour == 0)时重置
  // 正确逻辑:当current_hour != last_hour时触发重置
  if (current_hour != last_hour) {
    hourly_flow = 0.0;
    last_hour = current_hour;
    Serial.println("Hour changed, reset hourly flow");
  }

  // YF-B1脉冲计数处理逻辑
  // ... 此处确保脉冲触发时正确累加hourly_flow ...

  // 错误示例:仅在午夜上传数据
  // 正确逻辑:每小时定时上传或每次流量更新时上传
  uploadToPlatform(hourly_flow);

  delay(1000);
}

额外验证步骤

  • 串口实时监控:在代码中添加串口输出,打印当前RTC时间、小时流量、last_hour值、上传状态,观察午夜前后这些值的变化,定位是逻辑错误还是上传问题
  • 模拟小时切换:手动修改DS3231时间(从23:59改到00:00再到01:00),观察小时流量是否重置,数据是否正常上传
  • 单独测试YF-B1:断开RTC,手动触发传感器脉冲,验证小时流量是否正常累加,排除传感器硬件问题

内容的提问来源于stack exchange,提问作者Anh Cao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 12:50:12