littlebot
Published on 2025-04-15 / 2 Visits
0

【源码】基于ESP32和LoRa的蔬菜花园土壤湿度监测系统

项目简介

本项目致力于打造一个端到端的“真实世界”应用,借助测量蔬菜花园土壤湿度来对植物生长环境进行监控。项目架构依托现成代码与硬件,具备一定通用性,未来有望支持其他类似项目。

项目的主要特性和功能

  1. 传感器选择
    • 电导式湿度传感器:可通过测量土壤电阻推断湿度,但因腐蚀问题被弃用。
    • 电容式湿度传感器:利用电离环境测量湿度,无腐蚀问题且成本低,但需校准。
    • 温度传感器:采用DS18B20数字传感器,通过1 - Wire协议传输数据,支持自校准。
  2. 数据传输
    • LoRa协议:作为无线传输协议,具有低功耗和高覆盖范围的特点,适合离网使用。
    • ESP32 LoRa模块:使用Heltec ESP32 LoRa v2模块,有强大处理器和低功耗特性,支持电池与太阳能供电。
  3. 数据接收与处理
    • Raspberry Pi 4:充当IoT主控设备,负责数据收集和可视化。
    • WaveShare LoRa HAT:后期添加,用于直接在Raspberry Pi上接收LoRa数据,减少中间网关。
  4. 系统架构
    • Docker运行时:主机设备采用Docker运行时,提供虚拟网络,管理端口暴露,利用本地操作系统进行数据库持久化,保证系统的可部署性和可重复性。

安装使用步骤

  1. 安装VS Code:下载并安装Visual Studio Code。
  2. 安装PlatformIO扩展:在VS Code中安装platformio.org扩展,用于ESP32模块的编程。
  3. 配置串口
    • 理解波特率概念,使用minicom等工具进行相应调整。
    • 执行命令sudo adduser $USER dialout,将当前用户添加到dialout组,以便无需超级用户权限连接串口适配器。
  4. 项目文件结构:主信息存于根目录,附加文档在doc文件夹,脚本在projects文件夹。每个项目文件都有ReadMe文件,解释代码编写原因和经验。
  5. 项目文件:包含ESP32 LoRa Transmitter、ESP32 LoRa Receiver、Raspberry Pi 4 Receiver、Raspberry Pi "server" script。

完成以上步骤,即可实现对蔬菜花园土壤湿度的监测。

下载地址

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