聚丰项目 > 基于STM32的空气质量检测

基于STM32的空气质量检测

本室内空气监测净化系统为解决室内污染而设计,基于物联网技术,除了空气检测、净化的同时也可作为室内智能家居的总控制端。

晨曦之光1992 晨曦之光1992

0 喜欢这个项目
团队介绍

晨曦之光1992 晨曦之光1992

团队成员

秦志凤 工程师

李霞 工程师

江峰 工程师

项目简介
本室内空气监测净化系统为解决室内污染而设计,基于物联网技术,除了空气检测、净化的同时也可作为室内智能家居的总控制端。
硬件说明

本STM32室内空气净化监测系统主要由三个部分组成,监测端、净化端和上位机,主要功能如下:

(1)实时监控室内空气各项气体指标;

通过各种传感器的配合,采集室内温湿度、CO、CO2、PM2.5、甲醛、可燃气体等信息,让用户实时了解自己所居住的环境空气质量。

(2)智能监控,数据实时传输、分析整合;

可实时了解室内空气质量也可分析一段时间内气体含量指标,整合分析并给用户提出合理建议,并智能调节监控端,有针对性的加强对某些指标的监控。

(3)配套空气净化端,净化室内空气,有效提高空气质量;

本系统配有无线净化端,内部净化装置全面优良,可大幅度改善室内空气环境。

(4)上位机调控监测净化系统;

通过PC端或手机等电子设备了解室内空气指标,也可分析处理数据,为用户提供直观的空气质量信息并提出合理建议。通过上位机控制监测端和净化端具体工作细节,编辑工作状态等。

(5)预防家中灾难发生,防火灾、防燃气泄漏等;


本设计基于STM32F407ZGT6进行设计,图3-1为模型示意图,由上位机、主控系统、监测模块(温湿度监测、PM2.5和各种气体的监测模块)、通信模块(WIFI、蓝牙与备用的以太网模块)、电源、指示灯、液晶屏以及蜂鸣器组成。主要通过STM32与各个监测模块相连,将监测模块所得到的数据经过蓝牙、WIFI传给上位机(手机、PC机等),然后由上位机配套的程序对数据进行记录、统计,从而达到对空气质量的监测与分析。本章将对设计所用到的主要模块的电路进行介绍。


  室内空气质量监测系统由若干个传感器节点、一个开发板节点、一个电脑端以及一个智能手机端组成,其中,传感器节点通过有线的方式与开发板进行数据信息的交流,开发板利用USB串口与电脑端进行连接,并进行数据通信,电脑端通过WIFI模块与手机APP相连,以便在手机屏幕上显示监测结果。


软件说明

控制系统接通电源后,初始化进入待机状态,由按键上的电源开关确定是否开启净化器。净化器开启后,进入主循环,读取上次关机前存储在Flash中的系统状态参数,并进行信号采集和解算处理,随后开启内部定时中断。若有中断产生,则执行相应的中断程序,否则执行按键扫描程序。按键扫描程序运行结束后所调整的系统工作状态以及其他相关参数由显示程序调用显示,同时被保存到Flash当中,防止系统掉电后数据丢失。

     

随着移动物联网的兴起,APP的使用已经成为我们日常生活中不可或缺的一部分。除此以外,APP的使用相对于电脑客户端也更加方便,所以我们设计了一款空气净化监测期的APP供大家使用。

4.2.1蓝牙连接

public void connect(BluetoothDevice paramBluetoothDevice)

  {

    monitorenter;

    try

    {

      Log.d("BluetoothChatService", "连接到: " + paramBluetoothDevice);

      if ((this.mState == 2) && (this.mConnectThread != null))

      {

        this.mConnectThread.cancel();

        this.mConnectThread = null;

      }

      if (this.mConnectedThread != null)

      {

        this.mConnectedThread.cancel();

        this.mConnectedThread = null;

      }

      this.mConnectThread = new ConnectThread(paramBluetoothDevice);

      this.mConnectThread.start();

      setState(2);

      return;

    }

    finally

    {

      monitorexit;

    }

     }

4.2.2 手机APP界面设计

public class all_FunctionActivity extends Activity

{

   public static String str = "a";

   private ListView functionList;

   private AdapterView.OnItemClickListener mDeviceClickListener=new AdapterView.OnItemClickListener()

   {

     public void onItemClick(AdapterView paramAdapterView, View paramView, int paramInt, long paramLong)

     {

       Intent localIntent = new Intent();

       localIntent.putExtra(all_FunctionActivity.str, paramInt);

       all_FunctionActivity.this.setResult(-1, localIntent);

       all_FunctionActivity.this.finish();

     }

   };

   private String[] strs = { "7天的温度", "15天的温度", "30天的温度", "7天的湿度", "15天的湿度", "30天的湿度", "一氧化碳含量", "二氧化碳含量", "PM2.5" };

protected void onCreate(Bundle paramBundle)

   {

     super.onCreate(paramBundle);

     requestWindowFeature(5);

     setContentView(2130903044);

     setResult(0);

     this.functionList = ((ListView)findViewById(2131099658));

     this.functionList.setAdapter(new ArrayAdapter(this, 17367043, this.strs));

     this.functionList.setOnItemClickListener(this.mDeviceClickListener);

     ((Button)findViewById(2131099659)).setOnClickListener(new View.OnClickListener()

     {

       public void onClick(View paramView)

       {

         Intent localIntent=new Intent(all_FunctionActivity.this, BluetoothChatActivity.class);

         all_FunctionActivity.this.startActivity(localIntent);

       }

     }

}


演示效果

视频效果演示:


评论区(1 )
  • xulilaopo123: 请团队负责人或者群主有时间和我联系18931429731

    回复