RM新时代网站-首页

聚豐項(xiàng)目 > 基于STM32的空氣質(zhì)量檢測(cè)

基于STM32的空氣質(zhì)量檢測(cè)

本室內(nèi)空氣監(jiān)測(cè)凈化系統(tǒng)為解決室內(nèi)污染而設(shè)計(jì),基于物聯(lián)網(wǎng)技術(shù),除了空氣檢測(cè)、凈化的同時(shí)也可作為室內(nèi)智能家居的總控制端。

晨曦之光1992 晨曦之光1992

分享
1 喜歡這個(gè)項(xiàng)目
團(tuán)隊(duì)介紹

晨曦之光1992 晨曦之光1992

團(tuán)隊(duì)成員

秦志鳳 工程師

李霞 工程師

江峰 工程師

分享
項(xiàng)目簡(jiǎn)介
本室內(nèi)空氣監(jiān)測(cè)凈化系統(tǒng)為解決室內(nèi)污染而設(shè)計(jì),基于物聯(lián)網(wǎng)技術(shù),除了空氣檢測(cè)、凈化的同時(shí)也可作為室內(nèi)智能家居的總控制端。
硬件說明

本STM32室內(nèi)空氣凈化監(jiān)測(cè)系統(tǒng)主要由三個(gè)部分組成,監(jiān)測(cè)端、凈化端和上位機(jī),主要功能如下:

(1)實(shí)時(shí)監(jiān)控室內(nèi)空氣各項(xiàng)氣體指標(biāo);

通過各種傳感器的配合,采集室內(nèi)溫濕度、CO、CO2、PM2.5、甲醛、可燃?xì)怏w等信息,讓用戶實(shí)時(shí)了解自己所居住的環(huán)境空氣質(zhì)量。

(2)智能監(jiān)控,數(shù)據(jù)實(shí)時(shí)傳輸、分析整合;

可實(shí)時(shí)了解室內(nèi)空氣質(zhì)量也可分析一段時(shí)間內(nèi)氣體含量指標(biāo),整合分析并給用戶提出合理建議,并智能調(diào)節(jié)監(jiān)控端,有針對(duì)性的加強(qiáng)對(duì)某些指標(biāo)的監(jiān)控。

(3)配套空氣凈化端,凈化室內(nèi)空氣,有效提高空氣質(zhì)量;

本系統(tǒng)配有無線凈化端,內(nèi)部?jī)艋b置全面優(yōu)良,可大幅度改善室內(nèi)空氣環(huán)境。

(4)上位機(jī)調(diào)控監(jiān)測(cè)凈化系統(tǒng);

通過PC端或手機(jī)等電子設(shè)備了解室內(nèi)空氣指標(biāo),也可分析處理數(shù)據(jù),為用戶提供直觀的空氣質(zhì)量信息并提出合理建議。通過上位機(jī)控制監(jiān)測(cè)端和凈化端具體工作細(xì)節(jié),編輯工作狀態(tài)等。

(5)預(yù)防家中災(zāi)難發(fā)生,防火災(zāi)、防燃?xì)庑孤┑龋?/span>


本設(shè)計(jì)基于STM32F407ZGT6進(jìn)行設(shè)計(jì),圖3-1為模型示意圖,由上位機(jī)、主控系統(tǒng)、監(jiān)測(cè)模塊(溫濕度監(jiān)測(cè)、PM2.5和各種氣體的監(jiān)測(cè)模塊)、通信模塊(WIFI、藍(lán)牙與備用的以太網(wǎng)模塊)、電源、指示燈、液晶屏以及蜂鳴器組成。主要通過STM32與各個(gè)監(jiān)測(cè)模塊相連,將監(jiān)測(cè)模塊所得到的數(shù)據(jù)經(jīng)過藍(lán)牙、WIFI傳給上位機(jī)(手機(jī)、PC機(jī)等),然后由上位機(jī)配套的程序?qū)?shù)據(jù)進(jìn)行記錄、統(tǒng)計(jì),從而達(dá)到對(duì)空氣質(zhì)量的監(jiān)測(cè)與分析。本章將對(duì)設(shè)計(jì)所用到的主要模塊的電路進(jìn)行介紹。


  室內(nèi)空氣質(zhì)量監(jiān)測(cè)系統(tǒng)由若干個(gè)傳感器節(jié)點(diǎn)、一個(gè)開發(fā)板節(jié)點(diǎn)、一個(gè)電腦端以及一個(gè)智能手機(jī)端組成,其中,傳感器節(jié)點(diǎn)通過有線的方式與開發(fā)板進(jìn)行數(shù)據(jù)信息的交流,開發(fā)板利用USB串口與電腦端進(jìn)行連接,并進(jìn)行數(shù)據(jù)通信,電腦端通過WIFI模塊與手機(jī)APP相連,以便在手機(jī)屏幕上顯示監(jiān)測(cè)結(jié)果。


軟件說明

控制系統(tǒng)接通電源后,初始化進(jìn)入待機(jī)狀態(tài),由按鍵上的電源開關(guān)確定是否開啟凈化器。凈化器開啟后,進(jìn)入主循環(huán),讀取上次關(guān)機(jī)前存儲(chǔ)在Flash中的系統(tǒng)狀態(tài)參數(shù),并進(jìn)行信號(hào)采集和解算處理,隨后開啟內(nèi)部定時(shí)中斷。若有中斷產(chǎn)生,則執(zhí)行相應(yīng)的中斷程序,否則執(zhí)行按鍵掃描程序。按鍵掃描程序運(yùn)行結(jié)束后所調(diào)整的系統(tǒng)工作狀態(tài)以及其他相關(guān)參數(shù)由顯示程序調(diào)用顯示,同時(shí)被保存到Flash當(dāng)中,防止系統(tǒng)掉電后數(shù)據(jù)丟失。

     

隨著移動(dòng)物聯(lián)網(wǎng)的興起,APP的使用已經(jīng)成為我們?nèi)粘I钪胁豢苫蛉钡囊徊糠帧3艘酝猓?/span>APP的使用相對(duì)于電腦客戶端也更加方便,所以我們?cè)O(shè)計(jì)了一款空氣凈化監(jiān)測(cè)期的APP供大家使用。

4.2.1藍(lán)牙連接

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 手機(jī)APP界面設(shè)計(jì)

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);

       }

     }

}


演示效果

視頻效果演示:


評(píng)論區(qū)(3 )
  • xulilaopo123: 請(qǐng)團(tuán)隊(duì)負(fù)責(zé)人或者群主有時(shí)間和我聯(lián)系18931429731

    回復(fù)

  • Ggogo: 如有時(shí)間盡快聯(lián)系qq:189790439

    回復(fù)

    • Ggogo: 盡快阿

      回復(fù)

RM新时代网站-首页