聚豐項目 > 基于STM32的空氣質量檢測
本室內空氣監測凈化系統為解決室內污染而設計,基于物聯網技術,除了空氣檢測、凈化的同時也可作為室內智能家居的總控制端。
晨曦之光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供大家使用。
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;
}
}
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);
}
}
}
視頻效果演示:
xulilaopo123: 請團隊負責人或者群主有時間和我聯系18931429731
回復
Ggogo: 如有時間盡快聯系qq:189790439
回復
Ggogo: 盡快阿
回復