返回首页

ESP32 温室自动化:传感器和隐藏引脚

使用 ESP32 创建家庭温室监测系统的实用指南。描述典型错误,包括 ADC2 和 Wi-Fi 冲突、传感器校准方法和数据可视化技术。

ESP32 作为您的个人农艺师:稳定运行的秘诀
Advertisement 728x90

ESP32 化身农艺师:自动化窗台农场,破解芯片隐藏特性

只需 500 卢布的 ESP32 成为了窗台微型温室监控和控制系统的核心。关键任务——用客观的传感器数据取代人为猜测,确保草莓、罗勒、生菜和辣椒的最佳生长条件。初步实验显示:没有测量,很容易浇水过多、光照不足,或忽略夜间温度过低。解决方案——持续采集土壤湿度、光照强度、温度和空气湿度数据。

系统架构:传感器、微控制器、云端

系统围绕 ESP32 DevKit V1 构建。选择它的原因是三个因素:低成本、内置 Wi-Fi 支持,以及模拟输入可用。连接了四个主要传感器:

  • FC-28——测量土壤电阻,间接指示湿度水平。
  • BH1750——数字光传感器,输出 lux 值。
  • DHT22——跟踪空气温度和相对湿度。
  • Photoresistor——模拟传感器,用于备用光强监测。

数据每 5 秒读取一次,并输出到 Serial Monitor 进行初始调试。初步测量揭示了关键问题:通风时夜间温度降至 18°C,光照不足(仅 3000–4500 lux,而非所需的 8000+),以及浇水不均。调整后——将花盆移近窗户、添加第二盏灯、调整浇水时间表——产量主观上增加了 40%。

Google AdInline article slot

云存储集成与可视化

通过 Serial Monitor 的本地监控很快变得不便。对于长期分析,数据通过 HTTP GET 请求发送到个人服务器。示例请求:

/sensorData.php?login=eug&sensor_id=1&val=1842&json=1

服务器端,PHP 脚本将值保存到数据库。这实现了时间序列图:浇水后土壤湿度动态、日温波动,以及生长灯光输出稳定性。可视化将原始数字转化为清晰趋势——例如,浇水三天后土壤湿度从 2100 mV 降至 800 mV,表明需要另一轮浇水。

隐藏陷阱:ADC2 与 Wi-Fi 冲突

启用 Wi-Fi 后,系统突然停止传输模拟传感器数据。ADC 值变为零,尽管接线和代码未变。原因是使用了属于 ADC2 的 GPIO2。在 ESP32 架构中,无线模块(Wi-Fi/Bluetooth)使用 ADC2 进行内部校准,并阻塞用户应用使用。修复方法——切换到 ADC1 引脚,这些引脚独立于无线接口运行。

Google AdInline article slot

Wi-Fi 激活时模拟传感器的安全引脚:

  • GPIO32、GPIO33、GPIO34、GPIO35、GPIO36 (VP)、GPIO39 (VN)

危险引脚(ADC2):

  • GPIO0、GPIO2、GPIO4、GPIO12、GPIO13、GPIO14、GPIO15、GPIO25、GPIO26、GPIO27

修复只需一分钟:将 const int analogPin = 2; 改为 const int analogPin = 34;,并重新接线。系统立即工作。

Google AdInline article slot

可靠运行的实用提示

为了让系统稳定运行数月,请遵循这些规则:

  • 传感器校准。对于 FC-28,在两个极端测量输出电压:完全干燥土壤(~800 mV)和饱水土壤(~2200 mV)。正常值为约 1500 mV。
  • 防潮保护。ESP32 对冷凝敏感。将所有连接密封在防水盒中,或用热熔胶灌封。
  • 外部电源。笔记本 USB 端口往往无法承受 Wi-Fi 模块和水泵的峰值电流。使用 5V/2A 电源。
  • 本地数据存储。服务器中断时不要丢失数据。通过 SPIFFS 或 LittleFS 实现缓冲,然后批量发送。
  • 通知。设置 Telegram 机器人或邮件警报,当参数超出范围时触发(如土壤湿度 < 1000 mV)。

理念与成果:技术是为仆而非主人

运行三个月后,收获了第一批樱桃番茄,生菜定期收割,罗勒疯长,辣椒即将开花。关键启示——技术无法取代理解自然,而是增强它。数据减少了猜测:不再纠结何时浇水或开灯。不过,即使传感器读数完美,植物仍可能出人意料——提醒我们生物学比任何算法都复杂。

重要事项

  • ESP32 不仅仅是 Arduino 的替代品——它是带有 Wi-Fi 和 Bluetooth 的完整 IoT 节点。
  • 带有 Wi-Fi 时,ADC2 引脚(GPIO0、2、4、12–15、25–27)不可用。
  • 传感器校准是必须的——出厂值不考虑你的土壤。
  • 本地数据存储对系统韧性至关重要。
  • 通过 Telegram 或邮件的通知让管理更便捷。

项目总预算——约 900 卢布。组件可在 AliExpress 和本地电子商店购买。系统可扩展:添加继电器控制水泵、Home Assistant 集成,或与其他智能农场比较数据以找到最佳设置。

— Editorial Team

Advertisement 728x90

继续阅读