基于STM32及Wifi的环境监测系统(单片机部分)
发布日期:2021-05-07 02:09:30 浏览次数:24 分类:精选文章

本文共 1734 字,大约阅读时间需要 5 分钟。

环境检测系统设计与实现

前言

本设计共分为单片机部分和Android端APP部分。本文将详细介绍环境检测系统的单片机部分实现方法。系统硬件部分采用市面上常见的电路模块,包括STM32F103C8T6最小系统板、DHT11温湿度模块、2.4寸带触摸的TFT屏幕模块、ESP8266-01 Wifi模块和GY-30数字光模块。程序部分主要是对各个模块代码的拼接,部分代码来自网络收集加工,基本上都有注释。


一、总体设计方案

环境检测设备以STM32F103C8T6最小系统板为主控模块,负责数据采集和控制。数据采集模块包括DHT11温湿度模块和GY-30数字光模块。主控模块通过2.4寸带触摸的TFT屏幕模块作为输入输出设备,ESP8266-01 Wifi模块实现与百度云Iot平台的数据收发。手机端APP可实现实时显示环境信息,也可发送指令控制设备工作状态。


二、系统硬件电路模块

1. STM32F103C8T6最小系统板

  • 规格概述:基于ARM Cortex-M3内核,最高工作频率为72MHz,内置64K字节闪存和20K字节SRAM,配备多种通信接口(如I2C、SPI、USART、CAN)和丰富的I/O端口。
  • 启动模式:通过BT0/BT1启动选择端口(via跳帽)选择复位后启动的高电平或低电平模式。
  • 引脚说明:如附图所示,主要引脚包括(GPIO)控制、定时器、UART、ADC等。

2. DHT11温湿度模块

  • 规格概述:数字温湿度传感器,支持±5%RH的湿度测量和±2°C的温度测量,采用串行接口(1位或2位)输出数据。
  • 引脚说明:PA1引脚用于数据输出,PA8引脚用于片上电阻式感湿元件,其他引脚用于内部电路。

3. GY-30数字光模块

  • 规格概述:支持I2C总线通信,光谱范围与人眼相近,抗干扰能力强,测量范围为0-65535勒克斯。
  • 引脚说明:SDA和SCL引脚用于I2C通信,VCC和GND引脚供电,ISO和G输入端用于光感检测。

4. 2.4寸TFT带触摸屏幕模块

  • 规格概述:配备ILI9341显示芯片,支持240x320分辨率,RGB565色彩,扩展功能包括滚动显示、旋转显示等。
  • 引脚说明:TS、RTC、D0-D7、A0-A7、SCK、SDI、SDO、GND、VCC等引脚,具体见附图。

5. ESP8266-01 Wifi模块

  • 规格概述:超低功耗Wifi模块,支持802.11 b/g/n标准,内置TCP/IP协议栈,支持STA/AP/STA+AP工作模式。
  • 引脚说明:CH_PD、RST、GPIO0-15、SPI、I2C、ADC、PWM等引脚,具体功能见附图。

三、软件设计

1. STM32单片机程序设计

  • 初始化系统:配置时钟、初始化串口、LCD屏幕模块、DHT11、GY-30模块及ESP8266模块。
  • 触摸屏校准:检测触摸屏是否已校准,若未校准则启动校准程序,存储触摸参数至FLASH。
  • 数据采集:通过定时器控制DHT11、GY-30模块每10秒采集一次环境数据。
  • Wifi连接:ESP8266模块通过STA模式连接指定无线网络,使用MQTT协议登录百度云Iot平台。

2. ESP8266 Wifi模块程序设计

  • 初始化模块:通过串口接收配置信息,完成Wifi连接和云端登录。
  • 数据通信:支持TCP客户端连接,实现实时数据通信,模块可转发云端数据给单片机。

3. 触摸检测状态机

  • 功能实现:通过状态机模式管理触摸检测,消抖时间设置为2u8ms,确保高效且精准的触摸检测。

4. 界面组件程序

  • 按钮和文本组件:支持按键和文本显示,通过定时器管理组件生命周期。
  • 页面管理:自定义页面视图管理器,支持多种组件绘制和动态更新。

四、调试及验证

  • 硬件组装:完成各模块焊接组装后,检查电气连接性能。
  • 软件下载:通过串口下载单片机程序,启动系统。
  • 触摸校准:按提示点击屏幕四个顶点完成校准。
  • 数据采集与显示:在刷新界面查看环境参数,观察数据实时变化。

  • 五、资源下载

    本设计提供了完整的Keil工程和AD工程,供有需求的同学参考使用。


    本文完整介绍了环境检测系统的硬件电路和软件设计方案,涵盖了从模块选择到系统调试的全过程,希望对相关领域的同学有所帮助!

    上一篇:一个不错的战略沟通模型图
    下一篇:广工电科0809考研经验&专业课资料

    发表评论

    最新留言

    很好
    [***.229.124.182]2025年04月11日 20时43分51秒