本發(fā)明涉及智能家居領(lǐng)域,具體涉及一種家庭太陽(yáng)能熱水器智能控制系統(tǒng)。
背景技術(shù):
科學(xué)的飛速發(fā)展下智能便捷逐漸成為日常需求,智能設(shè)備被更多的人選擇接受,如今的智能設(shè)備早已囊括了生活中的吃穿住行。家庭是人類生活的港灣,智能家居則可以讓這個(gè)港灣變得更加多元化??萍嫉陌l(fā)展帶動(dòng)著人們需求的不斷提高,智能家居日新月異的發(fā)展也是人類生活水平提高的必然趨勢(shì)。也正因?yàn)檫@樣的發(fā)展趨勢(shì),使得我國(guó)在智能家居及相關(guān)衍生行業(yè)上不斷地進(jìn)行技術(shù)創(chuàng)新與改進(jìn),在各個(gè)方面取得了突出的成就。
智能家居是在物聯(lián)網(wǎng)的影響下之物聯(lián)化體現(xiàn),目的是構(gòu)建高效的住宅設(shè)施與家庭日程事務(wù)的管理系統(tǒng),提升家居安全性、便利性、舒適性、藝術(shù)性,并實(shí)現(xiàn)環(huán)保節(jié)能的居住環(huán)境。熱水器作為智能家居中生活中具有代表性的設(shè)備,在低碳生活的倡導(dǎo)下,太陽(yáng)能熱水器因其幾近無(wú)污染耗能低的特性顯得更加的環(huán)保,更加符合當(dāng)前時(shí)代的需求,作為一種純凈能源與智能化便捷化的巧妙結(jié)合,使得其在智能家居這樣的大體系中,扮演著一個(gè)不可或缺的角色。在當(dāng)今時(shí)代物聯(lián)網(wǎng)的背景下,生活中越來(lái)越多的產(chǎn)品被納入物聯(lián)網(wǎng)的范疇中,智能家居的概念和實(shí)施技術(shù)也有別于傳統(tǒng)意義上的智能家居。早期的智能家居系統(tǒng)是通過(guò)控制技術(shù),綜合布線技術(shù)和通信技術(shù)從而實(shí)現(xiàn)對(duì)家庭內(nèi)部的各種電子產(chǎn)品進(jìn)行有效的連接與控制。這種技術(shù)使得其必須對(duì)原有設(shè)施進(jìn)行很大的改動(dòng),耗時(shí)耗力且耗費(fèi)巨大。伴隨著無(wú)線傳感網(wǎng)絡(luò)技術(shù)和軟件開發(fā)技術(shù)的飛速發(fā)展,各種新興的智能設(shè)備不斷的革新,人們基于無(wú)線傳感的智能家居方式已經(jīng)開始在以絕對(duì)優(yōu)勢(shì)逐漸替代傳統(tǒng)的布線方式。
目前的智能家居控制系統(tǒng),各個(gè)廠家之間并未形成統(tǒng)一標(biāo)準(zhǔn),傳感器設(shè)備的多樣性,以及個(gè)人需求的不同,導(dǎo)致智能家居仍然存在著成本高,體驗(yàn)差等缺點(diǎn),對(duì)功能的開發(fā)也不夠完善。諸如大片住宅小區(qū)、賓館等場(chǎng)所,室內(nèi)設(shè)備的遠(yuǎn)程集中控制在物聯(lián)網(wǎng)與智能設(shè)備如此發(fā)達(dá)的環(huán)境下,顯得十分必要。太陽(yáng)能熱水器所具有的環(huán)保節(jié)能以及便捷性,與智能家居的主體理念不謀而合,而當(dāng)前主流的智能家居系統(tǒng)中,雖添加了太陽(yáng)能熱水器這一設(shè)備,但契合度并不高,智能化體現(xiàn)不足。絕大部分太陽(yáng)能熱水器的操控以在室內(nèi)安裝遙控器通過(guò)連線方式操作為主,且在陰雨天氣下光照不足時(shí),對(duì)水箱內(nèi)水的加熱必須通過(guò)人工手動(dòng)進(jìn)行選擇,水溫控制方面也很難達(dá)到人們的預(yù)期值。除此之外,由惡劣天氣所造成的影響也使得用戶的體驗(yàn)下降。因此設(shè)計(jì)一種智能家居的控制系統(tǒng),使得家庭內(nèi)的常用電器設(shè)備連接起來(lái),實(shí)現(xiàn)遠(yuǎn)程的操作控制,將相關(guān)信息提示給用戶。同時(shí)在太陽(yáng)能熱水器上添加部分傳感器以及無(wú)線收發(fā)設(shè)備,實(shí)現(xiàn)遠(yuǎn)程信息的傳輸以及控制,改進(jìn)現(xiàn)有太陽(yáng)能熱水器的部分缺陷,更好的提升用戶的體驗(yàn)。當(dāng)這種智能家居的使用增多,大范圍運(yùn)用,如在非高層賓館的全部房間,或者是整個(gè)小區(qū)采用這種方式進(jìn)行設(shè)計(jì)時(shí),遠(yuǎn)程服務(wù)器可以存儲(chǔ)范圍內(nèi)所有的用戶及其設(shè)備信息,形成一個(gè)有效的集中管理體系,既方便用戶查看,同時(shí)也可以幫助物業(yè)公司或者設(shè)備廠家進(jìn)行有效的管理。這樣的設(shè)計(jì)不僅能帶給人們更舒適的生活方式,也使得智能家居這一體系更進(jìn)一步,顯得很有意義。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供了一種家庭太陽(yáng)能熱水器智能控制系統(tǒng)。
為實(shí)現(xiàn)上述目的,本發(fā)明采取的技術(shù)方案為:
一種家庭太陽(yáng)能熱水器智能控制系統(tǒng),包括采集模塊,用于負(fù)責(zé)信息的采集;處理單元,用于將采集到的信息整合處理;傳輸模塊,用于將處理完的數(shù)據(jù)發(fā)送到主控制器同時(shí)接受主控制器所發(fā)出的控制信號(hào);電源模塊,用于提供系統(tǒng)運(yùn)行的供電基礎(chǔ);主控制器與熱水器之間以socket通信的方式進(jìn)行數(shù)據(jù)傳輸,主控制器作為server端,熱水器端單片機(jī)連接的串口wifi模塊,選擇sta模式,接入到主控制器的網(wǎng)絡(luò)中,即作為socket通信的client客戶端;主控制器連接的wifi模塊發(fā)射無(wú)線信號(hào),利用qt的信號(hào)與槽機(jī)制,創(chuàng)建套接字,并監(jiān)聽相應(yīng)端口;當(dāng)節(jié)點(diǎn)的client連接后,服務(wù)器端與客戶端開始進(jìn)行信號(hào)收發(fā),并從收發(fā)到的數(shù)據(jù)從提取關(guān)鍵參數(shù),顯示給用戶。
其中,所述處理單元采用51單片機(jī)系列中的stc89c52rc芯片。
其中,在熱水器端,設(shè)置了串口wifi模塊進(jìn)行無(wú)線傳輸,選用esp8266串口wifi模塊。
其中,在主控器端選擇rtl8189無(wú)線wifi模塊,該模塊支持usb接口。
其中,所述采集模塊包括室外溫度采集模塊、室內(nèi)溫濕度采集模塊、水位采集模塊和光照強(qiáng)度采集模塊;室外溫度采集模塊包括室外溫度采集模塊和熱水器水箱溫度采集模塊,選取ds18b20單線型數(shù)字溫度傳感器。
其中,所述水位采集模塊采用分段式水位傳感器,即將水箱水位分為5段,利用水的導(dǎo)電性,電阻串放到水箱中并在電阻間設(shè)置端點(diǎn),從水底到水面按不同顏色的標(biāo)記做標(biāo)識(shí),當(dāng)水位到達(dá)該處時(shí),立即引起該傳感器的信號(hào)變化,最終數(shù)據(jù)經(jīng)分析處理傳輸后,顯示給用戶的信息為水位的百分比或者分?jǐn)?shù)形式。
其中,所述光照強(qiáng)度采集模塊選取gy-30數(shù)字光模塊;室內(nèi)溫濕度采集模采用am2302數(shù)字溫濕度傳感器,與主控制器的io口連接,直接傳輸數(shù)據(jù)到主控制器上。
其中,熱水器的上水功能、分為智能模式與手動(dòng)模式兩種情況;在智能模式下,在系統(tǒng)開啟后,水位傳感器會(huì)檢測(cè)水箱中水位信息并將數(shù)據(jù)傳送至最近的處理單元,當(dāng)處理單元判斷出水位低于設(shè)定的最低值,同時(shí)室外氣溫高于零下4攝氏度以及不在上午2-6時(shí)間段時(shí),發(fā)出上水指令,熱水器端開始給水箱上水;水位傳感器仍然持續(xù)不斷的監(jiān)測(cè)水位信息,當(dāng)上水途中監(jiān)測(cè)到水位滿足設(shè)定的上水閾值時(shí),處理單元發(fā)出停止上水信號(hào),系統(tǒng)停止上水。在手動(dòng)模式下,熱水器端的處理單元持續(xù)不斷的接收來(lái)自室內(nèi)控制器的信號(hào),當(dāng)用戶在人機(jī)交互界面上點(diǎn)擊上水按鈕時(shí),控制器向熱水器端發(fā)送上水信號(hào),熱水器接收到該信號(hào)后,開始上水。與此同時(shí)熱水器端將水位信息的變化經(jīng)無(wú)線方式傳輸回控制器界面上,用戶發(fā)現(xiàn)水位滿足使用要求后點(diǎn)擊停止上水按鈕或水位傳感器檢測(cè)到水位到達(dá)峰值后,控制器發(fā)送停止上水信號(hào)給熱水器端的處理單元,待熱水器端接收到該信號(hào)后,停止上水過(guò)程。
其中,熱水器的電加熱包括智能模式與手動(dòng)模式兩種類型的區(qū)分;當(dāng)用戶將熱水器端切換為智能模式時(shí),首先,熱水器端的處理單元會(huì)對(duì)水溫水位光照強(qiáng)度信息作出判斷,確保水位不低于1/5,光照強(qiáng)度低于預(yù)設(shè)加熱臨界值以及水溫不高于30攝氏度;熱水器端的處理單元發(fā)出加熱信號(hào),電加熱棒供電,開始對(duì)水箱內(nèi)的水進(jìn)行加熱,當(dāng)水溫達(dá)到用戶的預(yù)設(shè)值后,處理單元發(fā)出停止上水信號(hào),電加熱棒斷電,系統(tǒng)停止加熱;當(dāng)處于手動(dòng)模式下時(shí),熱水器端的處理單元持續(xù)不斷地監(jiān)聽來(lái)自控制器發(fā)出的信號(hào),當(dāng)用戶需要啟動(dòng)電加熱功能時(shí),在主控制器的界面上選擇電加熱按鈕,控制器則立即向熱水器端發(fā)送相應(yīng)的加熱信號(hào),進(jìn)而驅(qū)動(dòng)硬件電路中的繼電器與電磁閥開始工作,即表現(xiàn)為熱水器端的處理單元控制電加熱棒開始對(duì)水箱進(jìn)行加熱;與水位信息控制相同,水溫信息會(huì)隨著加熱的不斷進(jìn)行定時(shí)地發(fā)送回主控制器并顯示給用戶;在顯示的水溫達(dá)到用戶滿意值時(shí),用戶選擇停止加熱,或者當(dāng)水溫持續(xù)升高至到達(dá)系統(tǒng)開始預(yù)設(shè)的水溫峰值時(shí),熱水器端的處理單元發(fā)出停止加熱信號(hào),電加熱棒斷電,加熱功能結(jié)束。
其中,在深夜時(shí)間段當(dāng)用戶入眠后,控制器設(shè)定休眠功能,當(dāng)進(jìn)入某一時(shí)間點(diǎn)后,主控制器向熱水器發(fā)送休眠信號(hào),使其進(jìn)入休眠狀態(tài),即停止部分工作,僅保持其供電以進(jìn)行正常運(yùn)行;當(dāng)用戶需要使用該設(shè)備或者所設(shè)定的休眠時(shí)間段結(jié)束后,將其喚醒繼續(xù)工作;
本發(fā)明可實(shí)現(xiàn)用戶通過(guò)不同智能終端進(jìn)行瀏覽查看并控制室內(nèi)設(shè)備的功能,同時(shí)具有客戶端操作成本低、維護(hù)成本低等優(yōu)點(diǎn)。太陽(yáng)能熱水器的智能控制經(jīng)實(shí)驗(yàn)測(cè)試后,可滿足用戶智能化、便捷化、舒適化的要求,實(shí)現(xiàn)了太陽(yáng)能熱水器的智能控制,智能家居控制系統(tǒng)的設(shè)計(jì)達(dá)到了家電設(shè)備的物聯(lián)網(wǎng)以及家電狀態(tài)信息的記住控制和管理目的,具有一定的應(yīng)用前景。
附圖說(shuō)明
圖1為本發(fā)明實(shí)施例智能家居控制系統(tǒng)整體設(shè)計(jì)結(jié)構(gòu)圖。
圖2為本發(fā)明實(shí)施例中太陽(yáng)能熱水器智能控制整體設(shè)計(jì)結(jié)構(gòu)圖。
圖3為本發(fā)明實(shí)施例中web頁(yè)面實(shí)現(xiàn)過(guò)程圖。
圖4為本發(fā)明實(shí)施例中串口wifi電路圖。
圖5為本發(fā)明實(shí)施例中usb接口電路圖。
圖6為本發(fā)明實(shí)施例中溫度傳感器電路圖。
圖7為本發(fā)明實(shí)施例中水位傳感器電路。
圖8為本發(fā)明實(shí)施例中水位傳感器接口電路圖。
圖9為本發(fā)明實(shí)施例中光照傳感器電路圖。
圖10為本發(fā)明實(shí)施例中溫濕度傳感器電路圖。
圖11為本發(fā)明實(shí)施例中的智能家居web服務(wù)器框架。
圖12為本發(fā)明實(shí)施例中的系統(tǒng)軟件主要模塊結(jié)構(gòu)圖。
圖13為本發(fā)明實(shí)施例中的用戶登錄模塊程序?qū)崿F(xiàn)。
圖14為本發(fā)明實(shí)施例中的主控制器實(shí)現(xiàn)控制流程圖。
圖15為本發(fā)明實(shí)施例中的遠(yuǎn)程服務(wù)器實(shí)現(xiàn)控制流程圖。
圖16為本發(fā)明實(shí)施例中采集家居設(shè)備參數(shù)實(shí)現(xiàn)流圖。
圖17為本發(fā)明實(shí)施例中家居設(shè)備查詢實(shí)現(xiàn)流程圖。
圖18為本發(fā)明實(shí)施例中家居設(shè)備注冊(cè)實(shí)現(xiàn)流程圖。
圖19為本發(fā)明實(shí)施例中熱水器上水流程圖。
圖20為本發(fā)明實(shí)施例中熱水器加熱流程圖。
具體實(shí)施方式
為了使本發(fā)明的目的及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合實(shí)施例對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
如圖1所示,本發(fā)明實(shí)施例提供了一種智能家居控制系統(tǒng),包括遠(yuǎn)程服務(wù)器、主控制器、各個(gè)控制終端以及多種傳感器,各個(gè)傳感器節(jié)點(diǎn)之間通過(guò)連接無(wú)線傳輸模塊以集中式自組網(wǎng)的方式與主控制器連接起來(lái),形成一個(gè)有效的家庭內(nèi)部網(wǎng)絡(luò);傳感器節(jié)點(diǎn)將采集到的數(shù)據(jù)經(jīng)家庭內(nèi)部網(wǎng)絡(luò)以無(wú)線的方式傳輸至主控制器,主控制器作為家庭內(nèi)部網(wǎng)絡(luò)與處于互聯(lián)網(wǎng)中遠(yuǎn)程服務(wù)器的連接樞紐,在經(jīng)一定的分析處理后,將這些數(shù)據(jù)經(jīng)互聯(lián)網(wǎng)發(fā)送至遠(yuǎn)程服務(wù)器,并將部分采集到的有用信息顯示到控制器的觸摸屏界面上;主控制器在接收傳感器終端節(jié)點(diǎn)發(fā)來(lái)信息的同時(shí)也接收來(lái)自于遠(yuǎn)程服務(wù)器以及人機(jī)交互界面的指令,經(jīng)家庭網(wǎng)關(guān)的相關(guān)協(xié)議轉(zhuǎn)換和處理后發(fā)送給各個(gè)傳感器節(jié)點(diǎn)和控制模塊,實(shí)現(xiàn)對(duì)家庭范圍內(nèi)環(huán)境參數(shù)的采集和設(shè)備狀態(tài)的修改;遠(yuǎn)程服務(wù)器將接收到的來(lái)自不同家庭賬號(hào)的數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)中,形成一個(gè)縝密有序的控制鏈。
所述遠(yuǎn)程服務(wù)器包括應(yīng)用服務(wù)器與數(shù)據(jù)庫(kù)服務(wù)器;所述應(yīng)用服務(wù)器可以為遠(yuǎn)程用戶的操控提供運(yùn)行環(huán)境;當(dāng)用戶需要遠(yuǎn)程與室內(nèi)設(shè)備進(jìn)行查看時(shí),通過(guò)web瀏覽器即可瀏覽到室內(nèi)的所有家居設(shè)備狀態(tài);當(dāng)用戶根據(jù)不同情況欲修改家居的狀態(tài)時(shí),通過(guò)瀏覽器向服務(wù)器發(fā)送web請(qǐng)求,經(jīng)服務(wù)器尋找頁(yè)面后,將文檔即結(jié)果傳輸回web瀏覽器給用戶,可以實(shí)時(shí)有效地實(shí)現(xiàn)這一操作;與此同時(shí),操作的反饋結(jié)果也及時(shí)的返回至服務(wù)器,達(dá)到準(zhǔn)確有效的控制目的;所述數(shù)據(jù)庫(kù)服務(wù)器作為智能家居控制系統(tǒng)的數(shù)據(jù)庫(kù)部署中心,存儲(chǔ)一定區(qū)域范圍內(nèi)所有用戶的相關(guān)信息,以及與用戶密切相關(guān)的家庭中所有設(shè)備、傳感器的運(yùn)行狀態(tài)和歷史記錄,圖3為web頁(yè)面實(shí)現(xiàn)過(guò)程。
所述遠(yuǎn)程服務(wù)器采用三層結(jié)模式b/s構(gòu)架服務(wù)器。
所述主控制器選取arm11內(nèi)核做處理器并配有觸摸屏的ok6410開發(fā)板,設(shè)有連接usb的wifi模塊,選用linux作為其操作系統(tǒng),移植qt輔助函數(shù)庫(kù)。
所述智能家居控制系統(tǒng)包括太陽(yáng)能熱水器智能控制系統(tǒng),熱水器端的智能控制包括采集模塊,用于負(fù)責(zé)信息的采集;處理單元,用于將采集到的信息整合處理;采用51單片機(jī)系列中的stc89c52rc芯片;傳輸模塊,用于將處理完的數(shù)據(jù)發(fā)送到室內(nèi)控制器同時(shí)接受室內(nèi)所發(fā)出的控制信號(hào);電源模塊,用于提供系統(tǒng)運(yùn)行的供電基礎(chǔ)。
在熱水器端,設(shè)置了串口wifi模塊進(jìn)行無(wú)線傳輸。最終選用esp8266串口wifi模塊,該模塊具有良好的接入性,有三種工作模式,分別為:sta模式、ap模式以及sta+ap模式。支持無(wú)線802.11b/g/n標(biāo)準(zhǔn),支持豐富的socketat指令,且能耗低,采用3.3v供電,且io口可與單片機(jī)串口相連接。模塊封裝小巧,連接十分容易,當(dāng)用戶對(duì)其進(jìn)行控制時(shí),僅發(fā)送at指令即可實(shí)現(xiàn)相關(guān)功能。契合設(shè)計(jì)的串口wifi功能。
usbwifi電路設(shè)計(jì)
在主控器端選擇rtl8189無(wú)線wifi模塊,該模塊支持usb接口;usbwifi模塊的具體參數(shù)見表1,其電路圖如圖5所示。
表1rtl8189參數(shù)
采集電路設(shè)計(jì)
室外的溫度采集包括兩個(gè)部分,一部分為室外的氣溫,另一部分則是熱水器水箱中的水溫;選取ds18b20單線型數(shù)字溫度傳感器。其一條數(shù)據(jù)線的設(shè)計(jì)使得可以更方便的與單片機(jī)傳輸數(shù)據(jù),工作電源為5v直流供電,測(cè)量范圍為-55℃-+125℃;在-10-+85℃范圍內(nèi),精度為±0.5℃。對(duì)室外氣溫的采集而言,該傳感器最低可采集-55攝氏度,滿足用戶需求,且在一年較為常見的溫度范圍內(nèi),有不錯(cuò)的精度表現(xiàn)。除此之外,該傳感器有針對(duì)水溫測(cè)量的專門的探頭型傳感器,最大可測(cè)量125攝氏度,涵蓋了水箱內(nèi)水溫的變化范圍,非常適合本次設(shè)計(jì)的選材;其電路及實(shí)物圖如下:
水位采集采用分段式水位傳感器,將水箱水位分為5段,利用水的導(dǎo)電性,電阻串放到水箱中并在電阻間設(shè)置端點(diǎn),從水底到水面按不同顏色的標(biāo)記做標(biāo)識(shí),當(dāng)水位到達(dá)該處時(shí),立即引起該傳感器的信號(hào)變化,最終數(shù)據(jù)經(jīng)分析處理傳輸后,顯示給用戶的信息為水位的百分比或者分?jǐn)?shù)形式,如1/5,3/5等,這樣既可以節(jié)約傳感器耗材費(fèi),同時(shí)也達(dá)到了水位信息采集的目的。傳感器電路如圖7所示,其接口如圖8所示。
水位傳感器的處于上下兩端的兩個(gè)接口分別接到圖7所示的接口電路中,電阻水位傳感器分壓后通過(guò)電壓跟隨器op07經(jīng)ad轉(zhuǎn)換輸出到后續(xù)電路做進(jìn)一步的數(shù)據(jù)處理工作;由于電壓跟隨器op07的輸入電壓等于輸出電壓,因此不同水位對(duì)應(yīng)的不同水位傳感器的阻值也會(huì)發(fā)生變化,阻值的不同影響輸出電壓,通過(guò)輸出電壓也就可以判斷出水位的具體情況。
光照強(qiáng)度選取gy-30數(shù)字光模塊,其可在-40-80℃的條件下正常工作,其范圍遠(yuǎn)遠(yuǎn)大于室外的氣溫變化情況,供給電壓為3-5v,對(duì)光源的依賴性不大,因此在絕大多數(shù)條件下均可以采集到具體的光照強(qiáng)度信息,光譜范圍與人眼接近,采集的數(shù)據(jù)也更貼近人的認(rèn)知。測(cè)量范圍為1-65535lux,i2c總線接口,可以直接接入到單片機(jī)端。具體電路圖如圖9所示:
對(duì)于室內(nèi)的溫濕度采集選用am2302數(shù)字溫濕度傳感器,am2302的濕度的測(cè)量范圍為0-100%rh,精度為±2%rh;溫度測(cè)量范圍為-40-80℃,精度為±0.4℃。且其檢測(cè)為室內(nèi)的溫濕度狀況,因此將其與主控制器的io口連接,直接傳輸數(shù)據(jù)到主控制器上。am2302的電路及實(shí)物圖如下:
本具體實(shí)施中智能家居系統(tǒng)軟件部分框架如圖11所示;系統(tǒng)軟件主要模塊如圖12所示。
本具體實(shí)施在用戶使用手機(jī)、平板或電腦上的瀏覽器訪問(wèn)服務(wù)器時(shí),用戶輸入自己獨(dú)有的賬號(hào)與相應(yīng)的密碼后,向處于互聯(lián)網(wǎng)中的應(yīng)用服務(wù)器發(fā)送用戶登錄請(qǐng)求。應(yīng)用服務(wù)器在接收到登錄請(qǐng)求后查詢數(shù)據(jù)服務(wù)器中的用戶賬號(hào)數(shù)據(jù)表,判斷發(fā)出請(qǐng)求的用戶賬號(hào)在數(shù)據(jù)庫(kù)中是否存在,以及與賬號(hào)對(duì)應(yīng)的密碼是否與輸入的密碼一致。如果判斷結(jié)果顯示為合法用戶則將頁(yè)面跳轉(zhuǎn)至相應(yīng)的系統(tǒng)主界面,否則就拒絕本次登錄,要求用戶重新輸入賬號(hào)密碼或選擇退出。用戶登錄流程的工作原理如圖13所示。
家居設(shè)備控制程序流程如圖14所示,具體的控制為:
(1)當(dāng)用戶更改某家居設(shè)備的運(yùn)行狀態(tài)時(shí),需點(diǎn)擊人機(jī)交互界面上對(duì)應(yīng)功能的按鈕或修改設(shè)備的參數(shù)信息,并選擇發(fā)送,出發(fā)主控制器中對(duì)應(yīng)的程序。
(2)主控制器中控制模塊程序立即接收到這一命令,將這些設(shè)備以及對(duì)應(yīng)的設(shè)備參數(shù)信息傳輸給wifi模塊。
(3)wifi模塊將數(shù)據(jù)打包,按協(xié)議的形式通過(guò)室內(nèi)自組網(wǎng)將這些數(shù)據(jù)發(fā)送給各個(gè)終端節(jié)點(diǎn)。
(4)端節(jié)點(diǎn)收到這些數(shù)據(jù)后,找出與自身數(shù)據(jù)段相對(duì)應(yīng)的信息,與其連接的處理器上的設(shè)備控制響應(yīng)程序會(huì)根據(jù)這些信息及時(shí)地修改自身狀態(tài),確保用戶的修改操作得到立即處理,并將處理后的設(shè)備狀態(tài)信息原路反饋回主控制器,顯示于界面上供用戶查看。
當(dāng)用戶以登錄遠(yuǎn)程服務(wù)器的方式實(shí)現(xiàn)家居設(shè)備控制時(shí),首先仍需需進(jìn)行用戶的驗(yàn)證,確認(rèn)用戶身份后,通過(guò)瀏覽器界面修改設(shè)備參數(shù),服務(wù)器將這些參數(shù)進(jìn)行轉(zhuǎn)換后發(fā)送到室內(nèi)控制器,最終通過(guò)室內(nèi)控制器端的相關(guān)控制模塊實(shí)現(xiàn)控制功能。實(shí)現(xiàn)流程圖如圖15所示,詳細(xì)的控制過(guò)程為:
(1)用戶通過(guò)瀏覽器輸入相應(yīng)地址后登錄到服務(wù)器的前端程序,根據(jù)個(gè)人情況選擇更改或查看對(duì)應(yīng)的設(shè)備信息,向應(yīng)用服務(wù)器發(fā)出包含設(shè)備參數(shù)信息的遠(yuǎn)程控制或查詢請(qǐng)求。
(2)應(yīng)用服務(wù)器中的設(shè)備查詢程序接收到這一請(qǐng)求,在數(shù)據(jù)服務(wù)器上檢索相關(guān)數(shù)據(jù)表,將檢索到的設(shè)備信息,設(shè)備標(biāo)識(shí)符以及用戶發(fā)出的控制命令等,生成一個(gè)數(shù)據(jù)包經(jīng)互聯(lián)網(wǎng)發(fā)送給主控制器。
(3)主控制器中的協(xié)議收發(fā)程序接收到該數(shù)據(jù)包后,對(duì)其進(jìn)行解析,提取出有效控制命令,經(jīng)判斷后設(shè)備位置后,將這些控制命令經(jīng)wifi模塊發(fā)出到。
(4)終端節(jié)點(diǎn)的wifi模塊接收到該協(xié)議,同時(shí)該模塊將這些控制命令傳達(dá)給終端節(jié)點(diǎn)的處理單元,終端節(jié)點(diǎn)的設(shè)備控制程序做出響應(yīng),做出控制操作,同時(shí)將控制結(jié)果原路返回。
(5)反饋回的數(shù)據(jù)會(huì)寫入數(shù)據(jù)服務(wù)器的數(shù)據(jù)庫(kù)中,同時(shí)返回到用戶查看所持的終端設(shè)備上,用戶得到最終的控制結(jié)果。
設(shè)備的物理信息采集程序具體實(shí)現(xiàn)步驟如下:
(1)當(dāng)家居設(shè)備狀態(tài)發(fā)生改變以及參數(shù)變動(dòng)至設(shè)定閾值外,或者到達(dá)預(yù)設(shè)的發(fā)送時(shí)間點(diǎn)時(shí),終端節(jié)點(diǎn)的傳感器會(huì)將采集到的數(shù)據(jù)傳送至最近的處理單元,處理單元處理完畢后,傳送到與該處理單元臨近的wifi模塊。
(2)節(jié)點(diǎn)的wifi模塊收到這些數(shù)據(jù)后,將這些數(shù)據(jù)以規(guī)定好的協(xié)議格式發(fā)送至主控制器的wifi模塊。
(3)主控制器wifi模塊接收協(xié)議后,進(jìn)行分析處理。如果參數(shù)超出設(shè)定閾值,則做出預(yù)警或其他處理。同時(shí),主控制器上的處理單元將這些參數(shù)信息一邊顯示在與主控制器相連接的觸摸屏以供用戶查看,一邊發(fā)送到遠(yuǎn)程服務(wù)器的數(shù)據(jù)庫(kù)。
家居設(shè)備的狀態(tài)信息查詢可以通過(guò)兩種方式進(jìn)行。一種為智能終端用戶通過(guò)瀏覽器發(fā)送給家庭網(wǎng)關(guān)應(yīng)用服務(wù)器的查詢請(qǐng)求,應(yīng)用服務(wù)器根據(jù)設(shè)備查詢請(qǐng)求信息查詢數(shù)據(jù)服務(wù)器中的相關(guān)數(shù)據(jù)表,并將從數(shù)據(jù)庫(kù)中查詢到的家居設(shè)備的基本物理信息、當(dāng)前狀態(tài)和設(shè)備注冊(cè)信息等返回給應(yīng)用服務(wù)器的家居設(shè)備查詢模塊,最后返回給用戶,具體實(shí)現(xiàn)程序如圖17所示。另一種方式為用戶通過(guò)主控制器上的人機(jī)交互界面直接查看當(dāng)前設(shè)備狀態(tài),此種方式下,數(shù)據(jù)直觀地顯示給用戶,無(wú)需進(jìn)行多余的操作,只需切換不同界面尋找不同的設(shè)備即可。
設(shè)備注冊(cè)程序是為了使家居設(shè)備注冊(cè)成為家庭內(nèi)部網(wǎng)絡(luò)中節(jié)點(diǎn)的過(guò)程。具體實(shí)現(xiàn)的過(guò)程為:家居設(shè)備通過(guò)家庭內(nèi)部網(wǎng)絡(luò)向控制器發(fā)出設(shè)備注冊(cè)請(qǐng)求信息,控制器對(duì)設(shè)備注冊(cè)信息及附屬信息進(jìn)行解析、封裝,通過(guò)互聯(lián)網(wǎng)將信息發(fā)送至智能家居的遠(yuǎn)程服務(wù)器,服務(wù)器上的家居設(shè)備注冊(cè)響應(yīng)程序接受到設(shè)備注冊(cè)請(qǐng)求和設(shè)備注冊(cè)信息后,將設(shè)備注冊(cè)信息寫入對(duì)應(yīng)的家庭內(nèi)部網(wǎng)絡(luò)的設(shè)備注冊(cè)表中。當(dāng)用戶通過(guò)家居設(shè)備查詢程序獲取家居設(shè)備注冊(cè)信息,經(jīng)用戶確認(rèn)或拒絕后將相關(guān)注冊(cè)結(jié)果信息反饋給服務(wù)器中的設(shè)備注冊(cè)響應(yīng)程序,并完成數(shù)據(jù)庫(kù)相應(yīng)數(shù)據(jù)表的數(shù)據(jù)修改、增加等。
熱水器上水功能程序設(shè)計(jì)
熱水器的上水功能的開啟,分為智能模式與手動(dòng)模式兩種情況。在智能模式下,在系統(tǒng)開啟后,水位傳感器會(huì)檢測(cè)水箱中水位信息并將數(shù)據(jù)傳送至最近的處理單元,當(dāng)處理單元判斷出水位低于設(shè)定的最低值,同時(shí)室外氣溫高于零下4攝氏度以及不在上午2-6時(shí)間段時(shí),發(fā)出上水指令,熱水器端開始給水箱上水。水位傳感器仍然持續(xù)不斷的監(jiān)測(cè)水位信息,當(dāng)上水途中監(jiān)測(cè)到水位滿足設(shè)定的上水閾值時(shí),處理單元發(fā)出停止上水信號(hào),系統(tǒng)停止上水。在手動(dòng)模式下,熱水器端的處理單元持續(xù)不斷的接收來(lái)自室內(nèi)控制器的信號(hào),當(dāng)用戶在人機(jī)交互界面上點(diǎn)擊上水按鈕時(shí),控制器向熱水器端發(fā)送上水信號(hào),熱水器接收到該信號(hào)后,開始上水。與此同時(shí)熱水器端將水位信息的變化經(jīng)無(wú)線方式傳輸回控制器界面上,用戶發(fā)現(xiàn)水位滿足使用要求后點(diǎn)擊停止上水按鈕或水位傳感器檢測(cè)到水位到達(dá)峰值后,控制器發(fā)送停止上水信號(hào)給熱水器端的處理單元,待熱水器端接收到該信號(hào)后,停止上水過(guò)程。
熱水器電加熱功能程序設(shè)計(jì)
熱水器的電加熱與上水功能類似。同樣有智能模式與手動(dòng)模式兩種類型的區(qū)分。當(dāng)用戶將熱水器端切換為智能模式時(shí),熱水器端的一切操作均按系統(tǒng)預(yù)設(shè)程序進(jìn)行,電加熱功能也不例外。首先,熱水器端的處理單元會(huì)對(duì)水溫水位光照強(qiáng)度等信息作出判斷,確保水位不低于1/5,光照強(qiáng)度低于預(yù)設(shè)加熱臨界值以及水溫不高于30攝氏度。對(duì)水位信息的判斷是為了確保加熱后的水量能滿足最低使用要求,光照強(qiáng)度的檢測(cè)是為了最大限度的利用光照以及減少對(duì)需大量耗電的電加熱棒的使用,對(duì)水溫的檢測(cè)是避免加熱后水溫過(guò)高。以上條件均滿足后,熱水器端的處理單元發(fā)出加熱信號(hào),電加熱棒供電,開始對(duì)水箱內(nèi)的水進(jìn)行加熱,當(dāng)水溫達(dá)到用戶的預(yù)設(shè)值后,處理單元發(fā)出停止上水信號(hào),電加熱棒斷電,系統(tǒng)停止加熱。
當(dāng)處于手動(dòng)模式下時(shí),熱水器端的加熱功能操作需來(lái)自于控制器的相應(yīng)指令才可以進(jìn)行。熱水器端的處理單元持續(xù)不斷地監(jiān)聽來(lái)自控制器發(fā)出的信號(hào),當(dāng)用戶需要啟動(dòng)電加熱功能時(shí),在主控制器的界面上選擇電加熱按鈕,控制器則立即向熱水器端發(fā)送相應(yīng)的加熱信號(hào),進(jìn)而驅(qū)動(dòng)硬件電路中的繼電器與電磁閥開始工作,即表現(xiàn)為熱水器端的處理單元控制電加熱棒開始對(duì)水箱進(jìn)行加熱。與水位信息控制相同,水溫信息會(huì)隨著加熱的不斷進(jìn)行定時(shí)地發(fā)送回主控制器并顯示給用戶。在顯示的水溫達(dá)到用戶滿意值時(shí),用戶選擇停止加熱,或者當(dāng)水溫持續(xù)升高至到達(dá)系統(tǒng)開始預(yù)設(shè)的水溫峰值時(shí),熱水器端的處理單元發(fā)出停止加熱信號(hào),電加熱棒斷電,加熱功能結(jié)束。熱水器電加熱功能的流程圖如圖20所示。
熱水器采集休眠程序設(shè)計(jì)
在深夜時(shí)間段當(dāng)用戶入眠后,熱水器設(shè)備的具體使用情況用戶暫時(shí)無(wú)法查看,而這時(shí)如果一直讓其持續(xù)不斷地向控制器發(fā)送信息,容易造成資源的不必要浪費(fèi)。因此控制器設(shè)定休眠功能,當(dāng)進(jìn)入某一時(shí)間點(diǎn)后,主控制器向部分設(shè)備如熱水器發(fā)送休眠信號(hào),使其進(jìn)入休眠狀態(tài),即停止部分工作如參數(shù)的采集傳輸工作,僅保持其供電以進(jìn)行正常運(yùn)行。當(dāng)用戶需要使用該設(shè)備或者所設(shè)定的休眠時(shí)間段結(jié)束后,將其喚醒繼續(xù)工作。
熱水器智能模式程序設(shè)計(jì)
熱水器端的智能模式,是區(qū)別于手動(dòng)模式外的一種管理模式。切換的源頭在控制器??刂破鞫巳藱C(jī)交互界面上,可以選擇當(dāng)前對(duì)熱水器的操控為智能或者是手動(dòng)模式。手動(dòng)模式下,所有的操作如上水,電加熱等均需用戶自行選擇何時(shí)打開,而當(dāng)選擇智能模式時(shí)??刂破鲗⑦@一命令發(fā)送給熱水器端的單片機(jī)即處理單元,熱水器端的上水和電加熱則不需要人為的進(jìn)行開啟,處理單元會(huì)根據(jù)傳感器節(jié)點(diǎn)采集到的數(shù)據(jù)進(jìn)行分析判斷,何時(shí)何種情況下開始何種功能,以及當(dāng)哪些條件滿足時(shí)關(guān)閉哪些功能。智能模式一旦開啟,用戶即可完全任由熱水器自行處理,當(dāng)不需要熱水器在此模式下工作時(shí),必須在控制器端將模式切換到手動(dòng)模式。
網(wǎng)關(guān)服務(wù)器通信協(xié)議設(shè)計(jì)
在控制器與遠(yuǎn)程服務(wù)器通信時(shí),良好的數(shù)據(jù)傳輸協(xié)議以及設(shè)計(jì)完整的數(shù)據(jù)幀可以使得整個(gè)系統(tǒng)運(yùn)行的更加流暢。數(shù)據(jù)幀的設(shè)計(jì)是為了更好的體現(xiàn)室內(nèi)設(shè)備的狀態(tài)信息以及設(shè)備控制命令。因此,設(shè)計(jì)一個(gè)整合的數(shù)據(jù)幀,將室內(nèi)所有設(shè)備可供顯示的參數(shù)信息以及其相應(yīng)的操作功能全部囊括其中,通過(guò)一個(gè)數(shù)據(jù)幀即可瀏覽到所有的設(shè)備信息。具體的設(shè)計(jì)通信協(xié)議幀結(jié)構(gòu)表格如下:
表2通信幀格式
在幀格式表中,幀長(zhǎng)度占用1字節(jié),說(shuō)明該通信幀的字節(jié)總長(zhǎng)度。網(wǎng)關(guān)物理地址與設(shè)備網(wǎng)絡(luò)地址分別占用8byte與12byte,信息段長(zhǎng)度為50byte,包含具體信息內(nèi)容。幀控制詳細(xì)情況如表3所示:
表3幀控制描述
類型域與子類型域的組合可以實(shí)現(xiàn)對(duì)幀控制的具體描述,各類型幀的具體描述情況如表4所示:
表4各類型幀描述
類型域?yàn)?0時(shí),表明該幀是從家庭網(wǎng)關(guān)發(fā)送到服務(wù)器。在此前提下,子類型域0001表示返回地址,子類型域?yàn)?010表示請(qǐng)求組網(wǎng),子類型域?yàn)?011表示為具體返回?cái)?shù)據(jù),子類型域0100表示該幀是按設(shè)定定時(shí)向服務(wù)器發(fā)送的通信幀。
類型域?yàn)?0時(shí),表明該幀是從服務(wù)器發(fā)送到家庭網(wǎng)關(guān)。在此前提下,子類型域?yàn)?001表示請(qǐng)求地址,子類型域?yàn)?010表示發(fā)送確認(rèn)信號(hào),子類型域?yàn)?011表示發(fā)送查詢信號(hào),子類型域?yàn)?100發(fā)送取消信號(hào)。未作出說(shuō)明的其他格式均表示在當(dāng)前幀內(nèi)容下未進(jìn)行具體定義。
家庭內(nèi)網(wǎng)通信協(xié)議設(shè)計(jì)
家庭內(nèi)部各終端節(jié)點(diǎn)與主控制器之間形成了星型拓?fù)浣Y(jié)構(gòu)的自組網(wǎng),以wifi模塊進(jìn)行無(wú)線通信。幀結(jié)構(gòu)的設(shè)計(jì)也相應(yīng)的以貼合實(shí)際用途為主,并預(yù)留出部分字段以備將來(lái)系統(tǒng)功能的進(jìn)一步擴(kuò)展。內(nèi)部通信協(xié)議幀長(zhǎng)度為12個(gè)字節(jié),分為前5字節(jié)的幀格式于后6字節(jié)的幀格式。
前5byte的幀格式如表5所示:
表5家庭內(nèi)部通信幀前5byte幀格式
后6byte的幀格式如表6所示:
表6家庭內(nèi)部通信幀后6byte幀格式
在家庭內(nèi)部通信幀的前5byte中,開始編碼表明一幀的起始位置,采用固定的0x99表示。當(dāng)各個(gè)終端節(jié)點(diǎn)接收到數(shù)據(jù)包后,首先對(duì)起始編碼進(jìn)行驗(yàn)證,確認(rèn)是否符合設(shè)備要求以及起始編碼是否完全正確。在確認(rèn)起始編碼無(wú)誤后,則根據(jù)控制指令對(duì)相應(yīng)的包含控制命令的數(shù)據(jù)進(jìn)行解析,進(jìn)而調(diào)整設(shè)備狀態(tài),達(dá)到有效控制的目的。否則,該數(shù)據(jù)無(wú)效,不做任何處理操作。設(shè)備號(hào)表明該設(shè)備在整個(gè)智能家居體系中的具體編碼,如:0x01代表燈,0x02代表電視,0x03代表空調(diào),0x04代表熱水器等等。子設(shè)備號(hào)是為同一類型設(shè)備多次出現(xiàn)時(shí)描述的另一編碼,如室內(nèi)多次的多個(gè)燈的設(shè)備號(hào)相同,使用不同的子設(shè)備號(hào)即可進(jìn)行區(qū)分。消息類型和產(chǎn)品狀態(tài)各占四位,共占一個(gè)比特,消息類型為0001表明為查詢命令,消息類型為0010表明為控制命令。產(chǎn)品狀態(tài)為0001時(shí)代表該設(shè)備狀態(tài)異常,0010代表設(shè)備正常運(yùn)轉(zhuǎn)。
內(nèi)部通信幀的后6byte是對(duì)設(shè)備功能的具體描述。產(chǎn)品功能是對(duì)某一設(shè)備功能的分解,如空調(diào)具有加熱、制冷不同功能。功能檔位對(duì)諸如空調(diào)吹風(fēng)時(shí)具有不同等級(jí)的風(fēng)力的具體劃分,當(dāng)產(chǎn)品的功能不具備該內(nèi)容時(shí),默認(rèn)為1。功能參數(shù)是對(duì)具有預(yù)設(shè)功能的設(shè)備所準(zhǔn)備的幀內(nèi)容,包含具體設(shè)備數(shù)值。定時(shí)時(shí)間功能參數(shù)類似,當(dāng)某設(shè)備具有定時(shí)關(guān)閉或定時(shí)改變當(dāng)前狀態(tài)的功能時(shí),該部分傳輸具體的定時(shí)時(shí),單位為分鐘。預(yù)留部分長(zhǎng)度為1byte,為系統(tǒng)將來(lái)其他功能的擴(kuò)展做一定預(yù)留,同時(shí)對(duì)幀整體長(zhǎng)度無(wú)太大影響。結(jié)束編碼與開始編碼對(duì)應(yīng),標(biāo)志著當(dāng)前通信幀的結(jié)束,以固定0xff進(jìn)行表示。
通信程序設(shè)計(jì)
主控制器與各節(jié)點(diǎn)之間以socket通信的方式進(jìn)行數(shù)據(jù)傳輸,主控制器作為server端,各節(jié)點(diǎn)連接單片機(jī)以及無(wú)線傳輸模塊即wifi模塊作為client端。主控制器連接的wifi模塊發(fā)射無(wú)線信號(hào),利用qt的信號(hào)與槽機(jī)制,創(chuàng)建套接字,并監(jiān)聽相應(yīng)端口。熱水器端單片機(jī)連接的串口wifi模塊,選擇sta模式,接入到主控制器的網(wǎng)絡(luò)中,即作為socket通信的client客戶端。當(dāng)節(jié)點(diǎn)的client連接后,服務(wù)器端與客戶端開始進(jìn)行信號(hào)收發(fā),并從收發(fā)到的數(shù)據(jù)從提取關(guān)鍵參數(shù),顯示給用戶。
本具體實(shí)施中傳感器在整個(gè)體系中作為動(dòng)作單元,負(fù)責(zé)數(shù)據(jù)的采集工作;各電器設(shè)備為從控制器,與傳感器相連接在體系中作為節(jié)點(diǎn)共同存在;室內(nèi)主控制器與從控制器之間以wifi方式形成室內(nèi)自組局域網(wǎng),并實(shí)現(xiàn)控制功能;遠(yuǎn)程服務(wù)器經(jīng)互聯(lián)網(wǎng)與室內(nèi)主控制器進(jìn)行數(shù)據(jù)傳輸;小區(qū)管理終端或用戶智能終端設(shè)備通過(guò)瀏覽器登入服務(wù)器后查看或更改室內(nèi)設(shè)備狀態(tài)。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以作出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。