今年年初,一家做生鲜配送的物流公司找到我们。老板上来就倒苦水——"上个月又被食药监抽检了,两车货温度记录不全,罚了款不说,还丢了一个连锁超市的长期合同。"
这家公司在江苏,主要给周边几个城市的超市、餐厅配送生鲜食材。30多辆冷藏车,每天发车几十趟。但冷链监控一直是个头疼的问题:冰箱里贴的温湿度记录仪只能本地存数据,等卸货了才把U盘拔下来看,发现问题已经晚了。
这篇文章记录我们怎么用边缘AI网关+传感器给他们的冷链系统做了实时监控。不画大饼,只说做了什么、碰到什么坑、效果怎么样。
一、现场情况摸底
先跟着车队跑了三天,大概摸清了情况:
- 车队规模:34辆冷藏车,车型杂(依维柯、江淮、东风都有),冷机品牌也不统一
- 运输范围:半径300公里内,单趟2-6小时不等
- 货品类型:冷冻肉类(-18°C以下)、冷藏蔬果(0-4°C)、熟食(0-8°C),不同货品要求不同温区
- 当前监控方式:每车放一个USB温湿度记录仪,发车前手动启动,到货后拔下来读数据
- 主要问题:
- 温度超标无法实时预警,等知道的时候货已经坏了
- 司机开关车门次数多导致冷量流失,但没人知道
- 冷机故障时不能及时发现——有次冷机半夜停机,一整车厢冻肉全化了
- 食药监检查需要提供连续的温度记录,人工整理经常缺数据
- IT能力:公司有一个2人的IT小组,主要管ERP和办公网络。边缘计算、物联网这些之前没接触过
还有一个细节:司机是不太配合的。因为温度监控如果太严格,他们开关车门、中途停车都会被记录,所以司机有抵触心理。方案设计要把这个因素考虑进去。
二、方案设计
综合这些情况,方案分了三个层面:
采集层:每车部署温湿度传感器+车门传感器
每辆车装3样东西:
- 温湿度传感器(2个):货箱前后各一个,监测不同位置温度。选的是工业级探头,精度±0.3°C,IP65防水
- 车门传感器(1个):磁吸式,记录车厢门开关时间和时长
- 冷机状态采集:通过冷机的RS485接口读取运行状态(启停、出风口温度、故障码)
传感器的数据通过蓝牙低功耗协议传到车内的边缘AI网关。不用布线,安装方便。
边缘层:每车安装一台边缘AI网关
每辆车部署一个车载边缘AI网关,主要作用是:
- 每30秒采集一次传感器数据
- 本地运行异常检测规则——温度偏离设定区间、开门时间过长、冷机异常停机都立即告警
- 断网时本地缓存数据(至少存7天),有网了自动补传
- 通过4G上传数据摘要到云端
选车载网关有几个特殊要求:要支持12V/24V车载电源、要能在-20°C到60°C环境下工作、不能太大(车厢里空间有限)。
云端层:监控看板+合规报告+告警推送
云端是一个轻量的Web系统,功能包括:
- 实时地图——所有车辆位置+车厢温度一览
- 温度曲线——每辆车的温度变化时间轴,支持回放
- 告警中心——温度超标、车门异常、冷机故障实时通知
- 自动生成合规报告——按食药监要求格式,一键导出
- 司机评分——基于温度保持、开关门次数等数据的综合评分,和绩效考核挂钩
告警通过企业微信推送到三个角色:调度员(实时监控)、维修组(冷机故障)、品控主管(温度超标)。
温度阈值没有做成死板的一刀切。冷冻和冷藏的温度要求不同,同一辆车间隔运冷冻和冷藏货品时,系统自动切换阈值。司机装货前在车载屏上点选货品类型即可。
三、实施过程
第一周:硬件安装和联调
34辆车分两批安装。第一批10辆车,安装加调试用了3天。第二批节奏快了,24辆车2天搞定。
安装阶段遇到的问题:
- 电源取电问题:第一批我们试图从车厢照明灯取电,结果发现很多老车的照明线路已经老化,一接传感器就跳闸。后来统一改为从驾驶室电瓶取电走暗线到货箱,虽然费了点功夫但稳定多了。
- 蓝牙信号穿墙:驾驶室和货箱之间有一层隔热墙,蓝牙信号衰减严重。测试了几种天线方案,最后选了外置磁性天线贴在车厢前壁内侧解决了。
- 冷机协议不统一:34辆车有3种品牌的冷机,Modbus协议各不相同。我们写了个协议适配层,把不同协议转成统一格式。厂家提供的手册很粗糙,有些寄存器地址是反复试出来的。
第二周到第三周:试运行和阈值调优
前两周只采集不告警,建立基线。这个阶段发现了一些问题:
- 有几辆车在中午高温时段卸货,车厢温度虽然升高了但属于正常操作。后来增加了"开门期间温度豁免"逻辑——如果车门打开且时间在合理范围内(正常卸货),不触发告警
- 冷冻车厢预冷到-20°C才装货,但装货开门10分钟后温度可能升到-8°C。这是正常的,但如果没有关门豁免,就会一直告警。我们把开门告警阈值从"温度变化>3°C"调整为"开门超20分钟+温度超上限"才告警
- 部分老旧车辆的冷机制冷效率低下,出风口温度-5°C车厢里只能到-10°C(目标-18°C)。这种情况属于设备老化问题,不能靠阈值调整解决,列入了维修计划
教训:冷链温度监控不能只看温度绝对值,要结合"车门状态+时间段+货品类型"综合判断。否则正常的装货卸货操作也会触发大量误报,司机和调度员都受不了。
第四周:司机培训上线
这是整个项目里比较费劲的一环。司机普遍对"车上装监控"有抵触,觉得公司在盯着他们。我们在每个车队搞了半小时的培训,核心就讲三件事:
- 这个系统不是为了抓迟到早退,是为了在冷机坏了的时候及时提醒你——否则你开到目的地才发现货坏了,你是要担责的
- 告警是发给调度和维修的,不是发给老板扣钱的。合理的开门卸货不会被记"违规"
- 以后不用手动插拔U盘读温度记录了,系统自动出报告——省事
讲完后大部分司机接受了。有个开了十几年冷链的老师傅说:"早该装这个了,以前冷机坏了全靠运气发现。"
四、实际效果
系统上线两个半月后,我们和客户一起做了复盘:
从平均每周8-12次降到每周3-4次。大多数超标发生在装货和卸货环节,通过优化流程(缩短开门时间、提前预冷车厢)解决了。
其中2次是制冷剂泄漏(出风口温度异常升高),1次是压缩机异响,1次是冷凝器散热风扇故障。都通过提前调度换车避免了货物损失。
超市和餐厅反馈的"收到货温度不对"的情况从每月约5-6起降到了0-1起。丢失的那份连锁超市合同,对方说如果早几个月有这个系统,可能不会换供应商。
系统自动生成的温控记录满足食药监要求,不再需要人工整理。以前每次检查要花2-3天翻记录,现在点一下导出就行了。
当然也有些不太好的方面。
数据流量费用比预想高:每辆车每30秒上报一次数据,加上GPS位置信息,一个月单车流量约1.5GB。34辆车加起来不少。后续优化了上报策略——行驶中每5分钟上报一次摘要,只有温度异常时才恢复到30秒高频上报,流量降了一半以上。
司机抵触没有完全消除:虽然大部分司机接受了,但有个别人觉得"被监视感"挥之不去。公司后来把司机评分和优秀司机奖金挂钩,评分高的司机每月多拿几百块奖金,态度缓和了不少。
五、遇到的技术问题
断网重连数据补传
冷库和地下车库信号差,很多趟运输有半小时到一小时处于断网状态。边缘网关虽然本地缓存了数据,但重连后补传的逻辑一开始有问题——如果补传数据量太大(断网1小时=120条记录×34辆车),服务器端压力很大。后来加了一个限速队列,每分钟补传量不超过50条,同时云端和本地做数据去重。
# 补传限速的简化逻辑
import time, queue
retransmit_queue = queue.Queue()
MAX_PER_MINUTE = 50
def enqueue_retransmit(data):
retransmit_queue.put(data)
def retransmit_worker():
count = 0
start_time = time.time()
while not retransmit_queue.empty():
if count >= MAX_PER_MINUTE:
elapsed = time.time() - start_time
if elapsed < 60:
time.sleep(60 - elapsed)
count = 0
start_time = time.time()
data = retransmit_queue.get()
send_to_cloud(data)
count += 1
传感器漂移
运行了一个月后,有3个温度传感器的读数比其他传感器偏高了约1.5°C。排查发现是两个批次传感器质量不稳定。方案是加了自校验逻辑——每天早上冷机预冷到稳定温度后,对比同一车厢内前后两个传感器的读数差,如果偏差超过1°C就标记该传感器为"需校准"并通知运维。
告警疲劳
系统上线第一周,告警太频繁了。单个司机一趟运输能收到十几条告警——"车门打开""温度上升""车门关闭""温度下降"……很快就变成了"狼来了"。我们做了这几项优化:
- 合并同类告警:同一趟运输中同一类告警只发第一条+最后汇总
- 加入静默期:同一设备同类告警间隔至少15分钟
- 分级告警:黄色(提醒)只推送到Web看板,红色(紧急)才推送到企业微信
六、个人的思考
做冷链这个项目之前,我一直以为冷链监控就是"装个温度探头+连个网"的事。做完之后感受完全不同。
真正的难点不是技术,是"人"。司机怕被监控、调度员怕误报过多看不过来、老板想知道能不能省钱……每个角色都有自己的担忧。技术方案必须把这些担忧考虑进去,否则再好的系统也用不起来。让司机看到这个系统能保护他们(冷机坏了警报他而不是追责他),比跟司机讲什么物联网架构有用得多。
合规需求是很好的切入场景。很多工厂、物流公司对数字化转型没有概念,但你要说"这个系统能帮你过食药监检查",他们一下子就听进去了。中国的食品安全法越来越严格,冷链运输企业被罚的案例每年都有,这是实打实的痛点。
边缘计算在冷链场景下的价值很直接。全程温度数据必须在本地持久存储,不能因为4G信号不好就丢数据。而且实时告警必须在车辆本地判断——如果等数据传到云端再判断再推送到手机,中间延迟可能超过1分钟,对一些紧急情况来说太慢了。
数据合规报告是意外之喜。原本客户只想要温度监控,结果发现"一键导出合规报告"反而是他们日常使用频率较高的功能之一。这说明做B端产品有一个原则:帮客户省时间才是真价值,不要低估"省掉两三天手工整理工作"这件事的分量。
七、给你的建议
如果你也在搞冷链物流或者类似的IoT监控项目,几点个人经验:
- 先跑10辆车再铺开。传感器选型、网关安装位置、阈值设置这些东西不跑起来不知道有没有问题。10辆车的试运行至少留2周,把坑踩一遍再铺剩余的车
- 断网是常态不是异常。冷库、地下车库、山区道路……很多地方没信号。边缘缓存和补传是必备功能,不是可选项。而且一定要做好数据去重
- 告警阈值要分场景。运输途中的温度管控和装卸货时的温度管控标准不同,冷冻和冷藏的阈值不同。一刀切的告警规则只会产生海量误报
- 司机的感受很重要。如果司机觉得这个系统是"老板的摄像头",他们会想方设法破坏(拔电源、遮挡传感器)。从设计上就要让他们觉得这个系统是在帮他们
- 合规报告是ROI亮点。不要只做技术监控,想办法把数据转化成监管需要的报告格式。在中国做冷链,满足食药监要求是刚需
- 选工业级传感器。冷链车厢的环境比想象中恶劣——震动、温差大、冷凝水。便宜的家用传感器撑不过两个月就漂移了