190 TinyML实战项目:智能厨房与食品安全从一块发霉的面包说起上周调试客户反馈的“智能冰箱异味检测”项目,遇到了一个让我半夜从床上弹起来的bug。传感器数据明明显示VOC浓度超标,但模型死活输出“正常”。翻了三遍代码,最后发现是训练数据里把“霉变初期”的样本全标成了“安全”——因为采集数据那天下雨,湿度太大,传感器基线漂了。这个教训让我意识到,厨房场景的TinyML项目,坑不在模型,在数据采集的物理环境控制。今天这篇笔记,就围绕“智能厨房食品安全监测”这个实战项目,把从传感器选型、数据采集、模型压缩到MCU部署的全链路踩坑记录写下来。项目目标很简单:用STM32U5(带NPU的Cortex-M33)跑一个轻量CNN,实时检测厨房环境中的食物腐败特征气体(主要是氨气和硫化氢),在变质前推送告警。传感器选型:别迷信高精度厨房环境对传感器有三个致命要求:耐油污、抗湿度、低功耗。我试过三款电化学传感器,最后选了盛思锐SGP40——不是因为它精度最高,而是因为它内置了湿度补偿算法。在厨房这种湿度能从30%飙到90%的环境,没有补偿的传感器数据根本没法用。这里踩过坑:第一次选的是某国产MEMS气体传感器,数据手册写着“高灵敏度”,实际在油烟环境下第三天基线就漂了200%。后来换成SGP40,虽然贵了15块钱,但省去了写湿度补偿算法的功夫。对于TinyML项目,能用硬件解决的问题别用软件,MCU的算力很宝贵。数据采集环节,我用了三个月时间,在三个不同家庭的厨房部署了采集节点。每天定时记录温度、湿度、