基于STM32单片机智能家居WiFi远程监控系统机智云APP设计
1. 系统功能介绍
本设计基于 STM32单片机 ,利用多种环境传感器实现对家庭环境的实时检测,并通过 WiFi模块 将数据上传至 机智云平台 ,用户可通过手机APP实时查看家中环境状况。同时,系统具备 智能联动控制功能,例如根据光照强度自动开关窗帘和LED照明,并在异常情况下进行蜂鸣器报警。
主要功能如下:
-
环境监测功能
- 温湿度传感器:实时检测室内温度和湿度。
- 气压传感器:监测环境气压变化。
- 一氧化碳传感器:检测一氧化碳浓度,防止中毒事故。
- 空气质量传感器:监测空气质量,判断污染情况。
- 烟雾传感器:检测烟雾浓度,起到防火预警作用。
- 光照强度传感器:检测室内外光照情况,用于自动窗帘和照明控制。
-
自动化控制功能
- 当光照强度低于设定阈值时,系统判定为"夜晚",自动点亮LED照明,并控制步进电机顺时针旋转180°,模拟"拉上窗帘"。
- 当光照强度高于阈值时,系统判定为"白天",关闭LED照明,并控制步进电机逆时针旋转180°,模拟"拉开窗帘"。
-
远程监控与控制
- 通过WiFi模块将数据上传至机智云平台,用户可通过手机APP随时查看环境数据。
- 后期可扩展远程控制功能,例如在手机APP端远程开关窗帘和照明。
-
阈值报警功能
- 系统设置有各类阈值,当温湿度、一氧化碳、烟雾等数据超过阈值时,蜂鸣器立即报警,提醒用户采取措施。
该系统功能全面,既能实时监测家庭环境参数,又能进行智能联动控制,真正体现了 智能家居 的核心理念。
2. 系统电路设计
整个系统的电路主要由以下几个部分组成: STM32最小系统、传感器采集电路、显示电路、WiFi模块电路、步进电机驱动电路、蜂鸣器电路和电源电路。
2.1 STM32最小系统
-
作用:作为整个系统的核心控制单元,负责传感器数据采集、数据处理、逻辑判断、执行控制以及WiFi通信。
-
特点:
- STM32F103系列芯片,基于ARM Cortex-M3内核;
- 运算能力强,外设资源丰富;
- 支持USART、I2C、SPI等通信方式,方便与传感器和WiFi模块交互。
2.2 传感器采集电路
系统使用了多种环境传感器:
-
温湿度传感器(如DHT11或DHT22)
- 用于检测室内温度和湿度;
- 通过单总线与STM32通信;
- 可用于空调控制、舒适度评估。
-
气压传感器(如BMP180/BMP280)
- 用于检测大气压强;
- 通过I2C接口传输数据;
- 可与天气监测相关联。
-
一氧化碳传感器(如MQ-7)
- 模拟电压输出,与单片机ADC通道相连;
- 用于煤气泄漏监测,保障居家安全。
-
空气质量传感器(如MQ-135)
- 模拟电压信号输入;
- 检测空气中有害气体浓度。
-
烟雾传感器(如MQ-2)
- 与ADC通道相连;
- 检测烟雾浓度,用于火灾报警。
-
光照强度传感器(如光敏电阻+分压电路)
- 模拟电压信号随光照强度变化;
- 用于判断昼夜情况,控制照明与窗帘。
2.3 显示电路
- 使用 OLED或LCD液晶屏 显示环境数据;
- 显示内容包括温湿度、气压、一氧化碳、空气质量、烟雾浓度、光照强度等;
- 用户无需APP即可在本地查看数据。
2.4 WiFi模块电路
- 使用 ESP8266 WiFi模块 与STM32串口通信;
- 实现数据上报至机智云平台;
- 支持双向通信,可扩展远程控制。
2.5 步进电机驱动电路
- 使用 ULN2003或A4988驱动模块 驱动步进电机;
- 电机通过旋转模拟窗帘的开合动作;
- 系统可根据光照强度自动控制电机旋转方向和角度。
2.6 蜂鸣器电路
- 使用有源蜂鸣器,通过单片机I/O口控制;
- 在超阈值情况下发出报警声。
2.7 电源电路
- 系统使用5V电源供电;
- STM32和部分传感器使用3.3V电压,因此需要AMS1117稳压模块转换电压。
3. 程序设计
程序部分采用C语言编写,主要分为:主程序框架、传感器数据采集模块、显示模块、WiFi通信模块、自动控制模块、报警模块。
3.1 主程序框架
c
#include "stm32f10x.h"
#include "sensor.h"
#include "oled.h"
#include "wifi.h"
#include "motor.h"
#include "buzzer.h"
float temperature, humidity, pressure, co, air_quality, smoke, light;
int main(void)
{
System_Init();
OLED_Init();
WIFI_Init();
Sensor_Init();
Motor_Init();
Buzzer_Init();
while(1)
{
Sensor_Read(&temperature, &humidity, &pressure, &co, &air_quality, &smoke, &light);
OLED_Display(temperature, humidity, pressure, co, air_quality, smoke, light);
WIFI_Upload(temperature, humidity, pressure, co, air_quality, smoke, light);
Auto_Control(light);
Alarm_Check(temperature, humidity, co, air_quality, smoke);
}
}
3.2 传感器采集模块
c
void Sensor_Read(float *t, float *h, float *p, float *co, float *aq, float *s, float *l)
{
*t = DHT11_ReadTemperature();
*h = DHT11_ReadHumidity();
*p = BMP280_ReadPressure();
*co = MQ7_Read();
*aq = MQ135_Read();
*s = MQ2_Read();
*l = LightSensor_Read();
}
说明:
- 每个传感器有独立驱动程序;
- 采集数据存储在全局变量中供后续调用。
3.3 显示模块
c
void OLED_Display(float t, float h, float p, float co, float aq, float s, float l)
{
OLED_ShowString(0,0,"Temp:");
OLED_ShowNum(40,0,t,3,1);
OLED_ShowString(0,1,"Hum :");
OLED_ShowNum(40,1,h,3,1);
OLED_ShowString(0,2,"CO :");
OLED_ShowNum(40,2,co,3,1);
OLED_ShowString(0,3,"AQ :");
OLED_ShowNum(40,3,aq,3,1);
OLED_ShowString(0,4,"Smoke:");
OLED_ShowNum(40,4,s,3,1);
OLED_ShowString(0,5,"Light:");
OLED_ShowNum(40,5,l,3,1);
}
3.4 WiFi通信模块
c
void WIFI_Upload(float t, float h, float p, float co, float aq, float s, float l)
{
char buffer[128];
sprintf(buffer, "{\"temp\":%.1f,\"humi\":%.1f,\"press\":%.1f,\"co\":%.2f,\"aq\":%.2f,\"smoke\":%.2f,\"light\":%.2f}",
t, h, p, co, aq, s, l);
WIFI_Send(buffer);
}
说明:
- 数据打包为JSON格式上传至机智云平台;
- 手机APP解析后可实时显示各项数据。
3.5 自动控制模块
c
void Auto_Control(float light)
{
if(light < LIGHT_THRESHOLD) // 光照过低
{
LED_On();
Motor_Rotate(180); // 顺时针旋转180°,拉上窗帘
}
else
{
LED_Off();
Motor_Rotate(-180); // 逆时针旋转180°,拉开窗帘
}
}
3.6 报警模块
c
void Alarm_Check(float t, float h, float co, float aq, float s)
{
if(t > 50 || h > 90 || co > CO_THRESHOLD || aq > AQ_THRESHOLD || s > SMOKE_THRESHOLD)
{
Buzzer_On();
}
else
{
Buzzer_Off();
}
}
说明:
- 当温度过高、湿度过大、一氧化碳或烟雾浓度过高时触发报警;
- 蜂鸣器持续鸣叫,提醒用户注意。
4. 总结
本设计基于 STM32单片机,结合多种环境传感器,实现了家庭环境的实时检测与智能联动控制。其主要优势如下:
- 监测功能全面:涵盖温湿度、气压、一氧化碳、空气质量、烟雾、光照强度等多项指标;
- 智能控制:根据光照强度自动开关窗帘与照明,提升智能化程度;
- 远程监控:借助WiFi模块与机智云平台,实现手机APP实时监控;
- 安全保障:超过阈值时蜂鸣器报警,增强家庭安全性;
- 可扩展性强:未来可扩展更多家电控制功能,例如空调、空气净化器,实现完整的智能家居系统。
该系统不仅能改善居家舒适度,还能提高居住安全性,是智能家居研究与应用的理想案例。