4. 数据采集终端设计

数据采集终端是鱼塘物联网系统的“神经末梢”,它决定了整个方案能采到什么、采得多准、在塘边能撑多久。本节围绕四个相互制约的设计维度展开:采集模块如何选型、供电系统如何配置、防护等级如何落地、本地存储与边缘计算做到什么程度。这四个维度不是并列关系,而是彼此牵制——采集通道越多,功耗越大;防护等级越高,散热与成本压力越大;边缘计算越复杂,供电与存储的余量就越紧张。设计时应当先明确监测对象与精度要求,再倒推供电与防护方案。

一、采集模块选型:模拟量与数字量的分工

鱼塘常用传感器按输出信号可分为模拟量与数字量两类。模拟量传感器输出连续电压或电流信号,典型如4~20mA的溶解氧变送器、0~5V输出的pH变送器、电阻式水温探头。数字量传感器则以总线或脉冲形式输出,典型如RS-485接口的Modbus水质多参数探头、单总线DS18B20水温传感器、开关量输出的浮球液位开关和增氧机运行状态触点。

选型的核心判断依据是“信号类型—采集通道—精度—抗干扰”四者的匹配。模拟量采集需要终端具备ADC通道,常见做法是选用12位或16位分辨率的采集模块,配合4~20mA电流环传输,因为电流信号在长线传输中抗干扰能力优于电压信号。以溶解氧为例,4~20mA对应0~20mg/L量程时,12位ADC在5V参考电压下的理论分辨率为5V/4096≈1.22mV,经250Ω采样电阻转换为电流后,每LSB约对应4.9μA,折算溶氧约0.024mg/L,足以满足养殖监测需求。数字量采集则依赖通信接口,RS-485半双工总线可挂接多台Modbus从站,一台终端用一路485即可轮询pH、溶氧、温度、氨氮等多个参数,布线更省、抗干扰更强。

实际设计中通常采用“混合采集”架构:模拟量通道用于关键且无数字接口的传感器,数字量通道用于总线型探头和开关量状态。需要特别注意的是,模拟量通道应预留至少20%的冗余,数字量总线则要核算挂接数量与轮询周期——若8台从站、每台轮询耗时200ms,一轮完整采集约需1.6s,对于溶氧这类变化较慢的参数完全够用,但若用于高频振动或流量监测则需重新评估。

传感器层(塘边现场) 溶解氧变送器 4~20mA 模拟量 pH变送器 0~5V 模拟量 水质多参数探头 RS-485 / Modbus 浮球液位开关 开关量 数字量 数据采集终端(IP68 防护壳内) 模拟量采集 12位ADC / 4~20mA 数字量采集 RS-485 / 开关量 边缘计算单元(MCU) 滤波 · 阈值判断 · 越限告警 · 数据打包 本地存储 SD卡 / Flash 缓存 无线通信 4G / LoRa / NB-IoT 电源管理:太阳能充电 + 蓄电池 + 稳压 12V 系统 / 低功耗休眠调度 太阳能 + 蓄电池供电 太阳能板 18V / 30W 蓄电池 12V / 24Ah 远程监控平台 数据入库 · 曲线 · 告警推送 远程参数下发 整机防护等级 IP68:防尘密封 + 灌封 + 防水接头 信号链:传感器 → 采集通道 → MCU 处理 → 本地缓存 / 无线回传 供电链:太阳能板 → 充电管理 → 蓄电池 → 稳压 → 终端负载 虚线表示供电方向,实线表示数据方向;IP68 壳体同时容纳采集、存储与电源管理模块

二、供电方式:太阳能加蓄电池的容量核算

鱼塘现场往往远离市电,太阳能加蓄电池是主流方案。设计的关键不是“装上就行”,而是做一次功耗与发电量的平衡核算。以一台典型终端为例:MCU与采集电路平均功耗约0.3W,4G模块在发射瞬间峰值可达2W、平均约0.5W,若每5分钟上报一次、每次通信20秒,则通信占空比约6.7%,通信平均功耗约0.13W,整机平均功耗约0.45W,日耗电约10.8Wh。

蓄电池容量需考虑连续阴雨天。若要求连续3天无日照仍能工作,且放电深度控制在50%以内,则所需容量约为10.8Wh×3÷0.5÷12V≈5.4Ah。实际工程中常留更大余量,选用12V/24Ah蓄电池,可支撑约10天阴雨。太阳能板功率则按“日均发电量≥日耗电量×1.5”估算,考虑充电效率与日照时数,30W板在日均有效日照3小时的条件下可发电约30×3×0.7≈63Wh,远大于10.8Wh的日耗,余量充足。若终端增加摄像头等大功耗设备,则需重新核算,不能沿用同一套参数。

三、防护等级:IP68在塘边的具体落地

IP68意味着完全防尘且可在规定条件下长期浸水。鱼塘环境的高湿、盐雾、蚊虫和偶发淹水,使防护设计不能只靠一个“防水壳”。落地要点包括:壳体采用工程塑料或316不锈钢并做灌封处理;所有线缆入口使用防水格兰头;传感器接头采用IP68航空插头;壳体内部放置干燥剂并预留呼吸阀以平衡温差引起的压差。此外,太阳能板与蓄电池应置于独立防水箱,避免充电发热影响采集电路。需要提醒的是,IP68并不等于可长期浸泡于流动水体,安装位置仍应高于历史最高水位。

四、本地存储与边缘计算的初步设计

本地存储解决两个问题:通信中断时不丢数据,以及减少无效上报。常用做法是用SD卡或Flash按环形缓冲区存储,每条记录包含时间戳、通道号、原始值与工程值。以每5分钟一条、每条32字节、8个通道计算,一天约产生7.4KB,一张8GB卡可存数年,实际按保留90天滚动覆盖即可。

边缘计算的“初步”应聚焦三件事:一是数字滤波,对模拟量做滑动平均或中值滤波,抑制增氧机启停带来的尖峰干扰;二是阈值判断与本地告警,例如溶氧低于3mg/L时立即触发本地声光或继电器联动,而不必等待云端往返;三是数据打包与变化上报,参数稳定时降低上报频率,越限时提高频率。下面是一段示意性的判断逻辑,用于说明边缘侧如何组织采集与上报:

每 10s 采样一次模拟量通道,连续 6 次取中值作为本次有效值
若 |本次值 - 上次上报值| < 死区(溶氧0.2mg/L、pH0.1) 且未越限:
    仅写入本地缓存,不立即上报
若 溶氧 < 3.0mg/L 或 pH 超出 6.5~8.5:
    立即上报并置告警标志,本地继电器输出联动增氧机
通信失败时:数据继续写缓存,恢复后按时间顺序补传

这套逻辑的价值在于把“是否值得上报”的判断放在塘边完成,既降低流量与功耗,又保证异常不被延迟。设计时应把死区、阈值、采样周期做成可远程下发的参数,便于不同塘口按养殖品种调整。总体而言,采集模块选型决定数据质量,供电与防护决定系统寿命,本地存储与边缘计算决定系统在弱网和异常条件下的可靠性,四者需要在同一张功耗与成本预算表上统筹权衡。