1. 农业远程监控看板需求分析与场景建模

农业远程监控看板不是把传感器数据简单堆到屏幕上,而是把“谁在看、看什么、什么时候必须被提醒、数据多久更新一次”这几件事先定义清楚,再落到界面与数据结构上。需求分析阶段的核心产出是两份可直接进入开发的东西:一份需求规格说明书,一份看板原型草图。前者约束系统行为,后者约束信息布局。本节以一个约 200 亩的设施蔬菜基地为教学示例(示例参数为合理假设,非实测),完整走一遍从角色到规格、从指标到原型的建模过程。

一、先分清三类用户,再决定看板分几层

同一个看板,农场管理者、农技员、运维人员的关注点差异很大。管理者关心“今天有没有风险、产量是否受影响”,需要的是聚合结论与告警摘要;农技员关心“某个棚的温湿度、光照、土壤墒情是否处于作物适宜区间”,需要曲线、阈值带与历史对比;运维人员关心“设备是否在线、数据是否中断、网关与电源是否正常”,需要设备拓扑、心跳与故障定位信息。若把三者塞进同一屏,必然导致信息过载。

因此需求上应明确采用角色分层视图:默认首页面向管理者,提供基地总览卡片与告警列表;农技员进入单棚详情页,查看指标趋势与环境适宜度;运维人员进入设备运维页,查看在线率、离线设备清单与最近通信时间。三个视图共享同一套指标口径与告警规则,避免“同一块棚在不同页面显示不同结论”。

二、核心监控指标要带口径,不能只写名称

指标定义必须包含单位、采集位置、统计方式和适宜区间,否则开发与验收都会扯皮。示例基地设定 12 座日光温室,每棚布设 1 台空气温湿度传感器(距地面 1.5 m、避开滴灌正上方)、1 台光照传感器(冠层高度)、2 路土壤墒情探头(20 cm 与 40 cm 深度),以及卷帘机、风机、补光灯、滴灌电磁阀四类执行设备的运行状态反馈。

指标单位/口径采集频率示例适宜区间主要使用者
空气温度℃,棚内 1.5 m 处,1 分钟均值60 s15~28 ℃农技员
空气湿度%RH,同上60 s55%~85%农技员
光照强度lux,冠层高度瞬时值60 s8000~45000 lux农技员
土壤墒情%VWC,20 cm/40 cm 两层300 s22%~35%农技员
设备状态在线/离线、运行/停止、故障码30 s 心跳在线且无故障运维人员

注意“采集频率”与“看板刷新频率”是两件事:传感器可以每分钟上报,但看板不必每分钟重绘全部图表。需求中应分别定义,否则容易把前端轮询压力误当成采集压力。

三、告警规则要可判定、可分级、可抑制

告警规则写成“温度过高就报警”是无法开发的。可执行的规则需要包含触发条件、持续时间、等级、通知对象与恢复条件。示例规则如下:

  • 高温告警(重要):空气温度连续 5 分钟 > 32 ℃ 触发;连续 10 分钟 ≤ 30 ℃ 自动恢复。通知农技员,同步推送管理者摘要。
  • 低温告警(重要):连续 5 分钟 < 12 ℃ 触发,恢复阈值 14 ℃。
  • 土壤缺水(次要):20 cm 墒情 < 20% 且滴灌阀处于关闭状态,持续 30 分钟触发。
  • 设备离线(紧急):心跳缺失超过 3 个周期(90 s)判定离线,通知运维人员;恢复以收到新心跳为准。
  • 数据异常(提示):单点数值超出物理量程(如湿度 > 100%RH)或连续 3 个周期数值完全不变,标记为可疑数据,不直接告警但需在详情页标注。

此外必须定义告警抑制:同一设备同一规则在 30 分钟内只通知一次,避免抖动刷屏;设备离线期间其传感器数据不参与环境告警判定,防止“断线导致温度读数为 0 而误报低温”。这类边界条件正是需求规格说明书中最有价值的部分。

四、刷新频率与数据链路要一起定

示例方案中,传感器经 LoRa 网关汇聚后由边缘服务写入时序库,Web 看板通过接口按需拉取。刷新策略建议分层:总览卡片与告警列表 30 s 刷新一次;单棚趋势曲线 60 s 刷新,默认展示最近 24 小时并按 5 分钟聚合;设备在线状态 30 s 刷新;历史查询按用户选择的时间范围一次性加载。这样既保证时效,又避免全量重绘造成浏览器卡顿。

看板需求建模:从现场采集到三类角色视图 现场感知与执行层 温湿度传感器 光照传感器 土壤墒情×2 设备状态反馈 12 座日光温室 · 心跳 30 s 环境采集 60 s / 墒情 300 s 汇聚与规则层 LoRa 网关 / 边缘服务 时序库 + 告警判定 持续时长 / 恢复阈值 / 抑制窗口 离线判定:缺失 3 个心跳周期 三类角色视图(共享指标口径) 管理者 总览卡片 告警摘要 农技员 趋势曲线 适宜区间带 运维 在线率 离线清单 刷新:总览 30 s · 曲线 60 s · 设备 30 s 同一指标在三个视图口径一致 告警规则要素(可判定) 触发条件 阈值 + 持续时长 等级与对象 紧急/重要/次要/提示 恢复条件 回差阈值 抑制窗口 同规则 30 min 数据有效性 离线不参与判定 通知渠道 看板 + 消息推送 示例:温度 >32 ℃ 持续 5 min 触发,≤30 ℃ 持续 10 min 恢复 设备离线 90 s 判定,恢复以新心跳为准 看板原型草图(管理者首页) 基地总览|12 棚在线 11|今日告警 3(紧急 1) 温度均值 24.6 ℃ 湿度均值 71 %RH 设备在线率 91.7% 告警列表:3 号棚设备离线(紧急)|7 号棚高温(重要)|2 号棚墒情偏低(次要) 点击条目进入单棚详情,查看曲线与阈值带

五、把需求写成可验收的规格条目

需求规格说明书建议按“编号—描述—验收判据”组织,避免形容词。例如:R-07 单棚详情页应展示最近 24 小时温度曲线,并以浅色带标出 15~28 ℃ 适宜区间;曲线数据按 5 分钟聚合,页面每 60 s 自动刷新一次;当接口失败时保留上次数据并显示“数据更新于 HH:mm”。再如:R-12 设备离线告警应在心跳缺失 90 s 后 10 s 内出现在运维视图,并携带设备编号、棚号、最后通信时间。每条都能被测试用例直接验证。

原型草图则不必追求视觉精细,重点是信息层级与占位:顶部一行放基地总览与告警计数,中部三张指标卡片,下方告警列表,右侧预留“进入单棚”的入口。草图上应标注每个区域的数据来源与刷新频率,方便前端与后端对齐接口字段。完成这两份产出后,指标口径、告警判定、刷新策略和角色权限就都有了明确边界,后续的接口设计、页面开发与联调验收才有共同依据。