尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

花不到 200 元,搭一套 ESP32 农田监测站:arduino-esp32 从接线到云端报警

花不到 200 元,搭一套 ESP32 农田监测站:arduino-esp32 从接线到云端报警 花不到 200 元搭一套 ESP32 农田监测站arduino-esp32 从接线到云端报警【免费下载链接】arduino-esp32Arduino core for the ESP32 family of SoCs项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32凌晨两点手机亮了凌晨两点手机震了一下「土壤湿度 27%低于阈值」。不用起身下地你在被窝里已经心里有数了。这就是 ESP32 农业监测系统给你的东西——设备埋在土里数据自己跑到你手机上。传统做法是拿个测墒仪一天走两趟地走完数据已经过时了。这篇文章带你用 arduino-esp32 核心把这套系统搭出来接线、读数据、联网、上云报警硬件总成本不到 200 元一个下午就能跑通。先看清一条数据的完整路径别急着接线先看数据从哪里来、到哪里去角色谁来做干什么采集FC-28 土壤湿度模块把土壤含水量变成一个电压值处理ESP32 arduino-esp32 核心读 ADC、打包成 JSON传输芯片内置 WiFi连家里路由器不用额外买模块存储报警onenet 云平台存数据低于阈值时推送到你手机流程是单向的传感器 → ESP32 → WiFi → 云 → 手机。整条链路里你只写读和发两件事存储和阈值判断都丢给云平台。为什么选这颗芯片WiFi 和蓝牙是烧在芯片里的不用另购通信模块GPIO 数量够同时接好几路传感器还有深度睡眠——芯片的最低功耗状态电流能压到几十微安让电池撑过整个种植季。这是最典型的 ESP32 物联网应用形态。仓库里的 arduino-esp32 核心把这些能力都封装好了WiFi、HTTPClient、DeepSleep 的 API 直接调不用自己啃底层。ESP32-C3 DevKitM-1 引脚布局接线前对照这张图确认电源、地线和 ADC 引脚顺带说一句核心里 ADC 是 12 位的analogRead 返回 0~4095实现在 cores/esp32/esp32-hal-adc.h读数据时心里有数。ESP32 土壤湿度传感器怎么接电源、信号、地线先装核心Arduino IDE 打开板卡管理器搜 esp32 装上装完在菜单里选中你的开发板型号。板卡管理器中搜索 esp32 并安装核心这是后面一切的前置动作FC-28 是最便宜的 ESP32 土壤湿度传感器一共三根线VCC 接 3.3VGND 接地AO模拟输出接 GPIO4。记住三要素电源、信号、地线。模块是 3.3V 逻辑接到 5V 会烧地线虚接则是大多数诡异现象的根源。ESP32 GPIO 外设连接架构所有传感器都通过 GPIO 矩阵汇入核心接线前先看懂这张图想再加一个 DS18B20 温度传感器把它的 DATA 接到另一个 GPIO再串一个 4.7K 上拉电阻就行。核心逻辑读土、发云读的部分只有一件事拿 ADC 原始值换算成百分比。float readSoilMoisture() { int raw analogRead(SOIL_PIN); // 12 位0~4095 return map(raw, 0, 4095, 100, 0); // 换算成百分比 }跑起来串口监视器里应该刷出一个 60 左右的数字把探头从土里拔出来数值会明显变大。⚡ 如果数字纹丝不动先查三根线和引脚号九成问题出在这。发的部分是等 WiFi 连上把 JSON 用 HTTP POST 到 onenet。这就是 ESP32 云端报警的最后一公里。void setup() { WiFi.begin(WIFI_SSID, WIFI_PWD); http.begin(http://api.heclouds.com/device_id/datapoints); }void loop() { String body {\data\:[{\id\:\moisture\,\value\: String(readSoilMoisture()) }]}; http.sendHeader(Content-Type, application/json); http.POST(body); delay(60000); // 每分钟发一次 }成功的话串口打印出状态码 200onenet 控制台的物数据页面里跳出湿度值。✅为什么只推荐 onenet免费的物足够单节点演示数据点datapoint概念简单发一个 POST 就行阈值告警在控制台里配一下超线就推送到你手机不用自己维护服务器。device_id 是控制台物页面里的那个数字填进 setup 里即可。设备以 Station 模式主动连路由器的那种反之为 AP 热点模式连家里路由器农业监测的标准组网方式踩坑手册四个高频问题下面四个是新手第一个星期最常碰到的都是能当场修好的小事不用慌现象原因一句话修复土壤湿度读数跳十几点接触不良或电源噪声探头线焊牢连读 10 次取平均再发WiFi.begin 后拿不到 IP密码错或路由器只有 5G在 setup 里打印 WiFi.status() 和 rssi 定位ESP32 深度睡眠后不唤醒忘了配唤醒源睡眠前调用 esp_sleep_enable_timer_wakeup写法看 DeepSleep 文档读数一直是 4095AO 接了没有 ADC 通道的引脚对照上面的引脚布局图换到 ADC 引脚设备跑起来之后还有个好处可以 OTA——不插线也能从网上给它换固件不用再抱开发板回书桌登录页长这样固件联网后可从 Web 页面升级登录页挡一下未授权访问延伸方向低功耗、多节点、自动灌溉低功耗改造加一行深度睡眠定时唤醒每 5 分钟醒一次读一次数据电池续航能上一个数量级改动只在 loop 末尾。多节点组网用仓库自带的 ESP_NOW 库 做点对点传输田里的子节点不用各自配 WiFi由一台基站统一收数转发。ESP32 智能灌溉加个继电器驱动电磁阀湿度连续半小时低于阈值就自动浇水报警系统就此变成控制系统。接上第一根线串口里跳出第一个数值的那一刻这套系统就活了。【免费下载链接】arduino-esp32Arduino core for the ESP32 family of SoCs项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表