项目简介
本项目致力于打造一个端到端的“真实世界”应用,借助测量蔬菜花园土壤湿度来对植物生长环境进行监控。项目架构依托现成代码与硬件,具备一定通用性,未来有望支持其他类似项目。
项目的主要特性和功能
- 传感器选择
- 电导式湿度传感器:可通过测量土壤电阻推断湿度,但因腐蚀问题被弃用。
- 电容式湿度传感器:利用电离环境测量湿度,无腐蚀问题且成本低,但需校准。
- 温度传感器:采用DS18B20数字传感器,通过1 - Wire协议传输数据,支持自校准。
- 数据传输
- LoRa协议:作为无线传输协议,具有低功耗和高覆盖范围的特点,适合离网使用。
- ESP32 LoRa模块:使用Heltec ESP32 LoRa v2模块,有强大处理器和低功耗特性,支持电池与太阳能供电。
- 数据接收与处理
- Raspberry Pi 4:充当IoT主控设备,负责数据收集和可视化。
- WaveShare LoRa HAT:后期添加,用于直接在Raspberry Pi上接收LoRa数据,减少中间网关。
- 系统架构
- Docker运行时:主机设备采用Docker运行时,提供虚拟网络,管理端口暴露,利用本地操作系统进行数据库持久化,保证系统的可部署性和可重复性。
安装使用步骤
- 安装VS Code:下载并安装Visual Studio Code。
- 安装PlatformIO扩展:在VS Code中安装platformio.org扩展,用于ESP32模块的编程。
- 配置串口
- 理解波特率概念,使用minicom等工具进行相应调整。
- 执行命令
sudo adduser $USER dialout
,将当前用户添加到dialout组,以便无需超级用户权限连接串口适配器。
- 项目文件结构:主信息存于根目录,附加文档在
doc
文件夹,脚本在projects
文件夹。每个项目文件都有ReadMe
文件,解释代码编写原因和经验。 - 项目文件:包含ESP32 LoRa Transmitter、ESP32 LoRa Receiver、Raspberry Pi 4 Receiver、Raspberry Pi "server" script。
完成以上步骤,即可实现对蔬菜花园土壤湿度的监测。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】