农业物联网基础:传感器类型、数据采集原理与通信协议

各位同学,欢迎来到第二章。这一章咱们要聊的是农业物联网的“五官”和“神经”——传感器和通信协议。说白了,就是搞清楚数据从哪来、怎么来、怎么传出去。

我刚开始做农业项目时,觉得传感器嘛,插上电就能用。结果第一次去大棚部署,就被现实狠狠教育了一顿。嗯,这里面的坑不少,咱们一个一个说。

传感器类型:你得知道田里在发生什么

农业环境里,我们最关心的几个参数其实很固定。我把它分成三类:环境、土壤和气象。今天先讲最核心的三种。

温湿度传感器

这个最常见。大棚里温度高了要通风,低了要加温;湿度大了容易得病,小了作物萎蔫。常用的有DHT22、SHT30这类数字传感器,也有PT100这种工业级的。

我个人习惯,大棚里用SHT30就够了,精度±0.3°C,价格也合适。但要注意——千万别把传感器直接暴露在阳光下。我曾经有个项目,传感器装在铁皮箱里,夏天中午测出来65°C,作物早热死了。后来加了百叶箱式的防护罩,数据才正常。

避坑指南:温湿度传感器最怕结露。大棚早晚温差大,传感器表面容易凝水,读数会瞬间跳变。我建议选带防水透气膜的型号,或者定期做除露处理。

光照传感器

光照强度直接影响光合作用效率。单位是lux或μmol/m²/s(光合有效辐射PAR)。

常用的有BH1750(数字输出,I²C接口)和TSL2591(高动态范围)。如果你只是补光控制,BH1750够用;但要做科研级别的光合效率分析,建议上PAR传感器。

这里有个细节:光照传感器必须水平安装。我见过有人随便挂在棚架上,角度歪了30度,读数直接差了一半。你想想看,补光策略全错了,作物能长好吗?

土壤pH传感器

土壤酸碱度影响养分有效性。比如pH低于5.5时,磷元素会被固定,作物吸收不了。

市面上的pH传感器分两种:玻璃电极和ISFET(离子敏感场效应管)。玻璃电极精度高(±0.1pH),但需要定期校准和补充电解液;ISFET免维护,但寿命短一些。

我建议:如果项目周期超过一年,老老实实用玻璃电极。ISFET用半年后漂移严重,我吃过这个亏。

传感器类型 常用型号 接口 精度 典型应用
温湿度 SHT30, DHT22 I²C, 单总线 ±0.3°C, ±2%RH 大棚环境监测
光照 BH1750, TSL2591 I²C ±1lux 补光控制
土壤pH E-201-C, SEN0161 模拟量 ±0.1pH 土壤改良决策

数据采集原理:传感器是怎么“说话”的

传感器采集数据,本质上是一个物理量→电信号→数字值的转换过程。我尽量说得简单点。

模拟量采集

像土壤pH传感器,输出的是0~5V的模拟电压。边缘网关通过ADC(模数转换器)读取这个电压,再根据标定曲线换算成pH值。

举个例子:某pH传感器在pH7.0时输出2.5V,pH4.0时输出4.0V。那么ADC读到3.0V时,对应的pH值就是:

pH = 7.0 - (3.0 - 2.5) * (7.0 - 4.0) / (4.0 - 2.5)
   = 7.0 - 0.5 * 3.0 / 1.5
   = 7.0 - 1.0
   = 6.0

注意:模拟量采集最怕噪声。大棚里的电机、变频器都会引入干扰。我习惯在ADC输入端加一个RC低通滤波器,或者软件上做多次采样取平均。

数字量采集

像SHT30、BH1750这类数字传感器,内部已经完成了模数转换,直接通过I²C或SPI总线输出数字值。边缘网关只需要按协议读取寄存器就行。

这样做的好处是抗干扰能力强,但要注意总线长度。I²C在1米以内没问题,超过3米就需要加电平转换或改用RS-485。

我的经验:在大棚这种电磁环境复杂的地方,能选数字传感器就别选模拟的。虽然贵十几块钱,但省下来的调试时间远不止这个价。

通信协议:数据怎么传出去

传感器采集到数据后,需要从节点传到边缘网关,再从网关传到云端。这里有两个主流协议:MQTT和CoAP。我分别说说。

MQTT:发布/订阅模式

MQTT是物联网领域的事实标准。它基于TCP,采用发布/订阅模式。传感器作为客户端,把数据发布到某个主题(topic),网关或云端订阅这个主题就能收到。

举个例子:

// 传感器发布数据到主题
Topic: farm/greenhouse1/temperature
Payload: {"value": 25.3, "unit": "celsius", "timestamp": 1712345678}

// 网关订阅这个主题
Topic: farm/greenhouse1/temperature
// 网关收到数据后处理

MQTT有三个服务质量等级(QoS):

  • QoS 0:最多发一次,丢了不管。适合光照这类变化慢的数据。
  • QoS 1:至少发一次,可能重复。适合温湿度,丢一包影响不大。
  • QoS 2:恰好发一次,最可靠。适合控制指令或报警。

我个人习惯,传感器上报用QoS 1,控制指令用QoS 2。别所有数据都用QoS 2,网络开销会大好几倍。

CoAP:轻量级UDP协议

CoAP是专门为资源受限设备设计的。它基于UDP,类似HTTP的请求/响应模式,但头部只有4字节。

什么时候用CoAP?当你的传感器是电池供电、网络不稳定的时候。比如野外墒情监测站,用NB-IoT传数据,CoAP比MQTT省电30%以上。

但CoAP也有缺点:没有持久连接。每次通信都要重新建立会话,不适合需要实时推送的场景。

特性 MQTT CoAP
传输层 TCP UDP
模式 发布/订阅 请求/响应
头部大小 2字节(最小) 4字节
可靠性 QoS 0/1/2 CON/NON
适用场景 大棚、养殖场(有电有网) 野外、电池供电(低功耗)

知识体系总览

下面这张图把本章的核心逻辑串起来了。从传感器到数据采集,再到通信协议,最后到边缘网关,每一步都有讲究。

农业物联网数据采集与通信体系 温湿度传感器 光照传感器 土壤pH传感器 模拟量采集 (ADC) 数字量采集 (I²C/SPI) 模拟量采集 (ADC) 通信协议:MQTT / CoAP 边缘网关(数据汇聚与处理) 云端平台 传感器选型决定采集方式

从这张图可以看得很清楚:传感器类型决定了采集方式(模拟还是数字),采集方式又影响了通信协议的选择。比如土壤pH传感器输出模拟信号,ADC转换后数据量小,用CoAP就很合适;而温湿度传感器直接输出数字值,数据更新频繁,用MQTT更靠谱。

核心要点:

  • 传感器选型要兼顾精度、成本和环境适应性
  • 模拟量采集注意抗干扰,数字量采集注意总线长度
  • MQTT适合有稳定电源的场景,CoAP适合电池供电的低功耗场景
  • QoS等级不是越高越好,要根据数据重要性选择