1. 项目概述:当传统风扇遇上物联网
去年夏天帮学弟调试这个毕设项目时,我深刻体会到传统家电智能化改造的乐趣。这个基于STM32的WiFi温控风扇系统,本质上是通过嵌入式技术给普通风扇装上"大脑"和"神经"。系统会实时监测环境温度,根据设定阈值自动调节风速,还能通过手机APP远程控制——这简直就是宿舍神器。
核心硬件架构很简单:STM32F103C8T6最小系统板作为主控,搭配DHT11温湿度传感器、ESP8266 WiFi模块、继电器和普通台式风扇。但实现起来涉及嵌入式开发、无线通信、PID控制等多个技术领域的融合。下面我就从硬件选型到软件调试,把整个开发过程中的关键点梳理一遍。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 硬件设计与核心器件选型
2.1 主控芯片:为什么选择STM32F103C8T6
作为性价比最高的Cortex-M3内核芯片,STM32F103C8T6拥有72MHz主频、64KB Flash和20KB RAM,完全满足本项目的需求。实测在运行FreeRTOS实时系统、处理传感器数据的同时,还能保持稳定的PWM输出控制风扇转速。相比Arduino,STM32的优势在于:
- 更丰富的外设接口(5个USART、2个SPI、2个I2C)
- 硬件PWM生成能力(高级定时器TIM1支持6路PWM)
- 更低的功耗(运行模式约36mA)
注意:购买时认准"正点原子"或"野火"开发板,市面上有些廉价板子的晶振精度不达标会导致串口通信异常。
2.2 无线模块:ESP8266的三种工作模式
ESP8266-01S模块虽然只有8个引脚,但支持STA/AP/STA+AP三种工作模式:
- STA模式:连接现有路由器(适合家庭使用)
- AP模式:自建热点(适合无路由器的临时场景)
- 混合模式:同时作为客户端和热点(调试时最方便)
实际测试发现,在STA模式下模块平均功耗约70mA,传输距离在室内可达30米。关键配置代码如下(AT指令模式):
c复制AT+CWMODE=1 // 设置为STA模式
AT+CWJAP="SSID","password" // 连接WiFi
AT+CIPSTART="TCP","192.168.1.100",8080 // 建立TCP连接
