概論
最近閑來(lái)沒事,總結(jié)一下自己的一個(gè)物聯(lián)網(wǎng)綜合課程設(shè)計(jì)的內(nèi)容,將它上傳到往上,一方面可以供自己日后的學(xué)習(xí)和回顧,另一方面希望幫助到其他有需要的人。
工具介紹
基于MicroPython的智能火災(zāi)報(bào)警器系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
硬件方面:主控板使用的是 ESP-WROOM-32 開發(fā)板,另外,傳感器使用了 DHT11 溫濕度傳感器、MQ-2 煙霧傳感器、LED 全彩RGB燈、面包板以及杜邦線;
軟件方面:使用的語(yǔ)言是 MicroPython 語(yǔ)言、Thonny 開發(fā)軟件、App Inventor開發(fā)軟件;
問題描述
利用 ESP-WROOM-32 和 PC 機(jī),設(shè)計(jì)并實(shí)現(xiàn)智能火災(zāi)報(bào)警器系統(tǒng)。
??1.利用 ESP-WROOM-32 開發(fā)板以及擴(kuò)展板采集環(huán)境中的煙霧濃度值和溫濕度值等;
??2.通過擴(kuò)展 ESP32 模塊實(shí)現(xiàn) WiFi 功能;
??3.編寫 MicroPython 程序,將各種監(jiān)測(cè)數(shù)據(jù)傳輸?shù)?PC 機(jī);
??4.開發(fā)上位機(jī)應(yīng)用程序,實(shí)現(xiàn)對(duì)監(jiān)測(cè)數(shù)據(jù)的存儲(chǔ)、統(tǒng)計(jì)和分析;
??5.獨(dú)立設(shè)計(jì)、調(diào)試和下載并通過指導(dǎo)教師現(xiàn)場(chǎng)驗(yàn)收;
設(shè)計(jì)原理
智能火災(zāi)報(bào)警器系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),具體而言,利用多種傳感器監(jiān)測(cè)室內(nèi)溫度、濕度、煙霧濃度。利用人機(jī)交互設(shè)計(jì)軟件 Thonny,通過編寫 MicroPython 代碼,寫入到 ESP-WROOM-32 開發(fā)板,實(shí)現(xiàn)對(duì)監(jiān)測(cè)環(huán)境中溫濕度和煙霧濃度數(shù)值的檢測(cè)、上傳。利用手機(jī)終端、電腦終端等方式實(shí)現(xiàn)對(duì)數(shù)據(jù)的折線圖顯示和數(shù)據(jù)統(tǒng)計(jì)分析。用戶可隨時(shí)隨地了解監(jiān)測(cè)環(huán)境中的具體情況,當(dāng)環(huán)境中的煙霧濃度或者溫濕度到達(dá)設(shè)定的閾值時(shí),系統(tǒng)將會(huì)發(fā)光閃爍警告附件的人遠(yuǎn)離危險(xiǎn)。智能火災(zāi)報(bào)警系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)有利于提高生活的便利性、安全性。
與傳統(tǒng)的火災(zāi)報(bào)警器不同的是,智能火災(zāi)報(bào)警器系統(tǒng)能通過 MQTT 協(xié)議,實(shí)現(xiàn)對(duì)數(shù)據(jù)的實(shí)時(shí)上傳和分析,并且搭配線下的燈光閃爍警告,真正實(shí)現(xiàn)實(shí)地和網(wǎng)絡(luò)監(jiān)測(cè)的雙重安全。通過 MQTT 物聯(lián)網(wǎng)傳輸協(xié)議,輕量級(jí)的發(fā)布/訂閱式消息傳輸,實(shí)現(xiàn)為低帶寬和不穩(wěn)定的網(wǎng)絡(luò)環(huán)境中的物聯(lián)網(wǎng)設(shè)備提供可靠的網(wǎng)絡(luò)服務(wù)。
設(shè)計(jì)思路
智能火災(zāi)報(bào)警器系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)是基于 ESP-WROOM-32 的新型集成開發(fā)環(huán)境 MicroPython ,通過感溫濕和感煙傳感器實(shí)時(shí)監(jiān)測(cè)溫濕度和煙霧濃度的變化,發(fā)生火災(zāi)時(shí),火災(zāi)報(bào)警器會(huì)發(fā)出光報(bào)警信號(hào),同時(shí)將監(jiān)測(cè)到的火災(zāi)信號(hào)和數(shù)據(jù)上傳給管理系統(tǒng)。智能火災(zāi)報(bào)警器系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)主要包含如下 3 個(gè)部分:
??1.溫濕度監(jiān)測(cè)模塊的設(shè)計(jì),溫濕度數(shù)據(jù)采用 DHT11 溫濕度傳感器傳感器收集。DHT11 數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器。它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性與卓越的長(zhǎng)期穩(wěn)定性。
??2.煙霧監(jiān)測(cè)模塊的設(shè)計(jì),MQ-2 氣體傳感器所使用的氣敏材料是在清潔空氣中電導(dǎo)率較低的二氧化錫(SnO2)。當(dāng)傳感器所處環(huán)境中存在可燃?xì)怏w時(shí),傳感器的電導(dǎo)率隨空氣中可燃?xì)怏w濃度的增加而增大。使用簡(jiǎn)單的電路即可將電導(dǎo)率的變化轉(zhuǎn)換為與該氣體濃度相對(duì)應(yīng)的輸出信號(hào)。
??3.自動(dòng)報(bào)警燈光模塊的設(shè)計(jì),LED 燈采用的是 5mm 紅色 LED 發(fā)光模塊。此模塊在是溫度數(shù)值過高自動(dòng)報(bào)警閃爍亮燈。
環(huán)境搭建
ESP32 環(huán)境的的搭建,主要參考了這邊文章:Thonny+MicroPython+ESP32開發(fā)環(huán)境搭建
App Inventor 開發(fā)的網(wǎng)站鏈接:MIT App Inventor
總體設(shè)計(jì)
硬件包括 DHT11 溫濕度傳感器和 MQ-2 煙霧傳感器還有自動(dòng)報(bào)警模塊,傳感器監(jiān)測(cè)模塊包括對(duì)環(huán)境的溫濕度和煙霧濃度監(jiān)測(cè),用戶可以在安卓 app 上查看到實(shí)時(shí)傳感數(shù)據(jù),自動(dòng)報(bào)警模塊是當(dāng)傳感數(shù)據(jù)超過設(shè)置的閾值時(shí)會(huì)進(jìn)行報(bào)警,LED 將會(huì)持續(xù)閃爍。直到溫度降低到正常數(shù)值的時(shí)候,自動(dòng)報(bào)警模塊的 LED 燈才會(huì)停止閃爍。通過各個(gè)傳感器的數(shù)據(jù)將采集,在 ESP32-WROOM-32 主控的驅(qū)動(dòng)下,傳輸數(shù)據(jù)到服務(wù)器。硬件設(shè)計(jì)的總體流程圖如下圖所示。
硬件總體設(shè)計(jì)方案
整體設(shè)計(jì)方案
基于物聯(lián)網(wǎng)的智能火災(zāi)報(bào)警器系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)需要實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)采集、數(shù)據(jù)可視化展示、自動(dòng)預(yù)警等功能。系統(tǒng)首先以 ESP-WROOM-32 為系統(tǒng)數(shù)據(jù)采集終端來(lái)連接 DHT11 溫濕度傳感器、MQ-2 煙霧傳感器等傳感器來(lái)實(shí)現(xiàn)對(duì)監(jiān)測(cè)環(huán)境參數(shù)進(jìn)行實(shí)時(shí)數(shù)據(jù)采集,然后將采集的數(shù)據(jù)通過 MQTT 協(xié)議上傳至巴法云物聯(lián)網(wǎng)平臺(tái),通過巴法云可視化數(shù)據(jù)模塊和安卓 app 實(shí)現(xiàn)對(duì)數(shù)據(jù)的可視化展示和自動(dòng)預(yù)警處理??梢暬故揪褪菍⒈槐O(jiān)測(cè)區(qū)域的環(huán)境參數(shù)以及預(yù)警事件信息以折線圖的形式展現(xiàn)在用戶面前,讓用戶可以更加快速、直觀的獲取數(shù)據(jù)信息。用戶可以根據(jù)安卓 app 實(shí)時(shí)傳輸?shù)臄?shù)據(jù),遠(yuǎn)程觀察被監(jiān)測(cè)環(huán)境參數(shù)。整個(gè)系統(tǒng)結(jié)構(gòu)圖如下圖所示。
本系統(tǒng)主要分為三大模塊,分別為傳感器監(jiān)測(cè)模塊,自動(dòng)報(bào)警模塊和可視化顯示模塊。傳感器監(jiān)測(cè)模塊包括對(duì)環(huán)境的溫濕度和煙霧濃度監(jiān)測(cè),用戶可以在安卓 app 上查看到實(shí)時(shí)傳感數(shù)據(jù);自動(dòng)報(bào)警模塊是當(dāng)傳感數(shù)據(jù)超過設(shè)置的閾值時(shí)會(huì)進(jìn)行報(bào)警,提醒用戶注意火災(zāi)的發(fā)生。可視化展示模塊是基于巴法云物聯(lián)網(wǎng)智能平臺(tái)。實(shí)現(xiàn) MQTT 通信,首先需要開發(fā)板需要連接上 wifi,然后還需要連接上 MQTT,開發(fā)板、巴法云物聯(lián)網(wǎng)平臺(tái)和安卓 app 端三者之間都是通過 MQTT 通信的,MQTT 協(xié)議是此次設(shè)計(jì)最重要的一部分。
硬件功能模塊設(shè)計(jì)與實(shí)現(xiàn)
基于物聯(lián)網(wǎng)的智能火災(zāi)報(bào)警器系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),選擇 ESP32-WROOM-32 為主控板,ESP32 性能穩(wěn)定,工作溫度范圍達(dá)到 –40°C 到 +125°C。集成的自校準(zhǔn)電路實(shí)現(xiàn)了動(dòng)態(tài)電壓調(diào)整,可以消除外部電路的缺陷并適應(yīng)外部條件的變化。ESP32 將天線開關(guān)、RF balun、功率放大器、接收低噪聲放大器、濾波器、電源管理模塊等功能集于一體。ESP32 只需極少的外圍器件,即可實(shí)現(xiàn)強(qiáng)大的處理性能、可靠的安全性能,和 Wi-Fi &藍(lán)牙功能。ESP32 專為移動(dòng)設(shè)備、可穿戴電子產(chǎn)品和物聯(lián)網(wǎng)應(yīng)用而設(shè)計(jì),具有業(yè)內(nèi)高水平的低功耗性能,包括精細(xì)分辨時(shí)鐘門控、省電模式和動(dòng)態(tài)電壓調(diào)整等。ESP32 可作為獨(dú)立系統(tǒng)運(yùn)行應(yīng)用程序或是主機(jī) MCU 的從設(shè)備,通過 SPI/SDIO 或 I2C/UART 接口提供 Wi-Fi 和藍(lán)牙功能。ESP32 開發(fā)板如下圖所示。
硬件設(shè)計(jì)包含 2 大模塊,分別是 DHT11 溫濕度傳感器和 MQ-2 煙霧傳感器還有自動(dòng)報(bào)警模塊,傳感器監(jiān)測(cè)模塊包括對(duì)環(huán)境的溫濕度和煙霧濃度監(jiān)測(cè),用戶可以在安卓 app 上查看到實(shí)時(shí)傳感數(shù)據(jù),自動(dòng)報(bào)警模塊是當(dāng)傳感數(shù)據(jù)超過設(shè)置的閾值時(shí)會(huì)進(jìn)行報(bào)警,LED 將會(huì)持續(xù)閃爍。直到溫度降低到正常數(shù)值的時(shí)候,自動(dòng)報(bào)警模塊的 LED 燈才會(huì)停止閃爍。硬件設(shè)計(jì)的總體結(jié)構(gòu)圖如下圖所示。
軟件功能模塊設(shè)計(jì)與實(shí)現(xiàn)
訪問在線編程網(wǎng)站,通過谷歌授權(quán)的中文鏡像網(wǎng)站廣州教科網(wǎng),安裝 App Inventor 模擬器,運(yùn)行 App Inventor 模擬器程序 aiStarter,在線編程網(wǎng)站進(jìn)入 AI2 開發(fā)環(huán)境,可以初步感受圖形化拖放式模塊編程,編寫一個(gè)智能火災(zāi)報(bào)警器系統(tǒng) APP。智能火災(zāi)報(bào)警器系統(tǒng) app 的設(shè)計(jì)使用了垂直布局和水平布局的界面布局,從界面設(shè)計(jì)器的用戶界面組件下分別選擇標(biāo)簽、按鈕、微數(shù)據(jù)庫(kù)。實(shí)現(xiàn)對(duì)數(shù)據(jù)的顯示,使用 App Inventor 自帶的微數(shù)據(jù)庫(kù)對(duì)數(shù)據(jù)的保存,保存三組數(shù)據(jù),分別是溫度、濕度、煙霧安全指示。在使用 App Inventor 開發(fā)的過程中,調(diào)用連接云平臺(tái)接口 ClientSocketAI2Ext1,連接巴法云物聯(lián)網(wǎng)云平臺(tái),實(shí)現(xiàn)對(duì)數(shù)據(jù)的實(shí)時(shí)接收。智能火災(zāi)報(bào)警器系統(tǒng) app 組件設(shè)計(jì)圖如下所示。
實(shí)現(xiàn)對(duì)監(jiān)測(cè)數(shù)據(jù)的存儲(chǔ)、統(tǒng)計(jì)和分析,數(shù)據(jù)的顯示,利用發(fā)布訂閱模式。第一步,先獲取各種傳感器數(shù)值,第二步,新建主題,然后往這個(gè)主題發(fā)送消息,第三步。App Inventor 訂閱這個(gè)主題,因?yàn)?App Inventor 制作的 app 訂閱了這個(gè)主題,就可以收到來(lái)自這個(gè)主題的消息,也就是可以收到各種傳感器數(shù)值。在巴法創(chuàng)客云控制臺(tái)新建一個(gè)主題,主題名字隨意,例如 Test,使用示例代碼時(shí)應(yīng)修改為自己的主題名字,字母或數(shù)字或字母加數(shù)字組合。UID 為用戶私鑰,在巴法創(chuàng)客云控制臺(tái)注冊(cè)登陸后可獲得。登陸完成后,可在控制臺(tái)看到自己的私鑰 UID。巴法云物聯(lián)網(wǎng)智能平臺(tái)如圖所示。
測(cè)試及結(jié)果分析
系統(tǒng)線路連接
基于 ESP-WROOM-32 的智能火災(zāi)報(bào)警器系統(tǒng),通過對(duì) DHT11 溫濕度模塊 MQ-2 煙霧檢測(cè)模塊、LED 全彩 RGB 模塊的連接,實(shí)現(xiàn)了對(duì)監(jiān)測(cè)環(huán)境溫濕度以及煙霧的監(jiān)測(cè)。DHT11 溫濕度模塊連接 ESP-WROOM-32 開發(fā)板的 Pin13 引腳,MQ-2 煙霧檢測(cè)模塊連接 ESP-WROOM-32 開發(fā)板的 Pin25 引腳,LED 全彩 RGB 模塊連接 ESP-WROOM-32 開發(fā)板的 Pin12、14、27 引腳,實(shí)現(xiàn)對(duì)燈光的控制。系統(tǒng)線路連接圖如下所示。
DHT11 溫濕度傳感器模塊測(cè)試
實(shí)時(shí)的采集本地濕度和溫度。DHT11 與單片機(jī)之間能采用簡(jiǎn)單的單總線進(jìn)行通信,僅僅需要一個(gè) I/O 口。傳感器內(nèi)部濕度和溫度數(shù)據(jù) 40Bit 的數(shù)據(jù)一次性傳給單片機(jī),數(shù)據(jù)采用校驗(yàn)和方式進(jìn)行校驗(yàn),有效的保證數(shù)據(jù)傳輸?shù)臏?zhǔn)確性。DHT11 功耗很低,5V 電源電壓下,工作平均最大電流 0.5mA。DHT11 溫濕度傳感器模塊正常測(cè)試圖如下所示。
設(shè)定溫度的閾值為20攝氏度,當(dāng)環(huán)境溫度高于設(shè)置的閾值的時(shí)候,將會(huì)輸出溫度過高的提示,此時(shí)隨著溫度的變化,當(dāng)溫度低于所設(shè)定的溫度閾值的時(shí)候,將會(huì)顯示正常,提示環(huán)境溫度正常。DHT11 溫濕度傳感器模塊高溫測(cè)試圖如下所示。
MQ-2 煙霧傳感器模塊測(cè)試
MQ-2 煙霧傳感器所使用的氣敏材料是在清潔空氣中電導(dǎo)率較低的二氧化錫(SNo2)。當(dāng)傳感器所處環(huán)境中存在可燃?xì)怏w時(shí),傳感器的電導(dǎo)率隨空氣中可燃?xì)怏w濃度的增加而增大。使用簡(jiǎn)單的電路即可將電導(dǎo)率的變化轉(zhuǎn)換為與該氣體濃度相對(duì)應(yīng)的輸出信號(hào)。MQ-2 煙霧傳感器使用 value() 方法,可以直接檢測(cè)是否有煙霧,當(dāng)系統(tǒng)檢測(cè)到煙霧的時(shí)候輸出 0 ,沒有檢測(cè)到煙霧的時(shí)候輸出 1。MQ-2 煙霧傳感器模塊正常測(cè)試圖如下所示。
當(dāng) MQ-2 煙霧傳感器檢測(cè)到煙霧的時(shí)候,將會(huì)輸出警告信息,此時(shí)輸出的 value() 方法的數(shù)值是 0 代表有煙霧,提示用戶注意環(huán)境安全,MQ-2 煙霧傳感器模塊報(bào)警測(cè)試圖如下所示。
LED 自動(dòng)報(bào)警模塊測(cè)試
當(dāng)系統(tǒng)檢測(cè)的溫度高于設(shè)定的閾值的時(shí)候,系統(tǒng)發(fā)出火災(zāi)預(yù)警信息,LED 模塊閃爍,提示用戶發(fā)生火災(zāi),當(dāng)溫度低于正常值的時(shí)候,LED 模塊自動(dòng)關(guān)閉。設(shè)定高溫報(bào)警的溫度閾值是 20 攝氏度,當(dāng)環(huán)境的溫度高于設(shè)定的閾值的時(shí)候,LED 燈將會(huì)閃爍,LED 模塊自動(dòng)報(bào)警測(cè)試圖如下所示。
軟件測(cè)試及結(jié)果分析
巴法云物聯(lián)網(wǎng)平臺(tái)可視化顯示測(cè)試
登錄巴法云物聯(lián)網(wǎng)平臺(tái),注冊(cè)新建主題 Test,通過 MQTT 協(xié)議實(shí)現(xiàn) ESP-WROOM-32 和巴法云服務(wù)器的連接,當(dāng)開發(fā)板檢測(cè)到數(shù)據(jù)更新的時(shí)候,實(shí)時(shí)上傳數(shù)據(jù)到云服務(wù)器,通過巴法云物聯(lián)網(wǎng)平臺(tái)實(shí)時(shí)可視化顯示溫濕度的數(shù)據(jù),并用折線圖顯示。根據(jù)折線圖可以客觀的觀察溫濕度的實(shí)時(shí)變化,有效的防止火災(zāi)的發(fā)生。巴法云物聯(lián)網(wǎng)平臺(tái)可視化折線圖顯示圖如下所示。
安卓 app 測(cè)試
安卓 app 通過 App Inventor 設(shè)計(jì)實(shí)現(xiàn),通過訂閱巴法云物聯(lián)網(wǎng)平臺(tái)主題 Test 實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)接收和保存,對(duì) DHT11 溫濕度傳感器接收的數(shù)據(jù)以及 MQ-2 煙霧傳感器的數(shù)據(jù)進(jìn)行顯示,并通過 App Inventor 的微數(shù)據(jù)庫(kù),實(shí)現(xiàn)數(shù)據(jù)的保存顯示。按下數(shù)據(jù)存儲(chǔ)的按鈕就可以看到數(shù)據(jù)。安卓 app 測(cè)試顯示圖如下所示。
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-499917.html
代碼下載
基于MicroPython的智能火災(zāi)報(bào)警器系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-499917.html
到了這里,關(guān)于基于MicroPython的智能火災(zāi)報(bào)警器系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!