200 元搭一套农田数据哨兵:基于 Arduino-ESP32 的 ESP32 物联网智能农业监测教程
200 元搭一套农田数据哨兵基于 Arduino-ESP32 的 ESP32 物联网智能农业监测教程【免费下载链接】arduino-esp32Arduino core for the ESP32 family of SoCs项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32基于 Arduino-ESP32 开发框架这套 ESP32 物联网智能农业监测系统用不到 200 元硬件和约 3 小时帮你跑通土壤温湿度实时采集、WiFi 云端同步与阈值报警最终得到一块能持续往云平台吐数据的田间监测节点。H2-1 场景切入一个农场的早晨天没亮你蹲在田埂上用手捏一把土判断要不要开泵浇水——这是过去每天重复的活。现在你只想在床头摸出手机打开图表看一眼昨晚到今早的土壤湿度曲线如果已经掉到 30% 以下App 弹一条报警你顺手点下灌溉电磁阀就自己开了。这套系统要解决的其实很具体把凭手感换成看数据并且让数据自己传到云端、自己触发报警。ESP32 因为内置 WiFi 和足够多的 GPIO正好把传感器、联网、低功耗三件事压进一块小开发板里不用额外买通信模块。H2-2 你会得到什么成果预览跑完之后你手里有这么一块能独立干活的监测节点能力说明典型表现实时监测土壤湿度 空气温湿度连续采集每 5 秒采一次ADC 12 位精度云端同步WiFi 上报 JSON存进云平台手机随时查历史曲线阈值报警数据越限自动推送提醒湿度 30% 触发灌溉报警低功耗续航深度睡眠 定时唤醒待机电流可降到 10μA 级硬件总成本区间100200 元。开发板 两三个传感器 电源/接线剩下的钱都花在刀刃上没有一块多余的板子。H2-3 工具链与物料清单 开发板选型——按你的场景挑别买贵的场景推荐板尺寸参考价核心优势家庭小棚 / 隐蔽安装XIAO ESP32S320×17.5mm~25 元超小体积方便塞进田头箱子中小农场主力节点ESP32-C3 DevKitM-1标准 DevKit~18 元性价比最高GPIO 够用需要本地看数M5Stack Atom S325×36mm~45 元自带 OLED现场能直接读数传感器清单——每个都一句话讲清为什么选它FC-28 土壤湿度传感器用电阻原理测含水量响应约 2 秒AO 输出直接进 ADC最适合入门。DHT11 温湿度传感器一颗同时给空气温度和湿度为灌溉决策提供对照数据。DS18B20可选单总线协议精度 ±0.5℃能多个并联适合需要更准土温时加。配套软件Arduino IDE装 ESP32 开发板支持包即可编译上传。官方文档入口docs/en/其中 docs/en/getting_started.rst 和 docs/en/installing.rst 是上手首选。联网示例代码参考 libraries/WiFi/examples/深度睡眠参考 libraries/ESP32/examples/DeepSleep/。ESP32-C3 的引脚在开发板上都标了编号传感器接线前先对着图确认一下引脚位置H2-4 从零到跑通分步构建Step 1环境配置与 ESP32 土壤传感器接线打开 Arduino IDE → 文件 → 首选项把板管理 URL 里加上 ESP32 支持地址再进 工具 → 开发板管理器搜 esp32 装最新版。装好后在工具菜单选你的板型例如 ESP32 C3 Dev Module并选对串口。接线遵循电源—信号—地三要素以 C3 为例传感器VCCGND信号线FC-28 土壤湿度3.3VGNDAO → GPIO4DHT11 温湿度3.3VGNDDATA → GPIO6内部上拉即可DS18B20可选3.3VGNDDATA → GPIO5外接 4.7K 上拉✅ 验证点编译不报错、串口监视器115200 波特率能正常打开说明环境和板子都通了。Step 2最小可用固件——传感器读取 串口打印先把读数跑通别急着连云端。下面这段 ≤15 行是整块节点的心脏#include Arduino.h const int SOIL_PIN GPIO4; // 土壤湿度传感器 AO 接这里 void setup() { Serial.begin(115200); pinMode(SOIL_PIN, INPUT); } void loop() { int raw analogRead(SOIL_PIN); // 读 12 位 ADC范围 0~4095 float pct map(raw, 0, 4095, 100, 0); // 映射成 0~100% Serial.printf(土壤湿度: %.1f%%\n, pct); delay(5000); // 每 5 秒采一次 }逐行看懂三处关键analogRead拿的是 12 位原始值0~4095不是 0~1023ESP32 默认 12 位分辨率map把原始值翻成人类能懂的百分比delay(5000)定采集节拍。湿度传感器是干→大、湿→小的规律所以映射方向写成 100→0。✅ 验证点往土壤探头浇点水串口里的百分比应该肉眼可见地往下掉——读数在动说明硬件链路正常。Step 3连云端——WiFi STA 模式 JSON 上报农田里通常有现成的 WiFi用STA 模式设备作为客户端连路由器最省事。Arduino-ESP32 的WiFi.begin(ssid, 密码)会默认自动重连连接示例可直接抄 libraries/WiFi/examples/WiFiClientConnect/。连上后把每次采到的数据打包成 JSON 发出去String data {\moisture\: String(pct) ,\temperature\: String(temp) }; WiFiClient client; HTTPClient http; http.begin(client, https://api.你的平台.com/feed); http.addHeader(Content-Type, application/json); http.POST(data);平台选型初学者建议先用 ThingSpeak 这类带免费数据通道的平台API 是简单的 POST不用自己搭后端跑顺了再考虑 Blynk手机 App 控制或阿里云 IoT企业级。设备端建议配一个固定 IP避免 DHCP 漂移导致平台侧对不上设备。✅ 验证点云平台曲线图开始按 5 秒间隔往上跳新点且数值和串口打印的一致——数据链路打通。H2-5 让它扛住田间环境生产化加固 ⚡田间设备多半没有市电靠电池/太阳能省电是头等大事。核心手法是深度睡眠 定时唤醒平时睡到点醒、采一次数、发一次包、再睡。Arduino-ESP32 用两行就能进入这个循环esp_sleep_enable_timer_wakeup(5 * 60 * 1000000); // 5 分钟微秒后唤醒 // ……在这里读传感器 上报 JSON然后 esp_deep_sleep_start(); // 立即入睡这样 ESP32 待机电流可以压到 10μA 量级一块普通锂电池撑几个星期没问题。完整写法含 RTC 内存保活、唤醒原因打印可看 libraries/ESP32/examples/DeepSleep/TimerWakeUp/。多节点扩展单块板只管自己脚下那一平方米。要覆盖大面积就再加几块节点各自用 WiFi 上报距离远、WiFi 覆盖不到的地可以换 LoRa 或 Zigbee 组网把数据汇聚到一个网关。传感器怎么通过 IO_MUX / GPIO 矩阵接到内核的底层架构看这张图更直观供电一块 5V 太阳能小板给 18650 锂电池充电再用一颗 LDO 降压到 3.3V 给 ESP32就是无电网田地的标准供电方案。白天补的电足够撑到下一次唤醒。H2-6 踩坑速查表 现象大概率原因解决湿度读数一直卡在 0 或 100 不动探头没吃土 / 3.3V 供电不稳探头插进湿润土里用稳压 3.3V 供电检查 AO 是否接错 GPIOWiFi 反复连不上密码错、信号弱、DHCP 拿不到 IP核对 SSID/密码挪天线位置给设备配固定 IPADC 值跳动大传感器线太长引入干扰缩短信号线读 5 次取平均再上报电池掉电飞快忘了进深度睡眠 / 常亮外设采集完立刻esp_deep_sleep_start()关掉不必要外设想更新固件却得跑现场没开 OTA启用 OTA 后远程就能刷见下方刷固件不用每次爬田——Arduino-ESP32 内置OTA 空中升级配合官方 Web 更新页面登录校验后上传新固件即可界面长这样登录校验能挡住未授权访问配合 docs/en/ota_web_update.rst 的说明你就有一套远程刷板的能力了。H2-7 接下来可以玩什么扩展路线跑通基础监测后下面三条路一条比一条值钱按需往上加加继电器 → 自动灌溉阈值报警从提醒你升级成直接开电磁阀实现闭环价值最高。加光照/多路土壤参数 → 温室优化接入光照、EC电导率为温室补光和施肥提供数据决策更准。上 AI 推理 → 病虫害初筛ESP32-S3 带向量指令加速能跑轻量模型做图像初筛把问题在田头就地发现少依赖云端。每条都是在现有固件上加一个传感器/执行器的增量不推翻已跑通的部分。H2-8 你的前 30 分钟行动清单0~10 分钟IDE 装好 ESP32 支持包、选对板子和串口打开 docs/en/getting_started.rst 对照一遍环境。10~20 分钟按 Step 1 的表把 FC-28 和 DHT11 接好把 Step 2 的最小固件烧进去看串口数字在动。20~30 分钟填好 SSID 和密码跑通 Step 3 的 JSON 上报在云平台看到第一个跳动的数据点。剩下的时间留给阈值报警和深度睡眠。记住一句话适合你这块地的系统比复杂的系统更重要——先把一个节点稳稳跑起来再谈扩展。【免费下载链接】arduino-esp32Arduino core for the ESP32 family of SoCs项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考