1. 项目背景与核心需求
在工业自动化、农业大棚、冷链运输等场景中,温度监测一直是个刚需。传统的有线温度采集方案布线复杂、维护困难,而市面上的无线温度传感器要么价格昂贵,要么功能冗余。这个项目正是为了解决这些痛点——用STM32做主控,DS18B20做温度传感,ESP-01s实现WiFi上传,打造一个低成本、低功耗、可定制的无线温度监测终端。
我去年为一家食用菌养殖场部署过类似系统,他们的菇房环境特殊:高湿度(常年在90%RH以上)、多金属架(对无线信号有遮挡)、需要每10分钟记录一次温度数据。经过实测,这套方案在恶劣环境下连续运行8个月无故障,单节点硬件成本控制在35元以内,比市面同类产品便宜60%以上。
2. 硬件选型与电路设计
2.1 主控芯片:STM32F103C8T6
选择这颗Cortex-M3内核的芯片有三个理由:
- 价格优势:零售价约6元,批量可到4.5元
- 外设丰富:自带12位ADC、多个定时器、USART等
- 开发便利:Arduino生态有现成核心板(蓝色药丸板)
注意:务必选择正版ST芯片,某宝上有些"兼容版"实际是GD32改丝印,SPI时序可能有差异。
2.2 温度传感器:DS18B20
相比模拟输出的NTC热敏电阻,数字式DS18B20有三大优势:
- 精度更高:±0.5℃(0-50℃范围内)
- 抗干扰强:单总线传输距离可达30米
- 自带防水探头型号(如DS18B20-PAR)
电路连接时注意:
- 4.7KΩ上拉电阻必须接
- 长距离传输时建议用屏蔽线
- VCC引脚可接3.0-5.5V,但与STM32通信时建议都用3.3V
2.3 WiFi模块:ESP-01S
选型对比表:
| 型号 | 发射功率 | 休眠电流 | 固件支持 | 单价 |
|---|---|---|---|---|
| ESP-01S | 19.5dBm | 20μA | AT/Lua/Arduino | 9.8元 |
| ESP-12F | 20dBm | 20μA | Arduino/NodeMCU | 15元 |
| ESP |
