4. 需求分析与系统设计:从用户痛点到底层架构

说实话,我见过太多智慧农业项目栽在需求分析这一步。有的团队上来就画架构图,有的直接买硬件开干。结果呢?系统上线后农民不用,数据采了没人看,设备坏了没人修。

这一章,我就跟你聊聊怎么把「用户需求」一步步变成「可落地的系统设计」。我自己的经验是:需求分析花的时间越多,后面返工的坑就越少。

4.1 用户需求采集:别坐在办公室猜

做智慧农业,你的用户是谁?不是写标书的甲方,是那些天天跟地打交道的农户、农技员、农场主。他们的痛点,你得亲自去田里听。

核心原则:需求采集必须「下地」。

4.1.1 三类关键用户

用户角色 核心诉求 常见痛点
种植户/农场主 降本、增产、省人工 不知道什么时候浇水、施肥;雇人成本高
农技员/植保专家 精准诊断、远程指导 跑田里太累,数据分散,没法做趋势分析
管理者/企业老板 看全局、管资产、控风险 报表靠人工填,设备坏了不知道,投入产出算不清

我记得有一次去山东一个大棚项目,农户跟我说:「你们那个系统,我每天还得打开手机看数据,还不如我早上掀帘子看一眼实在。」这话对我触动很大。后来我们改了设计——不是所有数据都要推送到手机,关键告警才推送。

4.1.2 采集方法

  • 现场访谈:一对一聊,别用问卷。问「你每天最头疼的事是什么?」比问「您是否需要自动灌溉?」真实得多。
  • 跟班作业:跟着农户干半天活。我建议至少跟一个完整的农事周期,比如从育苗到采收。
  • 设备日志分析:如果已有旧系统,导出操作日志。你会发现很多「嘴上说不需要」的功能,日志里天天在用。

我的小技巧:每次访谈带一张白纸,让用户画他理想中的「一张屏幕」。画出来的东西,比他说出来的需求更真实。

4.2 功能模块划分:别想着大而全

需求收集完了,接下来就是切模块。我见过最蠢的做法是什么?把所有需求列在一张表里,然后说「我们全做」。结果项目拖了两年,一个模块都没做好。

我的建议是:按「核心业务闭环」来切。智慧农业的核心闭环是什么?感知 → 诊断 → 决策 → 执行。

4.2.1 标准功能模块清单

模块名称 核心功能 优先级
环境监测 温湿度、光照、CO₂、土壤水分等实时采集与告警 P0(必须)
智能控制 卷帘、风机、灌溉、补光等设备的远程/自动控制 P0(必须)
农事管理 种植计划、农事记录、投入品管理 P1(重要)
视频监控 实时视频、回放、AI识别(病虫害) P1(重要)
数据分析 历史趋势、产量预测、投入产出分析 P2(增值)
告警中心 多级告警(短信、App、声光) P0(必须)

避坑指南:我曾经在一个项目中,把「病虫害AI识别」列为P0。结果数据标注花了3个月,模型精度一直上不去,核心的监测和控制反而延期了。记住:先保证「能看能控」,再谈「智能」。

4.3 系统架构设计:四层架构怎么搭

好,需求清楚了,模块也切好了。接下来就是架构设计。智慧农业系统,我习惯用经典的四层架构:感知层、传输层、平台层、应用层。

为什么这么分?说白了,每一层解决一个核心问题:怎么采、怎么传、怎么存、怎么用。

智慧农业四层架构图 智慧农业四层系统架构 应用层 PC管理端 | 移动App | 大屏驾驶舱 | 第三方接口 农事管理 · 数据分析 · 告警推送 · 远程控制 平台层(物联网平台 + 数据中台) 设备管理 · 数据存储(时序库) · 规则引擎 · AI模型 设备影子 · 告警规则 · 视频流处理 · 数据清洗 消息队列(MQTT/AMQP) · 微服务网关 传输层 4G/5G | LoRaWAN | Wi-Fi | 以太网 | ZigBee 网关汇聚 · 协议转换(Modbus → MQTT) · 边缘计算 感知层 环境传感器(温湿度、光照、土壤) | 执行器(阀门、电机) 摄像头 | 气象站 | 水肥一体机 | 智能电表 RS485 · 4-20mA · 脉冲 · 数字IO 数据流向:感知层采集 → 传输层上传 → 平台层处理 → 应用层展示与控制

