植物监测项目:从硬件搭建到代码实现
立即解锁
发布时间: 2025-08-30 01:55:26 阅读量: 5 订阅数: 15 AIGC 

# 植物监测项目:从硬件搭建到代码实现
## 1. 项目概述
在物联网项目中,使用传感器监测事件并将数据提供给其他机器、云服务或本地服务器是常见的形式。本项目聚焦于植物土壤湿度监测,旨在将数据记录与数据可视化相结合。具体做法是将一个或多个土壤湿度传感器连接到 MicroPython 开发板,设置定时器定期读取传感器数据,并将其存储在 CSV 文件中。用户可通过 HTML 网页查看这些数据。
## 2. 所需组件
以下是项目所需的组件列表:
| 组件 | 数量 | 描述 | 成本 | 购买链接 |
| --- | --- | --- | --- | --- |
| MicroPython 开发板 | 1 | Pyboard v1.1 带引脚或 WiPy | $25 - $50 | [Pyboard](https://www.adafruit.com/product/2390) [WiPy](https://www.adafruit.com/product/3338) |
| 土壤湿度传感器 | 1+ | 土壤湿度传感器 | $6 | [Sparkfun](https://www.sparkfun.com/products/13637) |
| 网络模块(Pyboard) | 1 | CC3000 扩展板或等效产品 | $15+ | 多种 |
| 实时时钟 | 1 | RTC(Pyboard 及无 NTP 支持的开发板可选) | $10+ | [Sparkfun](https://www.sparkfun.com/products/12708) |
| 跳线(WiPy) | 3* | M/M 跳线,6 英寸(一套 10 根) | $4 | [Sparkfun](https://www.sparkfun.com/products/8431) |
| 跳线(Pyboard) | 15+ | M/M 跳线,6 英寸(一套 10 根) | $4 | [Sparkfun](https://www.sparkfun.com/products/8431) |
| 电源 | 1 | USB 电缆从 PC 取电 | 自备 | |
| 电源 | 1 | USB 5V 电源及电缆 | 自备 | |
### 2.1 组件说明
- **MicroPython 开发板**:可选择 Pyboard v1.1 或 WiPy,WiPy 更适合本项目,因其具备 WiFi 和 NTP 支持。
- **土壤湿度传感器**:多数有两个插入土壤的探针,通过小电荷测量探针间的电阻,读数越高,土壤湿度越大。但不同厂商的传感器读数范围可能不同,且受土壤成分、温度和花盆类型等环境因素影响。
- **网络模块(Pyboard)**:Pyboard 需要网络模块实现联网功能。
- **实时时钟**:Pyboard 固件无 NTP 服务器支持,需初始化板载 RTC、连接备用电池或添加实时时钟模块来保持时间。
- **跳线**:数量根据传感器数量和开发板是否需要网络模块而定。
## 3. 硬件连接
### 3.1 连接说明
以下是 MicroPython 开发板(WiPy 和 Pyboard)的连接表格:
| MicroPython 开发板 | WiPy | Pyboard | 组件 | 线颜色 |
| --- | --- | --- | --- | --- |
| | P13 | X19 | 传感器 1: VCC | |
| | GND | GND | 传感器 1: GND | |
| | P19 | X20 | 传感器 1: SIG | |
| | P14 | X21 | 传感器 2: VCC | |
| | GND | GND | 传感器 2: GND | |
| | P20 | X22 | 传感器 2: SIG | |
### 3.2 连接步骤
1. 将土壤湿度传感器插入植物土壤中。若植物离电源较远,可能需要使用更长的电线连接传感器。
2. 对于 WiPy,将开发板的 USB 接口朝左放置,可使用小面包板辅助接地连接。
3. 对于 Pyboard,同样将 USB 接口朝左放置,建议使用面包板连接网络模块。
4. 连接完成后,务必仔细检查连接是否正确,再开启开发板电源。
### 3.3 注意事项
- 需使用能在 3.3 - 5V 电压下工作的土壤湿度传感器,Sparkfun 的传感器与此兼容。
- 为延长土壤湿度传感器的使用寿命,可使用 GPIO 引脚控制传感器电源,读取数据时开启引脚,读取完成后关闭。
## 4. 传感器校准
### 4.1 校准的重要性
传感器校准非常重要,尤其是土壤湿度传感器,因其有多种版本,且对土壤成分、温度和花盆类型等环境因素敏感。通过校准,可确定合适的阈值,将传感器读数分类为“干”、“正常”和“湿”,便于判断植物是否需要浇水。
### 4.2 校准步骤
1. **选择土壤样本**:选取几盆不同湿度的土壤,包括干燥、正常浇水和过度浇水的土壤。
2. **设置开发板**:选择支持 ADC 的 GPIO 引脚读取传感器数据,并选择一个引脚为传感器供电。例如,在 WiPy 上,P13 - P18 范围内有多个 ADC GPIO 引脚。
3. **编写校准代码**:以下是校准土壤湿度阈值的代码:
```python
# MicroPython for the IOT - Chapter 10
#
# Project 3: MicroPython Plant Monitoring
#
# Threshold calibration for soi
```
0
0
复制全文
相关推荐









