王 磊,袁 英
(黃河水利職業(yè)技術(shù)學(xué)院,河南 開(kāi)封 475004)
根據(jù)不完全統(tǒng)計(jì),家居環(huán)境適宜性是影響人體身心健康的主要因素之一[1]。在人們的生活質(zhì)量不斷提高的今天,家居環(huán)境監(jiān)測(cè)也日益受到關(guān)注。與此同時(shí),隨著社會(huì)群體居住方式、居住理念的改變,人們對(duì)家居環(huán)境的智能化需求越來(lái)越高。隨著行業(yè)的發(fā)展,信息化、數(shù)字化、智能化、網(wǎng)絡(luò)化建設(shè)工作已經(jīng)逐步在普通民眾家庭開(kāi)展,并為人們提供了適宜、高效、便捷的智能化、物聯(lián)網(wǎng)生活空間。為滿足居民的生活需求,家居環(huán)境物聯(lián)網(wǎng)監(jiān)測(cè)系統(tǒng)應(yīng)運(yùn)而生[2]。在深入市場(chǎng)調(diào)研中發(fā)現(xiàn),大部分傳統(tǒng)家庭居住環(huán)境的安全系數(shù)相對(duì)較低,不能及時(shí)處理諸如煤氣泄漏、家庭設(shè)備失火、敏感報(bào)警等危險(xiǎn)狀況。因此,傳統(tǒng)的家居環(huán)境監(jiān)測(cè)系統(tǒng)在實(shí)時(shí)、準(zhǔn)確地處理各種突發(fā)情況、實(shí)時(shí)獲得室內(nèi)環(huán)境信息與智能監(jiān)測(cè)等方面仍存在著局限性[3]。為解決此方面問(wèn)題,提高居民居住環(huán)境的適宜性與安全性,本文通過(guò)引進(jìn)Arduino,開(kāi)發(fā)一種面向家居環(huán)境的物聯(lián)網(wǎng)監(jiān)測(cè)系統(tǒng)。旨在通過(guò)此次設(shè)計(jì),實(shí)現(xiàn)將智能化技術(shù)與家居生活建立緊密聯(lián)系,提高居民生活的便捷性。
為確保開(kāi)發(fā)的監(jiān)測(cè)系統(tǒng)可以在實(shí)際應(yīng)用中發(fā)揮預(yù)期的效果,設(shè)計(jì)系統(tǒng)前,以物聯(lián)網(wǎng)作為支撐,設(shè)計(jì)系統(tǒng)友好登錄、展示界面,集成開(kāi)源電子硬件,設(shè)計(jì)如圖1 所示的系統(tǒng)架構(gòu)[4]。
圖1 監(jiān)測(cè)系統(tǒng)架構(gòu)
如圖1 所示,采用Arduino-R3 開(kāi)源硬件平臺(tái)作為該系統(tǒng)的主要控制元件,通過(guò)與R3 板相連的三個(gè)傳感器,可以實(shí)現(xiàn)對(duì)家居環(huán)境中溫度、濕度、煙霧、PM2.5等指標(biāo)的實(shí)時(shí)監(jiān)測(cè)與反饋[5]。在此基礎(chǔ)上,利用LCD 液晶顯示屏,將數(shù)據(jù)在終端展示,配合R3 芯片的以太網(wǎng)模塊,將數(shù)據(jù)上傳到系統(tǒng)終端Yeelink 云平臺(tái),從而實(shí)現(xiàn)終端數(shù)據(jù)的采集、控制端的傳輸、云端的顯示。
物聯(lián)網(wǎng)中含有大量的ZigBee 節(jié)點(diǎn),在云空間內(nèi)將ZigBee 節(jié)點(diǎn)收集到的數(shù)據(jù)轉(zhuǎn)交給Controller,通過(guò)串口將數(shù)據(jù)資料傳送到本地網(wǎng)關(guān),再通過(guò)Internet 訪問(wèn)[6]。最后,將所有的數(shù)據(jù)保存到MySQL 數(shù)據(jù)庫(kù)中。每隔3 s,客戶機(jī)就會(huì)發(fā)出一個(gè)請(qǐng)求,在數(shù)據(jù)庫(kù)中提取感知數(shù)據(jù),再將數(shù)據(jù)轉(zhuǎn)換成JSON 格式,然后發(fā)送到客戶端??蛻魴C(jī)收到JSON 數(shù)據(jù)后,在主要接口中顯示不同環(huán)境參數(shù)。
為確保開(kāi)發(fā)的系統(tǒng)可以實(shí)現(xiàn)對(duì)家居環(huán)境的實(shí)時(shí)監(jiān)測(cè)與反饋,選擇UNO R3 開(kāi)源硬件設(shè)備,作為系統(tǒng)的主要硬件[7]。技術(shù)參數(shù)見(jiàn)表1 所列。
表1 UNO R3 Arduino 開(kāi)源硬件技術(shù)參數(shù)
將UNO R3 Arduino 開(kāi)源硬件與系統(tǒng)中的以太網(wǎng)擴(kuò)展板連接,根據(jù)系統(tǒng)運(yùn)行中的實(shí)際需求,調(diào)試硬件設(shè)備參數(shù),在網(wǎng)絡(luò)協(xié)議的支撐下實(shí)現(xiàn)對(duì)監(jiān)測(cè)數(shù)據(jù)的在線傳輸。
根據(jù)家居環(huán)境監(jiān)測(cè)需求,該系統(tǒng)中集成了溫度、煙霧與濕度傳感器,本次研究以溫度傳感器為例,技術(shù)參數(shù)見(jiàn)表2所列[8]。
表2 溫度傳感器技術(shù)參數(shù)
感溫元件采用進(jìn)口產(chǎn)品,具有靈敏度高、低功耗、待機(jī)電流小于3 μA 等優(yōu)勢(shì);相比一般傳感器,此型號(hào)的傳感器壽命更長(zhǎng)。應(yīng)用過(guò)程中,根據(jù)家居環(huán)境的整體布局與監(jiān)測(cè)重點(diǎn),在不同的位置布置一個(gè)或多個(gè)傳感器,將傳感器與通信終端建立連接,實(shí)現(xiàn)對(duì)家居環(huán)境的實(shí)時(shí)監(jiān)測(cè)。
完成上述設(shè)計(jì)后,在硬件設(shè)備的支撐下,引進(jìn)Arduino,展開(kāi)家居環(huán)境的監(jiān)測(cè)通信設(shè)計(jì)。在此過(guò)程中,應(yīng)明確Arduino電子硬件與系統(tǒng)服務(wù)器之間的通信方式主要有HTTP通信和Socket通信兩種。前者采用“請(qǐng)求—回應(yīng)”的通信模式,只有當(dāng)客戶提出要求時(shí),終端才會(huì)建立連接[9]。而Socket 通信則是在數(shù)據(jù)傳送之前將各個(gè)終端連接起來(lái),然后再進(jìn)行數(shù)據(jù)傳送。
開(kāi)發(fā)該系統(tǒng)的目標(biāo)是讓客戶端使用者可以在移動(dòng)APP 上實(shí)時(shí)地查看家居環(huán)境中的各項(xiàng)環(huán)境參數(shù),并可以實(shí)現(xiàn)對(duì)監(jiān)測(cè)數(shù)據(jù)的快速更新與及時(shí)反饋。為確保通信工作可以達(dá)到預(yù)期效果,采用HTTP 技術(shù)進(jìn)行系統(tǒng)通信,客戶端每隔3 s 向服務(wù)器發(fā)送一次“get”請(qǐng)求。如需要對(duì)網(wǎng)絡(luò)資源進(jìn)行存取,則根據(jù)通信工作的具體需求,設(shè)計(jì)對(duì)端通信模式。
數(shù)據(jù)采集過(guò)程中,由CC2530 芯片進(jìn)行前端數(shù)據(jù)的初始化處理。激活系統(tǒng)穩(wěn)壓電路后,為CC2530 提供電源,使系統(tǒng)中的AT89S52 芯片處于正常工作狀態(tài)。在此基礎(chǔ)上,激活CC2530 晶體振蕩,設(shè)置控制寄存器參數(shù),并選定數(shù)據(jù)通信信道;在CC2530 的晶體振蕩穩(wěn)定后,開(kāi)啟全局中斷,結(jié)束數(shù)據(jù)發(fā)送初始化程序[10]。CC2530 驅(qū)動(dòng)程序在IEEE80215.4中進(jìn)行數(shù)據(jù)的封裝和初始檢查;完成對(duì)數(shù)據(jù)幀的檢測(cè)后,即可驅(qū)動(dòng)系統(tǒng)通信程序進(jìn)行傳感器反饋與監(jiān)測(cè)數(shù)據(jù)的接收。數(shù)據(jù)發(fā)送過(guò)程中,數(shù)據(jù)中心需要先確定前端傳送的數(shù)據(jù)格式為標(biāo)準(zhǔn)格式,如果數(shù)據(jù)格式不滿足需求,傳送的過(guò)程會(huì)停止;如果數(shù)據(jù)傳輸信道處于空閑狀態(tài),且數(shù)據(jù)格式標(biāo)準(zhǔn),數(shù)據(jù)中心會(huì)驅(qū)動(dòng)程序,在TXFIFO 上寫(xiě)下數(shù)據(jù)幀標(biāo)題和數(shù)據(jù)體,確保協(xié)議無(wú)誤后,開(kāi)始數(shù)據(jù)傳輸。傳輸過(guò)程中,CC2530 可以根據(jù)傳輸需要,單獨(dú)設(shè)定終端數(shù)據(jù)的接收方式。通常情況下,數(shù)據(jù)接收工作于緩沖區(qū)。在緩存?zhèn)鬏敺绞较?,通常?huì)使用128 位TXFIFO 緩沖區(qū);在此種接收方式下,若要儲(chǔ)存接收資料,需要使用相同尺寸的RXFIFO 緩沖區(qū)進(jìn)行數(shù)據(jù)接收匹配。按照上述方式,實(shí)現(xiàn)基于Arduino 的家居環(huán)境監(jiān)測(cè)通信設(shè)計(jì)。
確保系統(tǒng)對(duì)端之間建立通信連接后,采集家居環(huán)境物聯(lián)網(wǎng)監(jiān)測(cè)數(shù)據(jù),將數(shù)據(jù)傳輸?shù)较到y(tǒng)處理中心,清空中心環(huán)境變量數(shù)據(jù),設(shè)計(jì)訓(xùn)練條件,進(jìn)行監(jiān)測(cè)中心數(shù)據(jù)的初始化設(shè)計(jì)。完成上述設(shè)計(jì)后,引進(jìn)T-S 網(wǎng)絡(luò),對(duì)錄入的數(shù)據(jù)進(jìn)行預(yù)處理。在此過(guò)程中,應(yīng)確定網(wǎng)絡(luò)的輸入節(jié)點(diǎn)數(shù)量、隱含節(jié)點(diǎn)數(shù)量與循環(huán)訓(xùn)練次數(shù),使用Map-Min-Max 對(duì)數(shù)據(jù)進(jìn)行歸一化處理。處理過(guò)程計(jì)算公式為:
式中:y表示訓(xùn)練后輸出的數(shù)據(jù)集合;G表示數(shù)據(jù)訓(xùn)練規(guī)則;n表示模糊算子;i表示訓(xùn)練次數(shù)。根據(jù)數(shù)據(jù)屬性,對(duì)其進(jìn)行分類(lèi)。在此基礎(chǔ)上,根據(jù)計(jì)算結(jié)果,進(jìn)行家居環(huán)境的適宜度評(píng)價(jià)。評(píng)價(jià)過(guò)程計(jì)算公式為:
式中:Y表示家居環(huán)境的適宜度評(píng)價(jià);P表示評(píng)價(jià)項(xiàng)目;j表示適宜度指標(biāo)(參照閾值);N表示常數(shù)項(xiàng)。完成上述計(jì)算后,設(shè)計(jì)家居環(huán)境的適宜度評(píng)價(jià)標(biāo)準(zhǔn),相關(guān)內(nèi)容見(jiàn)表3 所列。
表3 家居環(huán)境的適宜度評(píng)價(jià)標(biāo)準(zhǔn)
按照上述方式,結(jié)合采集的數(shù)據(jù),進(jìn)行家居環(huán)境適宜度的評(píng)價(jià);根據(jù)評(píng)價(jià)結(jié)果,劃分家居環(huán)境類(lèi)別。在此基礎(chǔ)上,用戶(客戶端)可以在其自己的控制終端,進(jìn)行家居環(huán)境監(jiān)測(cè)指標(biāo)閾值的設(shè)定。在監(jiān)測(cè)過(guò)程中,當(dāng)某項(xiàng)反饋的指標(biāo)超出閾值范圍時(shí),終端將自動(dòng)觸發(fā)系統(tǒng)預(yù)警,以此種方式實(shí)現(xiàn)家居環(huán)境物聯(lián)網(wǎng)監(jiān)測(cè)數(shù)據(jù)評(píng)估與預(yù)警,完成基于Arduino 的監(jiān)測(cè)系統(tǒng)的開(kāi)發(fā)和研究。
上文以Arduino 作為支撐,從硬件選型與軟件規(guī)劃兩個(gè)方面,完成了家居環(huán)境物聯(lián)網(wǎng)監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)。為實(shí)現(xiàn)對(duì)開(kāi)發(fā)系統(tǒng)的測(cè)試,以某地區(qū)開(kāi)發(fā)商承接的智能化居民建筑工程項(xiàng)目為例,將本文開(kāi)發(fā)的系統(tǒng)集成在智能化建筑主控終端,設(shè)計(jì)對(duì)比實(shí)驗(yàn),對(duì)試驗(yàn)區(qū)域展開(kāi)監(jiān)測(cè)。
為給系統(tǒng)提供一個(gè)相對(duì)良好的運(yùn)行環(huán)境,按照表4 所列的內(nèi)容,設(shè)計(jì)系統(tǒng)軟件程序的作業(yè)環(huán)境。
表4 家居環(huán)境物聯(lián)網(wǎng)監(jiān)測(cè)系統(tǒng)軟件程序作業(yè)環(huán)境
在上述設(shè)計(jì)基礎(chǔ)上,選擇系統(tǒng)硬件設(shè)備,建立監(jiān)測(cè)終端傳感器與客戶端之間的通信連接。傳感器反饋的數(shù)據(jù)將通過(guò)物聯(lián)網(wǎng)傳輸?shù)教幚碇行?,處理中心直接根?jù)反饋的數(shù)據(jù)進(jìn)行家居環(huán)境的在線監(jiān)測(cè)與評(píng)估;當(dāng)評(píng)估后發(fā)現(xiàn)家居環(huán)境內(nèi)某項(xiàng)指標(biāo)超出安全范圍后,主動(dòng)觸發(fā)系統(tǒng)預(yù)警,預(yù)警信息被反饋在客戶端顯示界面,以此實(shí)現(xiàn)對(duì)家居環(huán)境的監(jiān)測(cè)。
為提高實(shí)驗(yàn)結(jié)果的客觀性,選擇基于STC89C52 單片機(jī)的監(jiān)測(cè)系統(tǒng)、基于多傳感器信息融合的監(jiān)測(cè)系統(tǒng),分別作為對(duì)照組系統(tǒng)1 和對(duì)照組系統(tǒng)2,使用本文系統(tǒng)與對(duì)照組系統(tǒng)進(jìn)行家居環(huán)境的在線監(jiān)測(cè)。監(jiān)測(cè)過(guò)程中,安排技術(shù)人員在系統(tǒng)監(jiān)測(cè)環(huán)境進(jìn)行各項(xiàng)指標(biāo)的人工測(cè)量。例如,在系統(tǒng)反饋監(jiān)測(cè)數(shù)據(jù)時(shí),由技術(shù)人員在現(xiàn)場(chǎng)使用溫度計(jì)、濕度計(jì)等進(jìn)行環(huán)境測(cè)量。對(duì)比系統(tǒng)監(jiān)測(cè)結(jié)果與人工測(cè)量結(jié)果發(fā)現(xiàn),相比傳統(tǒng)系統(tǒng)而言,本文開(kāi)發(fā)系統(tǒng)在實(shí)際應(yīng)用中的效果更好。實(shí)驗(yàn)結(jié)果見(jiàn)表5 所列。
表5 系統(tǒng)監(jiān)測(cè)結(jié)果對(duì)比
根據(jù)表5 所列的實(shí)驗(yàn)結(jié)果可以看出,此次實(shí)驗(yàn)共設(shè)置了三個(gè)指標(biāo),分別為溫度指標(biāo)、濕度指標(biāo)與煙霧濃度指標(biāo)。根據(jù)系統(tǒng)監(jiān)測(cè)結(jié)果與人工測(cè)量反饋結(jié)果可以看出,本文系統(tǒng)監(jiān)測(cè)的家居環(huán)境各項(xiàng)指標(biāo)具體數(shù)值與人工測(cè)量結(jié)果基本一致,而對(duì)照組系統(tǒng)監(jiān)測(cè)的家居環(huán)境各項(xiàng)指標(biāo)具體數(shù)值與人工測(cè)量結(jié)果偏差較大。因此,相比傳統(tǒng)的監(jiān)測(cè)系統(tǒng),本文開(kāi)發(fā)的基于Arduino 的監(jiān)測(cè)系統(tǒng)應(yīng)用效果良好,可以精準(zhǔn)監(jiān)測(cè)到家居環(huán)境各項(xiàng)指標(biāo)的變化,實(shí)現(xiàn)環(huán)境狀態(tài)的實(shí)時(shí)感知。
本文通過(guò)引進(jìn)Arduino,從家居環(huán)境監(jiān)測(cè)通信設(shè)計(jì)、家居環(huán)境物聯(lián)網(wǎng)監(jiān)測(cè)數(shù)據(jù)評(píng)估與預(yù)警兩個(gè)方面出發(fā),開(kāi)發(fā)了面向家居環(huán)境的物聯(lián)網(wǎng)監(jiān)測(cè)系統(tǒng)。對(duì)開(kāi)發(fā)的系統(tǒng)經(jīng)過(guò)對(duì)比測(cè)試發(fā)現(xiàn),其可以精準(zhǔn)監(jiān)測(cè)到家居環(huán)境各項(xiàng)指標(biāo)的變化,實(shí)現(xiàn)環(huán)境狀態(tài)的實(shí)時(shí)感知。對(duì)此次設(shè)計(jì)成果可以進(jìn)行領(lǐng)域推廣,但要對(duì)設(shè)計(jì)方法在智能化建筑居民住戶中推廣使用還需要在后續(xù)設(shè)計(jì)中進(jìn)一步優(yōu)化。例如,選擇性能更優(yōu)的硬件作為系統(tǒng)硬件,以此實(shí)現(xiàn)對(duì)系統(tǒng)綜合性能的深化。