4.3.1 感知层:选对传感器比什么都重要

感知层就是系统的「眼睛和手」。眼睛是传感器,手是执行器。

我踩过最大的坑是什么?传感器精度和成本之间的平衡。有一次项目用了进口的土壤水分传感器,精度确实高,但一个探头两千块,农户根本承受不起。后来我们换了国产的电容式传感器,精度差一点,但成本只有十分之一,配合定期校准,完全够用。

  • 环境传感器:温度(±0.3℃)、湿度(±2%)、光照(光合有效辐射PAR)、CO₂浓度
  • 土壤传感器:水分(体积含水量)、温度、EC值(电导率)、pH值
  • 执行器:电磁阀(灌溉)、卷帘电机、风机、补光灯、水肥一体机
  • 接口协议:RS485(Modbus RTU)最常用,4-20mA用于长距离,数字IO用于开关控制

经验之谈:感知层设计时,一定要留「冗余接口」。我习惯在每个采集点预留2个备用通道。为什么?因为农户后期一定会加装新传感器,到时候再布线就麻烦了。

4.3.2 传输层:别迷信5G

传输层解决的是「数据怎么从田里到云端」。很多人一上来就说「用5G」,其实没必要。

通信方式 适用场景 优缺点
LoRaWAN 大田、果园、分散点位 低功耗、远距离(2-5km)、速率低(仅适合小数据量)
4G/5G 视频监控、实时控制 高带宽、覆盖好、但功耗高、有流量费
Wi-Fi 大棚内、园区内 成本低、速率高、但覆盖范围小、稳定性一般
以太网 控制柜、网关 最稳定、但布线成本高

我建议的典型方案:大棚内用LoRa + 网关汇聚后用4G上传。传感器用电池供电,一个网关覆盖10-20个大棚。成本低,部署快。

4.3.3 平台层:核心是数据中台

平台层是系统的「大脑」。所有数据在这里汇聚、处理、存储。

我个人习惯把平台层拆成两部分:

  • 物联网平台:负责设备接入、设备管理、数据解析、指令下发。开源方案推荐ThingsBoard,商业方案用阿里云IoT或华为云IoT。
  • 数据中台:负责数据存储(时序数据库如InfluxDB/TDengine)、数据清洗、规则引擎、AI模型推理。

关键设计:平台层一定要做「设备影子」。什么意思?就是云端维护一个设备的虚拟状态。设备离线时,用户的操作先缓存在影子中,设备上线后自动同步。这样用户体验会好很多。

4.3.4 应用层:让数据「说话」

应用层是用户直接接触的部分。我的原则是:能看图不看表,能看趋势不看数字。

典型应用包括:

  • PC管理端:给管理者用,看全局、管设备、导报表
  • 移动App:给农户用,核心功能是告警推送和远程控制,界面要简单
  • 大屏驾驶舱:给参观或汇报用,展示关键指标和实时画面
  • 第三方接口:对接政府监管平台、电商平台、农资系统

我曾经犯过的错:把App做得太复杂,功能堆了五六个页面。结果农户说「我就要看温度超没超,超了给我发个短信就行」。后来我们砍掉了App的80%功能,只保留告警、控制和简单报表。用户满意度反而上来了。

4.4 架构设计中的几个关键决策

最后,我总结几个架构设计时一定要想清楚的问题:

  1. 数据上云还是本地部署? 我的建议:核心数据上云,边缘节点做本地缓存和断网续传。农业场景网络不稳定,本地兜底很重要。
  2. 实时性要求多高? 环境监测一般5-15分钟采集一次就够了。但控制指令必须秒级响应。所以控制逻辑最好放在边缘网关,不依赖云端。
  3. 设备怎么管理? 一定要做设备注册、固件OTA升级、远程调试。农业设备分布广,派人去现场升级成本太高。
  4. 数据怎么存? 时序数据用TDengine或InfluxDB,结构化数据用MySQL/PostgreSQL,图片视频用对象存储(OSS)。

我的习惯:每次架构设计完,我会画一张「数据流图」,把数据从传感器到用户屏幕的每一步都画出来。然后问自己三个问题:如果这一步断了怎么办?如果数据量翻10倍怎么办?如果用户误操作怎么办?这三个问题能帮你发现80%的设计漏洞。