向鎳鋅 鄺乙桐 王雪
摘要:隨著科學(xué)技術(shù)的飛速發(fā)展,新一代電子設(shè)備由于其智能化、便攜化、人性化等因素,在日常生活、工作中得到了人們的喜愛和廣泛應(yīng)用。智能家居從概念提出以來便受到各界人士的廣泛關(guān)注,并逐漸被人們所認(rèn)知與接受。該文設(shè)計了一款基于單片機(jī)的智能家居監(jiān)控系統(tǒng),從系統(tǒng)軟硬件設(shè)計、后端服務(wù)器搭建、前端UI界面設(shè)計三方面展開,實現(xiàn)了從數(shù)據(jù)檢測、數(shù)據(jù)傳輸、數(shù)據(jù)監(jiān)測、設(shè)備遠(yuǎn)端控制等系列功能,完成了家居環(huán)境的有效監(jiān)控,從而實時了解并改善家居環(huán)境。
關(guān)鍵詞:單片機(jī);智能家居;環(huán)境監(jiān)控;UI;Wi-Fi技術(shù)
中圖分類號:TP393 ? ? ?文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2020)28-0198-04
Abstract: With the rapid development of science and technology, a new generation of electronic equipment has been loved and widely used in daily life and work due to factors such as intelligence, portability, and humanization.The smart home has received wide attention from people since the concept was put forward, and has gradually been recognized and accepted by people. This article designs a smart home monitoring system based on a single-chip microcomputer. It expands from three aspects: software and hardware design of this system, back-end server construction, and front-end UI interface design. It realizes data detection, data transmission, data monitoring, remote device control, etc. The series of functions complete the effective monitoring of the home environment, so as to realize real-time monitoring and improve the home environment.
Key words: single-chip microcomputer; smart home; environmental monitoring; UI; Wi-Fi technology
1 背景
隨著我國科學(xué)技術(shù)的不斷發(fā)展,人們的生活水平逐漸提高,人們對生活質(zhì)量提出了更高的需求,物聯(lián)網(wǎng)設(shè)備應(yīng)運而生。智能安防、智能家居、智慧生活等一系列新的名詞出現(xiàn)在人們的生活中,利用互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、人工智能技術(shù)實現(xiàn)全社會的智能化全成為科技工作者新的目標(biāo)。智能家居(Smart Home),從20世紀(jì)80年代提出以來便受到人們的廣泛關(guān)注,它以物物互聯(lián)為宗旨,以家居環(huán)境為平臺,利用物聯(lián)網(wǎng)技術(shù)、通信技術(shù)、自動控制技術(shù)將住宅設(shè)備連接到一起,并實現(xiàn)遠(yuǎn)端控制[1]。單片機(jī)作為測控領(lǐng)域的核心產(chǎn)物,由于其小型化、集成化等特點,可應(yīng)用于智能家居、智能儀器儀表、自動化設(shè)備等諸多領(lǐng)域[2]。
本文針對智能家居應(yīng)用中的環(huán)境監(jiān)控問題,設(shè)計了一種基于單片機(jī)的智能家居監(jiān)控系統(tǒng),通過傳感器對環(huán)境的溫濕度、光照強(qiáng)度、空氣質(zhì)量、紅外等參數(shù)進(jìn)行檢測,利用Wi-Fi模塊實現(xiàn)數(shù)據(jù)的無線傳輸,通過服務(wù)器將數(shù)據(jù)回傳UI界面實現(xiàn)家居環(huán)境參數(shù)的實時監(jiān)測與遠(yuǎn)程控制,并在參數(shù)超過閾值時通知用戶,保障家居環(huán)境的舒適與安全。
2 系統(tǒng)總體方案設(shè)計
系統(tǒng)由硬件系統(tǒng)、UDP服務(wù)器、UI界面三部分構(gòu)成,其總體方案結(jié)構(gòu)如圖1所示。硬件系統(tǒng)由單片機(jī)最小系統(tǒng)、傳感器模塊、Wi-Fi無線模塊、電源模塊等組成。單片機(jī)作為硬件系統(tǒng)的主控芯片,處理傳感器模塊所采集的家庭環(huán)境信息,電源模塊為整個硬件系統(tǒng)各模塊供電。UDP服務(wù)器作為本系統(tǒng)的中轉(zhuǎn)站與硬件系統(tǒng)交互環(huán)境信息,并對登錄信息進(jìn)行處理,當(dāng)用戶在UI界面中請求時將環(huán)境信息發(fā)送給界面,實現(xiàn)實時回傳檢測數(shù)據(jù)。當(dāng)界面中有控制請求信息時,對控制信息進(jìn)行處理。UI界面中包含注冊界面、登錄界面、控制界面三大模塊,環(huán)境信息的顯示及控制均在控制界面中實現(xiàn)。
3 系統(tǒng)硬件選型與結(jié)構(gòu)設(shè)計
3.1 硬件選型
系統(tǒng)的硬件包括數(shù)據(jù)采集單元、控制單元、供電單元,因此分別對系統(tǒng)主控芯片和各傳感器模塊進(jìn)行選型。
3.1.1 控制器
設(shè)計中需要單片機(jī)驅(qū)動各模塊正常工作,且需要串口以便數(shù)據(jù)有效通信。因此綜合經(jīng)濟(jì)與實用性,系統(tǒng)采用的是我國獨立知識自主知識產(chǎn)權(quán)STC89C52作為主控芯片,該芯片擁有8k字節(jié)的閃存,512字節(jié)的運行內(nèi)存,保證了軟件程序?qū)懭霑r的運作效率,同時該芯片還擁有32個I/O 接口,4個外部中斷,串口通信等,能滿足各個模塊的驅(qū)動[3]。
3.1.2 傳感器模塊
大量實驗表明,最適宜人的溫濕度是:夏天溫度20℃—27℃,濕度為30%—60%;冬天溫度18℃—25℃,濕度為30%—80%。一般情況下,室內(nèi)溫度控制在18℃—26℃,濕度為30%—70%時,人體感覺最舒適[4]。因此對室內(nèi)進(jìn)行溫度、濕度、光照、空氣質(zhì)量等參數(shù)檢測,并通過遠(yuǎn)程控制進(jìn)行調(diào)整能獲得人體舒適的家居環(huán)境。本設(shè)計中選用DHT11數(shù)字溫濕度傳感器檢測環(huán)境溫濕度,其精度為:濕度+-5%RH,溫度+-2℃,量程濕度20-90%RH,溫度0~50℃[5]。利用MQ-135空氣質(zhì)量傳感器檢測環(huán)境中的一氧化碳?xì)怏w、煙霧,同時該傳感器擁有模擬信號輸出接口和數(shù)字信號輸出接口[6],能滿足系統(tǒng)的功能與性能需求。此外,系統(tǒng)采用BH1750環(huán)境光強(qiáng)度傳感器檢測室內(nèi)光強(qiáng),其對應(yīng)輸入光范圍為1-65535lx,運行溫度為-40℃~80℃[7],采用ESP8266 Wi-Fi模塊實現(xiàn)單片機(jī)與服務(wù)器的信息交互。
3.2 硬件結(jié)構(gòu)設(shè)計
硬件結(jié)構(gòu)作為系統(tǒng)檢測處理環(huán)境數(shù)據(jù)的基礎(chǔ),在環(huán)境監(jiān)控系統(tǒng)中具有重要作用。系統(tǒng)中硬件結(jié)構(gòu)由STC89C52單片機(jī)、DHT11溫濕度傳感器、MQ-135空氣質(zhì)量傳感器、BH1750環(huán)境光強(qiáng)度傳感器、蜂鳴器、兩個LED燈及一個ESP8266 Wi-Fi模塊組成,其電路結(jié)構(gòu)如圖2所示。
系統(tǒng)中采用STC89C52單片機(jī)最小系統(tǒng)作為核心開發(fā)模塊,采用USB接口母座作為電源接口,外接USB線,另一端接移動電源進(jìn)行供電。各傳感器模塊除供電與接地引腳分別接VCC與GND,DHT11溫濕度傳感器模塊的數(shù)字信號輸出接口接到單片機(jī)的P0^2口。BH1750傳感器,SCL接單片機(jī)P1^3口,SDA接51單片機(jī)P1^4口,ADDR懸空,通過I?C與單片機(jī)通信。MQ-135空氣質(zhì)量傳感器DOUT接51單片機(jī)P1^2接口,AOUT懸空。ESP8266 Wi-Fi模塊TXD引腳接單片機(jī)P3^0(RXD)口,RXD接P3^1(TXD)口,RST口和IO_O口懸空。
4 系統(tǒng)軟件設(shè)計
系統(tǒng)軟件設(shè)計包括對數(shù)據(jù)采集設(shè)備的軟件設(shè)計、UDP服務(wù)器的設(shè)計以及UI界面的設(shè)計。本項目首先利用各傳感器模塊采集環(huán)境信息并發(fā)送給單片機(jī)控制系統(tǒng),單片機(jī)將信息通過串口發(fā)送給Wi-Fi無線通信模塊,服務(wù)器端收到UI控制界面的控制指令時將數(shù)據(jù)信息通過網(wǎng)絡(luò)傳輸?shù)浇缑嬷酗@示,并通過無線通信方式控制單片機(jī)進(jìn)行操作,從而實現(xiàn)數(shù)據(jù)的采集、發(fā)送、處理、存儲、顯示、報警等系列功能。
4.1 數(shù)據(jù)采集端軟件設(shè)計
系統(tǒng)數(shù)據(jù)采集端軟件使用C語言在Keil 5中進(jìn)行編寫,各個傳感器檢測模塊子程序?qū)懭雴纹瑱C(jī)中,通過主控芯片驅(qū)動傳感器工作,程序總體流程如圖3所示。首先系統(tǒng)進(jìn)行初始化,隨后單片機(jī)與各傳感器模塊進(jìn)入工作狀態(tài)。MQ-135傳感器實時檢測空氣質(zhì)量,若空氣中有害氣體濃度達(dá)到預(yù)設(shè)閾值則向單片機(jī)發(fā)出信號,單片機(jī)接收到信號后驅(qū)動蜂鳴器報警,沒有則繼續(xù)檢測。DHT11溫濕度傳感器和BH1750光照強(qiáng)度傳感器同時進(jìn)行家居環(huán)境溫濕度、光照強(qiáng)度的實時采集并將參數(shù)發(fā)送給單片機(jī)。當(dāng)收到Wi-Fi無線通信模塊的獲取請求時,單片機(jī)通過串口通信的方式將數(shù)據(jù)傳輸給Wi-Fi模塊,Wi-Fi模塊再對數(shù)據(jù)進(jìn)行實時透傳,將數(shù)據(jù)傳輸給服務(wù)器。若Wi-Fi模塊發(fā)來開關(guān)燈和開關(guān)風(fēng)扇請求,單片機(jī)則控制LED1(模擬照明系統(tǒng)),LED2(模擬風(fēng)扇系統(tǒng))燈的開關(guān)。
4.2 UI界面與UDP服務(wù)器設(shè)計
UI界面作為用戶與單片機(jī)系統(tǒng)的交互界面,可提升用戶的直觀感受,但UI界面無法直接與單片機(jī)系統(tǒng)交互,需要一個服務(wù)器作為中轉(zhuǎn)實現(xiàn)他們之間的信息傳輸,因此對系統(tǒng)的UI界面與服務(wù)器進(jìn)行了設(shè)計??紤]到QT具有可用C++編寫UI框架、界面自定義編寫、支持跨平臺、可移植性強(qiáng)等特點,本系統(tǒng)采用QT進(jìn)行UI界面設(shè)計。此外,由于TCP服務(wù)器在應(yīng)對多網(wǎng)關(guān)數(shù)據(jù)同時接入時會存在一定的性能損耗[8],本系統(tǒng)采用基于Linux下的C語言編程設(shè)計UDP服務(wù)器。UI界面及服務(wù)器的系統(tǒng)框圖如圖4所示。
4.2.1 UI界面的搭建與設(shè)計
本系統(tǒng)的UI界面共有三個,分別是注冊界面、登錄界面與控制顯示界面。
注冊界面內(nèi)包括請輸入用戶名、請輸入密碼與立即注冊三項內(nèi)容,界面如圖5所示。用戶在注冊界面中輸入正確格式的用戶名和密碼,點擊立即注冊按鈕,注冊界面向UDP服務(wù)器發(fā)送用戶名與密碼。UDP服務(wù)器接收到用戶名與密碼后會首先進(jìn)行用戶名重名查找。如果用戶名重復(fù),則返回失敗信號,此時注冊界面的用戶名對話框旁會出現(xiàn)紅字提醒該用戶名已被注冊,同時注冊界面不做任何變動等待用戶重新輸入用戶名與密碼重新注冊。如果沒有重復(fù),則注冊界面彈出對話框提醒用戶注冊成功,點擊消息框中的確定按鈕便可進(jìn)入登錄界面。
登錄界面如圖6所示,包含用戶名、密碼、登錄和注冊用戶。當(dāng)用戶輸入用戶名與密碼后,點擊登錄按鈕,登錄界面向UDP服務(wù)器發(fā)送用戶名與密碼,UDP服務(wù)器將其與存儲的用戶名和密碼進(jìn)行對比。如果比對成功則跳轉(zhuǎn)至控制界面,如果不成功登錄界面則會彈出一個提示窗提醒用戶登錄失敗,同時界面不做任何改變繼續(xù)等待用戶輸入用戶名與密碼重新登錄。當(dāng)用戶點擊注冊按鈕時,界面會跳轉(zhuǎn)至注冊界面,同時登錄界面被隱藏。
控制顯示界面分為參數(shù)獲取顯示、控制、備忘錄文本框三個模塊,如圖7所示。當(dāng)用戶點擊“獲取室內(nèi)環(huán)境按鈕”時,服務(wù)器將從硬件設(shè)備獲取到的數(shù)據(jù)返回到控制界面,控制界面進(jìn)行簡單的解析后顯示到界面上。當(dāng)用戶點擊“開燈”按鈕時,服務(wù)器將該信號發(fā)送給Wi-Fi模塊,Wi-Fi模塊通過串口將信號發(fā)送給單片機(jī),隨后做出相應(yīng)控制,同時界面中央動態(tài)圖片顯示。同理,點擊關(guān)燈、開關(guān)風(fēng)扇按鈕工作流程與開燈相同。
4.2.2 UDP服務(wù)器的搭建與請求處理
搭建UDP服務(wù)器首先需要創(chuàng)建一個套接字通信,然后填寫服務(wù)器的端口號和IP地址,最后綁定套接字與本地信息即可開始網(wǎng)絡(luò)通信。因此UDP服務(wù)器的搭建過程分為創(chuàng)建socket通信、填充本地信息(即填充此UDP服務(wù)器的端口號及IP地址)、綁定socket與本地信息、接收和發(fā)送信息四個步驟。
UDP服務(wù)器的求情處理包含登錄注冊處理、單片機(jī)與界面準(zhǔn)備、服務(wù)器請求信息處理三個階段。登錄注冊處理階段,服務(wù)器首先解析用戶名與密碼中的標(biāo)志位,判斷其為登錄還是注冊,分解出用戶名與密碼。然后調(diào)用fopen和fcolse方法調(diào)用Linux系統(tǒng)下的本地文本文件,判斷是否為正確的用戶名和密碼。單片機(jī)與界面準(zhǔn)備表示UI界面與單片機(jī)硬件系統(tǒng)都已啟動,當(dāng)服務(wù)器接收到兩組信號時進(jìn)入登錄循環(huán)程序。當(dāng)對UI界面進(jìn)行操作時,返回信號到服務(wù)器端,執(zhí)行相應(yīng)操作。
5 系統(tǒng)測試與驗證
為測試系統(tǒng)的可靠性與有效性,對設(shè)計完成的監(jiān)控系統(tǒng)進(jìn)行了多次測試,系統(tǒng)各環(huán)節(jié)均能正常工作,最后整理本系統(tǒng)的測試結(jié)果如表1所示。
6 結(jié)束語
如何有效監(jiān)測和改善家居環(huán)境是近年來備受人們關(guān)注討論的研究課題。該系統(tǒng)基于單片機(jī)設(shè)計制作了一套智能家居監(jiān)控系統(tǒng)。將各個傳感器采集的數(shù)據(jù)通過Wi-Fi模塊實時傳輸至服務(wù)器,并在UI界面中呈現(xiàn)給用戶,用戶可通過界面交互實現(xiàn)對單片機(jī)的控制,從而輔助改變家居環(huán)境參數(shù)。結(jié)果表明,該系統(tǒng)能實時監(jiān)控光照、溫濕度、空氣質(zhì)量等環(huán)境參數(shù),具有一定的市場與應(yīng)用前景。
參考文獻(xiàn):
[1] 王麗偉,鄔迎.基于WiFi技術(shù)的家居環(huán)境監(jiān)測系統(tǒng)的設(shè)計與研究[J].電腦知識與技術(shù),2016,12(13):49-50.
[2] 張毅剛.單片機(jī)原理及接口技術(shù)(C51編程)[M].北京:人民郵電出版社,2011.
[3] 韓美.一種基于單片機(jī)的智能家居控制系統(tǒng)的設(shè)計[J].中國科技信息,2018(12):81-84.
[4] 李文菁,陳歆儒.人體舒適度與室內(nèi)熱環(huán)境[J].湖南工程學(xué)院學(xué)報(自然科學(xué)版),2010,20(3):72-76.
[5] 陳建新.DHT11數(shù)字溫濕度傳感器在溫室控制系統(tǒng)中的應(yīng)用[J].山東工業(yè)技術(shù),2016(18):120.
[6] 吳琦.基于STC12C5A60S2單片機(jī)設(shè)計的有毒氣體排除系統(tǒng)[J].信息通信,2016,29(1):79-80.
[7] 幸聯(lián)星.基于單片機(jī)的智能家居環(huán)境檢測系統(tǒng)設(shè)計[J].電子技術(shù)與軟件工程,2020(1):59-61.
[8] 胡曉喻,陳慶奎.智能家居接入服務(wù)器策略的設(shè)計與實現(xiàn)[J].計算機(jī)工程與設(shè)計,2017,38(2):544-549.
【通聯(lián)編輯:謝媛媛】