littlebot
Published on 2025-04-11 / 0 Visits
0

【源码】基于Arduino IoT Cloud和IFTTT的机器运行时间记录系统

项目简介

本项目通过监测压力感应垫上的压力变化,对两台机器的运行时间进行记录。每个压力感应垫配备三个力敏电阻,连接到Arduino MKR WiFi 1010。当电阻上压力超过阈值,垫子状态变为“使用中”;反之则为“未使用”。垫子状态改变时,相关信息会自动记录到Google表格,方便分析机器使用趋势和总时长。

项目的主要特性和功能

  • 借助Arduino IoT Cloud实现物联网连接,可实时掌握机器状态。
  • 利用Arduino MKR WiFi 1010与力敏电阻,精准检测压力变化。
  • 通过IFTTT的WebHook Applet,自动将数据上传至Google表格。
  • 在Google Sheets中处理数据,生成使用趋势和总时长报告。

安装使用步骤

步骤一:设置Arduino IoT Cloud账户

访问此链接创建免费账户,新建“thing”,用USB电缆配置Arduino MKR WiFi 1010,设置所需网络。在“thing”里创建“person_on1”和“person_on2”两个布尔变量,赋予读写权限,设置阈值为0,使其在变量变化时更新。

步骤二:验证代码

在Arduino草图编辑器粘贴“Pressure_Mat_may10a.ino”代码,其他文件会根据“thing”页面信息自动更新,然后验证代码。

步骤三:组装电路和垫子

依据项目中的“pressure_mat_circuit.png”电路图组装电路,使用Arduino MKR WiFi 1010实现WiFi功能(电路图中虽展示Arduino UNO,但不影响使用Arduino MKR WiFi 1010)。可选用项目提供的STL文件3D打印盒子放置Arduino。

步骤四:上传和测试代码

将Arduino连接电源并上传代码。可通过“thing”页面监控变量状态,或在Arduino IoT Cloud的“Dashbords”页面创建带LED指示的简单仪表盘进行测试。若要调整压力传感器灵敏度,修改Arduino代码中的阈值并重新上传。

步骤五:设置IFTTT的WebHook Applet

IFTTT创建账户,新建以Webhook为触发的Applet,选择“receive web request”,随意命名请求。将“then”属性连接到Google Sheets,选择“add row to spreadsheet”,设置表格名为“MS Tracking Data Source”,指定文件在Google Drive中的存储路径。在“Webhooks”的“Settings”中复制URL,在Arduino IoT Cloud的“Things”页面底部选择“Connect Webhook”并粘贴URL。此后,垫子状态变化会在指定Google表格中新增记录。

步骤六:处理Google Sheets中的数据

创建名为“MS Tracking Data Archive”的Google表格,将两个表格的首工作表命名为“Raw Data”。在“MS Tracking Data Source”文件的“Extensions”中打开Apps Script,复制项目中的“onChange”函数到脚本窗口。在“Triggers”标签页添加新触发器,按要求设置相关参数。在源文件单元格输入内容测试脚本,数据应转移到归档文件的空行。后续可在Google Sheets中进一步处理数据,计算使用时长、生成报告等。

下载地址

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