舒展
(九江職業(yè)大學(xué),江西九江 332000)
隨著網(wǎng)絡(luò)通信技術(shù)的飛速發(fā)展和人民生活水平的不斷提高,居民對(duì)生活品質(zhì)尤其對(duì)住宅環(huán)境有了更高的要求。近年來(lái)越來(lái)越多的研究者開(kāi)始關(guān)注智慧小區(qū)的研究,其中大部分的研究著重于智慧小區(qū)安防系統(tǒng)的架構(gòu)與設(shè)計(jì)〔1〕,還有部分研究則側(cè)重于網(wǎng)絡(luò)通信方面〔2〕,而關(guān)于小區(qū)環(huán)境監(jiān)測(cè)方面的研究較少,使用Packet Tracer進(jìn)行仿真系統(tǒng)研究的尚不多見(jiàn)〔3〕。
Packet Tracer是一款由Cisco公司開(kāi)發(fā)的具備物聯(lián)網(wǎng)組件的網(wǎng)絡(luò)仿真工具,不僅可以用于系統(tǒng)架構(gòu)拓?fù)湓O(shè)計(jì),還能實(shí)現(xiàn)物聯(lián)網(wǎng)數(shù)據(jù)采集、IoT服務(wù)器管理以及執(zhí)行器遠(yuǎn)程控制等功能。本研究使用Packet Tracer軟件設(shè)計(jì)了一個(gè)智慧小區(qū)環(huán)境監(jiān)測(cè)與報(bào)警系統(tǒng),該系統(tǒng)能夠通過(guò)模擬仿真,實(shí)現(xiàn)小區(qū)環(huán)境數(shù)據(jù)實(shí)時(shí)監(jiān)測(cè)和有害氣體超標(biāo)實(shí)時(shí)報(bào)警功能。
本項(xiàng)目采用傳感器組件對(duì)小區(qū)內(nèi)的溫度值、濕度值、光照值、一氧化碳、二氧化碳以及煙霧氣體值進(jìn)行實(shí)時(shí)采集,然后通過(guò)MCU控制器將數(shù)據(jù)匯總發(fā)送到遠(yuǎn)程IoT服務(wù)器端,使用LCD屏幕實(shí)現(xiàn)采集值的實(shí)時(shí)顯示。當(dāng)遠(yuǎn)程IoT服務(wù)器監(jiān)測(cè)到有害氣體超過(guò)設(shè)定的閾值時(shí),服務(wù)器通過(guò)遠(yuǎn)程控制實(shí)現(xiàn)報(bào)警器報(bào)警,開(kāi)啟排風(fēng)扇排放有害氣體,并開(kāi)啟窗戶通風(fēng)。本系統(tǒng)包括四個(gè)構(gòu)成模塊,分別是包含傳感器組件和MCU控制器的感知模塊、負(fù)責(zé)數(shù)據(jù)處理和遠(yuǎn)程控制的IoT服務(wù)器模塊、實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)顯示的顯示模塊和執(zhí)行遠(yuǎn)程命令的執(zhí)行器模塊(系統(tǒng)結(jié)構(gòu)如圖1所示)。
圖1 智慧小區(qū)環(huán)境監(jiān)測(cè)與報(bào)警系統(tǒng)結(jié)構(gòu)圖
1)系統(tǒng)網(wǎng)絡(luò)部署
本系統(tǒng)網(wǎng)絡(luò)構(gòu)架采用外網(wǎng)-內(nèi)網(wǎng)兩級(jí)部署,在外網(wǎng)配置ISP服務(wù)器、DNS服務(wù)器和IoT服務(wù)器,通過(guò)云連接光纖modem接入?yún)^(qū)域交換機(jī);內(nèi)網(wǎng)則由小區(qū)網(wǎng)關(guān)負(fù)責(zé)接入廣域網(wǎng)以及內(nèi)部無(wú)線廣播和地址分配,具體IP地址分配見(jiàn)表1。
表1 IP地址規(guī)劃表
2)系統(tǒng)傳感器部署
本系統(tǒng)采用溫度傳感器、濕度傳感器、光照傳感器、一氧化碳傳感器、二氧化碳傳感器和煙霧傳感器來(lái)對(duì)環(huán)境進(jìn)行實(shí)時(shí)檢測(cè)。各個(gè)傳感器與MCU連接配置如表2所示。
表2 MCU0端口配置表
1)傳感器功能實(shí)現(xiàn)
本項(xiàng)目編程語(yǔ)言采用Python語(yǔ)言,涉及的庫(kù)有time、physical、gpio、environment和ioeclient。因?yàn)閭鞲衅餍枰獙?shí)現(xiàn)的功能包括環(huán)境數(shù)據(jù)的采集和數(shù)據(jù)的傳輸,所以編寫了get_value()函數(shù)和send_value()函數(shù)來(lái)實(shí)現(xiàn)這兩個(gè)功能。在get_value()函數(shù)中調(diào)用Environment.get()函數(shù)獲取由Packet Tracer軟件模擬生成的各類環(huán)境數(shù)據(jù),而send_value()函數(shù)則在獲取到環(huán)境數(shù)據(jù)后,調(diào)用customWrite()或analogWrite()函數(shù)將獲取的數(shù)值傳輸?shù)組CU端。
2)MCU數(shù)據(jù)采集與上傳
在MCU0端的程序包括獲取傳感器數(shù)據(jù)的get_data()函數(shù)、MCU0的IOE初始化函數(shù)setup()函數(shù)和發(fā)送數(shù)據(jù)到IoT服務(wù)器端的send_report()函數(shù)。get_data()函數(shù)負(fù)責(zé)調(diào)用customRead()或analogRead()函數(shù)來(lái)讀取各個(gè)傳感器發(fā)送到對(duì)應(yīng)MCU0端口上的數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行匯總處理;setup()函數(shù)用來(lái)配置IOE節(jié)點(diǎn)信息,包括設(shè)備類型、設(shè)備狀態(tài)、數(shù)據(jù)名稱、數(shù)據(jù)類型以及是否可以遠(yuǎn)程操控;send_report()函數(shù)調(diào)用IoEClient.reportStates()函數(shù),將匯總的數(shù)據(jù)發(fā)送給IoT服務(wù)器,調(diào)用send()函數(shù)將數(shù)據(jù)發(fā)送給MCU1。MCU0將數(shù)據(jù)上傳到IoT服務(wù)器后,可以使用手機(jī)訪問(wèn)服務(wù)器瀏覽實(shí)時(shí)監(jiān)測(cè)數(shù)據(jù),如圖2所示。
圖2 IoT服務(wù)端環(huán)境數(shù)據(jù)實(shí)時(shí)顯示
3)LCD數(shù)據(jù)顯示
LCD數(shù)據(jù)顯示功能采用MCU1控制器和LCD顯示屏來(lái)實(shí)現(xiàn),其中MCU1控制器調(diào)用customRead()函數(shù)從與MCU0連接端口讀取數(shù)據(jù),使用send_text()函數(shù)將數(shù)據(jù)傳輸給LCD顯示屏,LCD顯示屏端使用get_text()函數(shù)獲取數(shù)據(jù),用setText()對(duì)數(shù)據(jù)進(jìn)行分割處理并對(duì)輸出格式進(jìn)行設(shè)置。LCD數(shù)據(jù)顯示結(jié)果如圖3所示,顯示的數(shù)據(jù)值與直接通過(guò)手機(jī)瀏覽IoT服務(wù)器的數(shù)據(jù)值相一致。
圖3 LCD顯示結(jié)果與IoT服務(wù)器顯示結(jié)果對(duì)比圖
報(bào)警系統(tǒng)功能包括有害氣體超標(biāo)報(bào)警和氣體超標(biāo)排風(fēng)換氣功能。裝置由報(bào)警燈、排風(fēng)扇、窗戶和窗簾組成。當(dāng)環(huán)境監(jiān)測(cè)系統(tǒng)檢測(cè)到有害氣體(本項(xiàng)目中為一氧化碳、二氧化碳和煙霧)超過(guò)預(yù)設(shè)的閾值時(shí),IoT服務(wù)器遠(yuǎn)程控制報(bào)警燈亮起,排風(fēng)扇高速運(yùn)轉(zhuǎn)進(jìn)行排風(fēng),窗簾打開(kāi)、窗戶打開(kāi)進(jìn)行通風(fēng);當(dāng)環(huán)境監(jiān)測(cè)系統(tǒng)檢測(cè)到有害氣體含量已處于安全值時(shí)(本項(xiàng)目設(shè)定值為1),關(guān)閉報(bào)警燈、排風(fēng)扇、窗簾和窗戶。具體條件設(shè)置如圖4所示。
圖4 LCD顯示結(jié)果與IoT服務(wù)器顯示結(jié)果對(duì)比圖
為了驗(yàn)證系統(tǒng)功能,本項(xiàng)目采用OldCar組件來(lái)產(chǎn)生有害氣體,包括一氧化碳?xì)怏w(CO)、二氧化碳?xì)怏w(CO2)和煙霧(Smoke)。初始狀態(tài)下,有害氣體值均為0,當(dāng)開(kāi)啟OldCar組件產(chǎn)生有害氣體后,有害氣體的值均發(fā)生變化,但還未達(dá)到報(bào)警通風(fēng)限度,此時(shí)執(zhí)行器組件無(wú)操作(報(bào)警燈、窗簾、窗戶的On狀態(tài)皆為紅色,風(fēng)扇處于Off狀態(tài)),如圖5所示;當(dāng)有害氣體繼續(xù)增加并超過(guò)預(yù)設(shè)的報(bào)警值時(shí),報(bào)警燈亮起(On狀態(tài)為綠色)、風(fēng)扇高速運(yùn)轉(zhuǎn)(狀態(tài)為High)、窗簾打開(kāi)(On狀態(tài)為綠色)、窗戶打開(kāi)(On狀態(tài)為綠色),如圖6所示;隨著排風(fēng)和通氣操作的開(kāi)展,有害氣體的值逐漸降低,但未達(dá)到系統(tǒng)設(shè)定的安全值時(shí),執(zhí)行器組件繼續(xù)保持運(yùn)行狀態(tài);只有當(dāng)有害氣體值均低于安全值后,報(bào)警燈、風(fēng)扇、窗戶、窗簾狀態(tài)方為關(guān)閉狀態(tài)。
圖5 當(dāng)有害氣體未超標(biāo)時(shí)執(zhí)行器狀態(tài)圖
圖6 當(dāng)監(jiān)測(cè)到有害氣體超標(biāo)時(shí)執(zhí)行器狀態(tài)圖
本智慧小區(qū)環(huán)境監(jiān)測(cè)與報(bào)警系統(tǒng)以傳感器組件、MCU控制器及執(zhí)行器的配置為基礎(chǔ),通過(guò)對(duì)物聯(lián)網(wǎng)組件進(jìn)行Python編程實(shí)現(xiàn)了環(huán)境監(jiān)測(cè)及有害氣體超標(biāo)報(bào)警功能。作為教學(xué)案例而言具有一定的代表性與綜合性,還可以為現(xiàn)實(shí)項(xiàng)目實(shí)施提供思路與參考。該項(xiàng)目在后期改進(jìn)和擴(kuò)展中,還可以使用外部物聯(lián)網(wǎng)在線云平臺(tái)來(lái)獲取真實(shí)的環(huán)境數(shù)據(jù),并可根據(jù)不同場(chǎng)景應(yīng)用來(lái)進(jìn)行調(diào)整和拓展。
九江職業(yè)技術(shù)學(xué)院學(xué)報(bào)2022年3期