2、智慧农业基础:环境监测要素(温湿度、光照、土壤湿度等)、常见传感器与数据采集方式
智慧农业的核心在于“感知-传输-决策-执行”的闭环,而感知层是整个系统的数据源头。在TinyML项目中,环境监测要素的准确采集直接决定了后续病害识别模型与本地决策的可靠性。本章将系统梳理温湿度、光照、土壤湿度等核心监测要素的物理意义与工程测量方法,剖析常见传感器的选型逻辑与数据采集链路,并结合实际部署场景给出可落地的操作流程与排障经验。
2.1 环境监测要素的物理基础与测量原理
农业环境监测的核心要素包括空气温湿度、光照强度、土壤湿度、CO₂浓度、土壤温度、pH值等。其中,温湿度、光照和土壤湿度是最基础且对作物生长影响最直接的三个参数。理解这些参数的物理意义是正确选型和数据解读的前提。
2.1.1 空气温度与相对湿度
空气温度直接影响作物的光合作用、呼吸作用和蒸腾作用速率。大多数作物在15-35°C范围内生长良好,超过40°C或低于5°C会导致生理障碍。相对湿度(RH)则影响气孔开闭和病害发生概率,高湿环境(RH>85%)易诱发灰霉病、霜霉病等真菌性病害。
工程测量中,温湿度传感器通常采用电容式或电阻式感湿元件。电容式传感器(如SHT30、DHT22)利用高分子薄膜吸湿后介电常数变化的原理,具有响应快、精度高的特点。温度测量则多采用热敏电阻或半导体PN结电压变化原理。以SHT30为例,其温度精度可达±0.3°C,湿度精度±2%RH,I2C数字输出,非常适合TinyML节点直接读取。
2.1.2 光照强度与光合有效辐射
光照是植物光合作用的能量来源。光照强度通常用照度(lux)或光合有效辐射(PAR,单位μmol/m²/s)表示。对于农业应用,PAR更为科学,因为它只包含400-700nm波段的光量子,直接对应光合作用。但PAR传感器成本较高,工程上常用照度传感器(如BH1750)配合转换系数估算PAR。
BH1750是一款数字环境光传感器,量程1-65535 lux,I2C接口,内置16位ADC,功耗极低(待机仅1μA)。在TinyML项目中,光照数据可用于判断遮阳帘控制、补光灯启停,以及作为病害识别模型的辅助特征(例如弱光环境下病害发生概率更高)。
2.1.3 土壤湿度(体积含水量)
土壤湿度是灌溉决策的核心依据。工程上常用体积含水量(VWC,%)表示,即土壤中水分体积占土壤总体积的比例。测量方法主要有三种:
- 电阻式(张力计式):利用土壤中水分含量不同导致电阻变化的原理。成本低(几元到十几元),但电极易腐蚀,长期稳定性差,需要频繁校准。
- 电容式(频域反射FDR):通过测量土壤介电常数变化来推算含水量。精度较高(±3% VWC),响应快,寿命长,是目前主流选择。典型型号如 capacitive soil moisture sensor v1.2。
- 时域反射(TDR):利用电磁波在土壤中的传播时间测量含水量,精度最高(±1%),但设备昂贵(数千元),适合科研或高标准农田。
对于TinyML项目,推荐使用电容式传感器,其模拟输出(0-3.3V)或数字输出(I2C)均可直接接入微控制器。
| 监测要素 | 典型传感器 | 输出接口 | 精度范围 | 功耗 | 适用场景 |
|---|---|---|---|---|---|
| 空气温湿度 | SHT30 / DHT22 | I2C / 单总线 | ±0.3°C / ±2%RH | 低(μA级) | 温室、大田气象站 |
| 光照强度 | BH1750 / TSL2561 | I2C | ±20% lux | 极低(1μA待机) | 补光控制、遮阳决策 |
| 土壤湿度 | 电容式FDR / 电阻式 | 模拟 / I2C | ±3% VWC | 中(5-20mA) | 灌溉系统、根系监测 |
| 土壤温度 | DS18B20 | 单总线 | ±0.5°C | 低 | 地温补偿、冻害预警 |
| CO₂浓度 | MH-Z19 / SCD30 | UART / I2C | ±50ppm | 中(30-50mA) | 温室通风控制 |
2.2 传感器选型与数据采集方式
传感器选型需要综合考虑精度、功耗、接口、成本、寿命和防护等级。对于TinyML边缘节点,功耗和接口兼容性往往比精度更重要,因为节点通常由电池或太阳能供电,且计算资源有限。
2.2.1 数字接口 vs 模拟接口
数字接口传感器(I2C、SPI、单总线)内部集成了ADC和校准电路,直接输出工程单位数值,无需外部信号调理,抗干扰能力强,适合长距离传输。模拟接口传感器输出原始电压或电流信号,需要微控制器内置ADC采样,并进行软件校准和单位换算。模拟方案成本更低,但易受电源噪声和线路压降影响。
在TinyML项目中,推荐优先选用数字接口传感器,以减少代码复杂度和调试时间。例如,SHT30和BH1750均为I2C接口,可共用一条I2C总线,节省GPIO资源。若必须使用模拟传感器(如电容式土壤湿度),则需注意ADC参考电压的稳定性,并采用多次采样取平均的软件滤波策略。
2.2.2 数据采集频率与功耗平衡
环境参数变化速率不同,采集频率也应有所区别。空气温湿度变化较慢,每1-5分钟采集一次即可;光照强度在日出日落时段变化较快,建议每30秒采集一次;土壤湿度变化最慢,每10-30分钟采集一次足够。过高的采集频率不仅浪费电能,还会产生大量冗余数据,增加TinyML模型推理负担。
工程实践中,常采用“事件驱动+定时轮询”混合模式:平时处于深度睡眠(电流<10μA),由RTC定时唤醒采集,或由外部中断(如光照突变)触发立即采集。例如,使用ESP32-S3或STM32L4系列微控制器,搭配SHT30和BH1750,可实现平均功耗低于50μA的长期监测节点。
- 电源去耦:每个传感器电源引脚旁并联100nF+10μF电容,避免数字开关噪声耦合到模拟信号。
- I2C上拉电阻:I2C总线需配置4.7kΩ上拉电阻至VCC,若总线长度超过30cm,应降低上拉至2.2kΩ。
- ADC采样平均:模拟传感器连续采样16次,去掉最大值和最小值后取平均,可有效抑制随机噪声。
- 数据校准:使用标准温湿度计或土壤烘干法进行单点或多点校准,消除传感器个体差异。
2.3 实战案例:温室番茄种植环境监测节点部署
本案例以华北地区某智能温室番茄种植大棚为背景,设计并部署一套基于TinyML的环境监测节点,用于实时监测温湿度、光照和土壤湿度,并实现本地灌溉决策。
2.3.1 项目背景与约束条件
该温室面积约500m²,种植番茄800株。原有环境监测依赖人工巡检,每天记录3次,无法及时发现极端环境。业主希望部署一套低成本、低功耗的自动监测系统,要求:
- 节点成本控制在200元以内(不含网关)
- 电池供电,至少连续工作6个月
- 支持本地决策:当土壤湿度低于阈值时自动开启滴灌
- 数据可通过LoRa或Wi-Fi上传至网关,但本地决策必须不依赖网络
2.3.2 硬件选型与连接
选用ESP32-C3作为主控(支持Wi-Fi和BLE,休眠电流5μA),搭配以下传感器:
- SHT30(温湿度,I2C地址0x44)
- BH1750(光照,I2C地址0x23)
- 电容式土壤湿度传感器(模拟输出,接ADC引脚GPIO1)
- 继电器模块(控制滴灌电磁阀,GPIO2)
供电采用3.7V 18650锂电池(3400mAh)+ TP4056充电模块 + 低功耗LDO(MCP1700,静态电流1.6μA)。系统每5分钟唤醒一次,采集数据并执行决策,然后立即进入深度睡眠。
2.3.3 数据采集与决策逻辑
核心决策逻辑采用简单的阈值判断+滞回控制,避免电磁阀频繁开关:
// 伪代码示例
void loop() {
// 唤醒后读取传感器
float temp = sht30.readTemperature();
float hum = sht30.readHumidity();
float lux = bh1750.readLux();
int soil_raw = analogRead(SOIL_PIN);
float soil_vwc = map(soil_raw, 1800, 3200, 0, 100); // 校准曲线
// 灌溉决策(滞回控制)
if (soil_vwc < 25.0 && !irrigation_on) {
digitalWrite(RELAY_PIN, HIGH); // 开启滴灌
irrigation_on = true;
} else if (soil_vwc > 40.0 && irrigation_on) {
digitalWrite(RELAY_PIN, LOW); // 停止滴灌
irrigation_on = false;
}
// 高温预警(本地LED指示)
if (temp > 35.0) {
digitalWrite(LED_PIN, HIGH);
}
// 进入深度睡眠5分钟
esp_deep_sleep(300 * 1000);
}
2.3.4 部署结果与复盘
系统部署后连续运行45天,采集数据约12,960组。实际效果如下:
| 指标 | 部署前(人工巡检) | 部署后(自动监测) | 改善幅度 |
|---|---|---|---|
| 数据采集频率 | 3次/天 | 288次/天 | 96倍 |
| 灌溉用水量 | 约12m³/周 | 约8.5m³/周 | 节水29% |
| 高温预警响应时间 | 最长8小时 | <5分钟 | 显著提升 |
| 电池续航 | — | 预计7个月 | 满足要求 |
复盘发现两个问题:一是电容式土壤湿度传感器在盐碱地环境下读数漂移约5% VWC,需每月校准一次;二是I2C总线在高温高湿环境下偶发通信错误,通过增加软件重试机制(连续3次失败才报错)解决。
2.4 常见误区与工程经验总结
在智慧农业环境监测项目中,以下误区需要特别注意:
实际上,对于农业环境监测,±0.5°C的温度精度和±3%RH的湿度精度已完全足够。盲目追求高精度传感器(如实验室级)会大幅增加成本,且对TinyML模型性能提升有限。应优先关注长期稳定性和重复性。
农业环境粉尘大、湿度高、有农药腐蚀。传感器若不加装防护罩(如PTFE透气膜、百叶箱),寿命会缩短至1-2个月。建议所有户外传感器均安装防护外壳,并定期清洁。
- 冗余设计:关键监测点(如育苗区)部署双传感器,当差值超过阈值时触发告警,避免单点故障导致数据缺失。
- 数据时间戳:即使本地决策不依赖时间,也应在数据包中加入RTC时间戳,便于后续离线分析。
- 校准记录:每次校准后记录校准日期、标准值、传感器读数,建立校准台账,便于追溯数据质量。
- 固件升级预留:在TinyML节点上预留OTA升级接口,方便后续更新模型或调整阈值参数。