十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

200元搭一套农田监测:ESP32土壤温湿度采集、WiFi上云与报警完整指南

200元搭一套农田监测:ESP32土壤温湿度采集、WiFi上云与报警完整指南 200元搭一套农田监测ESP32土壤温湿度采集、WiFi上云与报警完整指南【免费下载链接】arduino-esp32Arduino core for the ESP32 family of SoCs项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32凌晨五点番茄大棚里还是黑灯瞎火你蹲在垄边用插针式湿度计一块一块地测土第二天照样浇过头。这种靠人盯的管法换成一套基于 arduino-esp32ESP32 系列芯片的 Arduino 开发核心的监测装置就能省掉十几二十元的板子加几块传感器土壤含水量和温度定时采样WiFi 直接传到云端低于阈值自动报警。这篇按定指标 → 买件 → 接线 → 写码 → 上云的顺序走完整个流程附成本、引脚和参数。动手前先定指标这套系统要回答哪3个问题不少人先买板子再想需求焊完了才发现答不上什么时候该浇水。先花十分钟把下面 3 个问题写下来后面的硬件和代码都是围着它们转要回答的问题对应指标量化要求依据什么时候浇水土壤体积含水量0~100%刷新间隔 ≤5 分钟滴灌经验阈值在 30%~40%地温空气温度是否正常气温 地温误差 ±2°C 内DHT11 标称 ±2°C温室够用系统自己有没有掉线上报成功率≥99%允许丢 1 次连续丢 2 次要告警把报警线先定死湿度 30% 发一条报警气温 35°C 发一条设备连续 2 个周期没上报也算一次报警。指标定了后面就不会出现数据上去了但没人看的局面。下一步拿着这张表去买硬件照着下一节的清单点件。硬件清单4个器件整机不到200元板子按安装方式选不用纠结性能开发板参考价特点适合ESP32-C3 DevKitM-1约 18 元21 个 GPIORISC-V 160MHz最便宜大棚内固定点位有市电XIAO ESP32S3约 25 元20×17.5mm自带 USB可插充电头隐蔽安装、田杆上架M5Stack Atom S3约 45 元内置 OLED 和小电池想就地看数据传感器部分器件作用接口关键参数单价FC-28 土壤湿度测含水量模拟量走 ADC12 位 ADC 对应 0~4095响应 2s约 10 元DHT11空气温湿度单总线±2°C、±5%RH约 5 元DS18B20可选测地温1-Wire±0.5°C可多支并联约 8 元2000mAh 锂电池可选无市电时供电—深度睡眠约 10μA约 25 元以 ESP32-C3 DevKitM-1 为例每个引脚能干什么在丝印旁都标了图里彩色标签就是引脚复用功能模拟传感器优先选 ADC1 通道的 GPIO1~4ADC2 通道的引脚在 WiFi 开启时可能不可用别踩。下一步按上表下单顺便把 4.7kΩ 和 10kΩ 电阻一起买了几分钱一个。接线对照表 开发环境5分钟配好接线就三类线供电、地、信号对照下表来器件引脚接到备注FC-28VCC3V3严禁接 5V会烧探头FC-28GNDGND—FC-28AOGPIO4ADC1 通道DHT11VCC / GND3V3 / GND—DHT11DATAGPIO6裸模块需外接 10kΩ 上拉DS18B20DATAGPIO54.7kΩ 上拉接到 3V3开发环境准备约 5 分钟Arduino IDE 打开工具 → 开发板 → 开发板管理器搜索esp32安装 espressif 官方包。版本下拉框里选最新稳定版alpha 通道 API 有变动老代码跑不了。工具菜单选ESP32C3 Dev Module再选对串口即可。装完的样子如上包名带 by Espressif Systems 的就是官方包。装的过程中可以顺手过一遍仓库自带的 安装文档把常见报错都看了。下一步环境好了就新建一个 sketch写采集主循环。核心逻辑一段代码把采集、判断、上报串起来先搞懂一件事模拟引脚不是直通 ADC 的中间要经过 GPIO 矩阵和 IO_MUX 路由所以某个引脚读不出值时先查它在 variant 里的复用定义而不是怀疑板子坏了。核心循环保持最小化void loop() { int soil analogRead(GPIO4); // 12位ADC范围0~4095 float moisture 100.0 - soil * 100.0 / 4095; // 原始值反转为含水量百分比 float temp readDHT11(); // 读DHT11气温 if (moisture 30.0) { // 低于30%触发土壤过干报警 sendAlarm(moisture, temp); } uploadToCloud(moisture, temp); // 正常数据也照常用 esp_sleep_enable_timer_wakeup(5 * 60 * 1000000); // 5分钟后定时器唤醒 esp_deep_sleep_start(); // 立即回深度睡眠 }每轮采样 上报约 3 秒其余时间整板睡在约 10μA配合 2000mAh 电池把周期改到 1 小时一次时理论续航在 3 个月以上。下一步烧录后打开 115200 波特率的串口监视器确认湿度值和你手持探针的读数差在 5% 以内。数据上云与报警平台怎么选组网固定用 STA 模式接大棚或家里的 2.4GHz WiFi最省事注意 ESP32 只收 2.4GHz 频段家里那种只有 5GHz 的 SSID 它根本搜不到。设备端代码就是把数据拼成 JSON 用 HTTP POST 打出去String data {\m\: String(moisture) ,\t\: String(temp) }; HTTPClient http; http.begin(serverUrl); // 云平台的接收地址 int code http.POST(data); // 返回200即上传成功 if (code ! HTTP_CODE_OK) retryLater(); // 失败先重试别直接丢 http.end();平台按阶段选不用一上来就上企业方案平台免费额度长处适合阶段ThingSpeak免费通道写入间隔 ≥30 秒HTTP API 最简单5 分钟一次采样正好卡线入门验证Blynk免费基础版手机推送 反向控制想在手机上远程开关灌溉阿里云 IoT企业级规则引擎、历史存储、多设备管理商用多节点部署报警阈值别拍脑袋先把阈值放宽 10 个点跑 7 天看误报率再收紧30% 这个数只是起点。下一步先用 ThingSpeak 跑一周把数据底摸清楚再谈别的。避坑手册6个高频问题速查问题大多是接线和电源引起的按现象 → 原因 → 处理对照现象原因处理湿度恒为 0 或 4095探头没插实 / 错接 5V重插探头万用表量一下 3V3读数一周内持续漂移FC-28 金属探头氧化清水冲净晾干或换电容式湿度传感器数据毛刺大12 位 ADC 本底噪声取 10 次均值再使用WiFi 连不上只有 5GHz / 距离太远换 2.4GHz SSID靠近路由器上传返回 401API 密钥抄错、混入空格用纯文本编辑器重新粘贴密钥深睡后不唤醒没先开定时器唤醒源睡之前必须调esp_sleep_enable_timer_wakeup()表里覆盖不到的仓库有专门的排障文档docs/en/troubleshooting.rst串口输出截图留一份再查。下一步新坑遇到先查表查不到就把串口原文发出来问别只说不工作。升级路线单点跑稳之后往哪走扩展按稳定 → 自动 → 组网三段递进前一段没跑稳就别跳级入门第 1~2 周单节点 云端看板 三条报警规则目标是 14 天连续不断数据。进阶第 1~2 月加继电器模块 电磁阀做自动灌溉用 Preferences 库把阈值、WiFi 参数存进闪存拔电不丢采样周期改 1 小时 深睡⚡ 2000mAh 电池撑 3 个月。高级第 2 季度Zigbee/LoRa 多节点组网仓库自带 Zigbee 库OpenThread 也有现成示例接入 OTA 在线升级ESP32-S3 的向量指令可以跑轻量推理做病虫害识别的前置过滤。OTA 是高级阶段最实用的一块不拆机、不跑现场就能换固件升级入口本身带登录页接口挂到农田网络上时用户名密码一定要开否则局域网内任何人都能给你的设备刷固件。下一步先把入门阶段的 14 天数据跑满掉线率达标再谈进阶。收尾给你 3 件能直接执行的事本周内按清单买齐 4 个器件照接线对照表连好用串口监视器跑满 24 小时连续数据。下周接上 ThingSpeak湿度报警先设 30%观察 7 天误报率再收紧阈值。数据稳定后把采样改到每小时 深睡验证电池 3 个月续航再考虑继电器和组网。【免费下载链接】arduino-esp32Arduino core for the ESP32 family of SoCs项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表