littlebot
Published on 2025-04-15 / 2 Visits
0

【源码】基于ESP32的称重数据流式传输至Google Sheets系统

项目简介

本项目将连接称重传感器(通过HX711模块)的ESP32采集的时间和重量数据流式传输到Google Sheets。最初用于模拟尿流计监测尿液流速和体积,也有更广泛应用。通过嵌入式Google App Script导入数据,同时兼顾数据收集和传输的时间平衡。

项目的主要特性和功能

  1. 数据采集与存储:每秒约3次收集重量和时间数据,每次读数为三次传感器读取平均值,最多支持500个带两位小数分辨率的数据点,先在内存收集存储,再突发模式发送到Google Sheets。
  2. 操作指示:通过ESP32模块LED灯变化指示操作状态,无需实时数据显示(可用Arduino IDE串行监视器)。
  3. 校准功能:内置校准函数,可在单次运行中重新校准比例因子和皮重值。
  4. 操作控制:用带按键功能的旋转编码器控制操作模式,如开始和停止数据收集。
  5. 数据输出灵活:可选择不设置Google Sheets和App Script,直接将数据发送到Arduino IDE串行监视器或其他控制台输出。
  6. 数据处理:Google Sheets显示时间、重量和每个数据点变化率三列数据,添加数据处理时间戳和比例因子。

安装使用步骤

硬件部分

  1. 准备10 kg数字称重传感器、HX711模块、KY - 040旋转编码器模块、ESP - 32S开发板、塑料外壳、两个3x3无焊面包板和电线。
  2. 安装称重传感器和电路,将称重传感器安装在工程木地板十字形底座,用垫片和螺丝固定;将ESP32模块适配到无焊面包板。
  3. 完成模块与ESP32连接,参考引脚连接表: | HX711 cell header | Wire | | --------------------- | --------- | | E+ | RED | | E- | BLACK | | A+ | WHITE | | A- | GREEN | | HX711 | ESP32 | | GND | GND | | DT | D19 | | CLK | D21 | | VCC | 3V3 | | ROTARY ENCODER ** | ESP32** | | CLK | 4 | | DT | 23 | | SW | 22 | | + | 3V3 | | GND | GND |

软件部分

  1. 设置Google Sheets和App Script
    • 从Google账户访问Google Drive,创建新的Google Sheets。
    • 为Sheet命名并复制ID。
    • 点击“Extensions|Apps Script”,为App命名。
    • 移除“code.gs”起始代码,将“scale_streaming.js”代码复制粘贴到“code.gs”。
    • 设置时区,替换脚本第25行附近假ID为实际Google Sheet ID。
    • 点击“Deploy”,选“New deployment”,设置执行权限等信息,复制部署凭证。
  2. 配置代码并上传
    • 若只将数据发送到Arduino串行监视器或其他控制台输出,将代码中“output_type”设为“PRINT_TO_SERIAL”;若发送到Google Sheets,添加WiFi路由器SSID和密码,以及Google App Script的ID。
    • 使用Arduino IDE将“scale_streaming.ino”代码加载到ESP32。
  3. 设备操作
    • 将ESP32插入电源,按复位按钮。
    • 向称重传感器秤盘添加样品架,按编码器按钮开关(不转动轴),蓝色指示灯亮开始收集数据。
    • 再按编码器按钮停止收集并传输数据到Google Sheets。蓝色指示灯闪烁后稳定发光,表明ESP32尝试获取日期时间并发送数据;若快速闪烁,无法连接Google Sheets,需重复收集过程。
    • 检查Google Sheets验证数据传输情况。

校准步骤

  1. 获取已知重量物体,用水时需知准确体积。
  2. 在代码编辑工具打开“scale_streaming”草图,更改“calibration_wt”变量为标准重量,保存并重新加载到ESP32。
  3. 启动ESP32,必要时按MCU复位按钮。
  4. 逆时针旋转编码器轴一格(不按按钮开关),蓝色LED闪烁表示旋转已注册。
  5. 按按钮开关一次(不转动轴),蓝色LED缓慢闪烁,10秒内完成皮重读数操作。
  6. 蓝色LED快速闪烁时,10秒内将标准重量添加到秤上。
  7. LED熄灭,草图准备数据采集,不要重置ESP32,以免重置比例因子。
  8. 按操作步骤进行重量测量。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】