三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

196、TinyML实战项目:智能林业与火灾预警

196、TinyML实战项目:智能林业与火灾预警

TinyML实战项目:智能林业与火灾预警

从一次“误报”开始的深夜调试

凌晨两点,我盯着串口终端上不断刷新的“FIRE ALERT”字样,窗外明明下着雨。这是我在云南某林场部署的第三套TinyML火灾预警原型机,传感器数据明明显示温度28°C、湿度85%,但模型就是固执地输出火灾概率0.97。拆开防水盒,发现红外热释电传感器被一只路过的松鼠蹭歪了角度,正对着太阳能充电控制器的散热片——那块铝片在雨后反光,被模型当成了火焰特征。

这个教训让我意识到:在嵌入式机器学习里,数据采集的物理边界比模型精度更重要。今天这篇笔记,就从这个“松鼠引发的误报”开始,聊聊如何用TinyML在STM32上搭建一套真正能用的林业火灾预警系统。

硬件选型:别被“高精度”忽悠了

很多新手上来就选昂贵的多光谱传感器,但在野外部署,功耗和鲁棒性才是第一位的。我最终定型的方案是:

  • 主控:STM32L476(Cortex-M4,80MHz,1MB Flash)
  • 传感器:MLX90614红外测温(非接触,±0.5°C)+ SHT30温湿度(环境补偿)+ 火焰紫外传感器(R2868,只做硬件触发)
  • 通信:LoRa模块(E32-900T20D,休眠功耗仅1.5μA)
  • 电源:18650电池+6V太阳能板,实测待机电流12μA

这里踩过坑:MLX90614的视场角是90°

← 返回列表