STM32温湿度报警系统概述

基于STM32的温湿度报警系统结合无线通信技术(蓝牙/WIFI),可实现环境数据实时监测、超阈值报警及远程控制功能。适用于智能家居、农业温室、仓储监控等场景,支持DIY扩展。

核心硬件组成

  • 主控芯片:STM32F103C8T6(性价比高,资源丰富)
  • 传感器:DHT22(高精度温湿度)或SHT30(工业级)
  • 无线模块
    • 蓝牙:HC-05/HC-06(低功耗,短距离控制)
    • WIFI:ESP8266(接入云平台,远程查看数据)
  • 报警模块:蜂鸣器+LED指示灯,可选配GSM短信报警

软件功能设计

  • 阈值设置:通过按键或手机APP设定温湿度报警范围(如温度>30℃触发)。
  • 数据传输:蓝牙串口透传或WIFI MQTT协议上传至云平台(如阿里云IoT)。
  • 报警逻辑:传感器数据超出阈值时,触发本地声光报警并推送手机通知。

关键代码示例(STM32 HAL库)

DHT22数据读取

void DHT22_Read(float *temp, float *humi) {
    uint8_t data[5] = {0};
    HAL_GPIO_WritePin(DHT_GPIO_Port, DHT_Pin, GPIO_PIN_RESET);
    HAL_Delay(18);
    HAL_GPIO_WritePin(DHT_GPIO_Port, DHT_Pin, GPIO_PIN_SET);
    // ... 接收并校验数据
    *humi = (data[0] << 8 | data[1]) / 10.0;
    *temp = (data[2] << 8 | data[3]) / 10.0;
}

ESP8266 MQTT上传

void ESP_SendData(float temp, float humi) {
    char cmd[128];
    sprintf(cmd, "AT+CIPSEND=0,%d\r\n", strlen(json));
    HAL_UART_Transmit(&huart1, (uint8_t*)cmd, strlen(cmd), 100);
    sprintf(json, "{\"temp\":%.1f,\"humi\":%.1f}", temp, humi);
    HAL_UART_Transmit(&huart1, (uint8_t*)json, strlen(json), 100);
}

扩展应用方向

  • 多节点组网:搭配LoRa模块实现大面积区域监测。
  • 能源优化:加入太阳能供电模块,适合户外部署。
  • 语音交互:集成LD3320语音识别芯片实现声控查询。

注意事项

  • 传感器需定期校准,避免数据漂移。
  • WIFI模块注意配网逻辑,建议采用SmartConfig一键配网。
  • 低功耗设计可选用STM32L系列芯片并优化睡眠模式。

该系统完整开源代码及电路图可在GitHub平台搜索“STM32 DHT22 Bluetooth WIFI”获取参考项目。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!

需要成品或者定制,加我们的时候,不满意的可以定制
文章最下方名片联系我即可~

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