国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Qt的智能家居管理軟件設(shè)計(jì)

2023-06-22 10:46王二飛
無(wú)線互聯(lián)科技 2023年4期
關(guān)鍵詞:管理軟件智能家居設(shè)計(jì)

王二飛

摘要:隨著國(guó)家經(jīng)濟(jì)發(fā)展水平的不斷進(jìn)步,我國(guó)社會(huì)基本矛盾已發(fā)生變化,人民群眾對(duì)生活質(zhì)量提出了更高要求。“家”是人們生活的港灣,在信息技術(shù)急速發(fā)展的今天,智能家居已經(jīng)成為大部分家庭的家居選擇。目前,市面上比較先進(jìn)的智能家居軟件以Qt為技術(shù)基礎(chǔ),軟件技術(shù)架構(gòu)為C/S模式,通過(guò)Linux平臺(tái),實(shí)現(xiàn)了編程、通信、服務(wù)器建設(shè)及數(shù)據(jù)庫(kù)構(gòu)建等一系列目標(biāo),滿足了人們對(duì)于智能家居管理的控制及人機(jī)互動(dòng)等需求。文章圍繞“基于Qt的智能家居管理軟件設(shè)計(jì)”這一話題進(jìn)行了研究和探討.

關(guān)鍵詞:Qt;智能家居:管理軟件:設(shè)計(jì)

中圖分類號(hào):TP39

文獻(xiàn)標(biāo)志碼:A

0 引言

智能家居是近年來(lái)家居行業(yè)發(fā)展的主要趨勢(shì),這一現(xiàn)象出現(xiàn)的原因一方面是信息技術(shù)當(dāng)前已經(jīng)滲透到社會(huì)發(fā)展的各個(gè)行業(yè)之中,成為各個(gè)行業(yè)發(fā)展的“指向標(biāo)”:另一方面是人們已經(jīng)感受到了信息技術(shù)在生活中的便捷性,生活質(zhì)量越來(lái)越高,簡(jiǎn)單的智能家居已經(jīng)難以滿足人們對(duì)于家居的需求。進(jìn)行家居管理軟件設(shè)計(jì)是未來(lái)行業(yè)謀求發(fā)展,滿足消費(fèi)者需求,拓寬市場(chǎng)的主要方式,Qt是實(shí)現(xiàn)這一目標(biāo)的技術(shù)基礎(chǔ)。

1 Qt簡(jiǎn)介

Qt指的是一個(gè)跨平臺(tái)的C++圖形用戶界面應(yīng)用程序開(kāi)發(fā)框架,其中有不少白定義的C++類庫(kù),使用者使用帶UI界面的QWidget能夠在短時(shí)間內(nèi)編寫可視化圖形界面用戶端,使用QTcpSocket類能夠進(jìn)行網(wǎng)絡(luò)通信[1]。Linux系統(tǒng)是網(wǎng)絡(luò)得以運(yùn)行的關(guān)鍵,線程池thread-pool模式是服務(wù)器正常運(yùn)行的基礎(chǔ),之所以這樣說(shuō),是因?yàn)樯鲜鱿到y(tǒng)和模式能夠避免網(wǎng)絡(luò)進(jìn)行新請(qǐng)求接收的時(shí)候服務(wù)器出現(xiàn)持續(xù)線程構(gòu)建、進(jìn)程銷毀的問(wèn)題,使得CPU的使用效率不斷提高?,F(xiàn)下發(fā)展勢(shì)頭比較猛的無(wú)線通信技術(shù)是ZigBee技術(shù),作為一種短距離無(wú)線通信技術(shù),其耗能低的同時(shí)還能夠在工控場(chǎng)合被應(yīng)用,技術(shù)波段為2.4 GHz,應(yīng)用了跳頻及擴(kuò)頻技術(shù)[2]。

2 系統(tǒng)設(shè)計(jì)需求及整體構(gòu)建

2.1 系統(tǒng)設(shè)計(jì)需求

智能家居系統(tǒng)作為一個(gè)整體系統(tǒng),首先要對(duì)空氣中的溫濕度、光照強(qiáng)度、氣體濃度等重要環(huán)境因素進(jìn)行準(zhǔn)確感知,感知工具為傳感器,之后系統(tǒng)需要依據(jù)傳感器提供的環(huán)境因素對(duì)家中的家居設(shè)備如電燈、空調(diào)、冰箱等進(jìn)行控制,這是系統(tǒng)自身運(yùn)行的需求[3]。對(duì)于使用者而言,其需求為對(duì)系統(tǒng)進(jìn)行良好控制,需要通過(guò)一個(gè)專門的控制App客戶端解決,App客戶端的功能設(shè)計(jì)不用過(guò)于復(fù)雜,用戶登錄之后用攝像頭遠(yuǎn)程監(jiān)控并實(shí)現(xiàn)對(duì)家居設(shè)計(jì)的控制[4]。

2.2基于Ot的智能家居管理軟件系統(tǒng)整體構(gòu)建

2.2.1 整體設(shè)計(jì)

智能家居系統(tǒng)結(jié)構(gòu)包含遠(yuǎn)程控制、網(wǎng)絡(luò)通信、家庭網(wǎng)關(guān)及網(wǎng)絡(luò)4部分組成。系統(tǒng)核心以家庭網(wǎng)關(guān)為中心,橫跨ZigBee、GPRS/GSM及WiFi網(wǎng)絡(luò),組成一個(gè)在PC、智能手機(jī)及電腦等智能設(shè)備上皆可以實(shí)現(xiàn)遠(yuǎn)程控制的智能家居網(wǎng)絡(luò)系統(tǒng)[5]。智能家居系統(tǒng)的功能主要包括遠(yuǎn)程控制和家庭電器信息采集兩方面,實(shí)現(xiàn)這兩項(xiàng)功能都需要用到智能家居管理App客戶端,用戶需要先在App客戶端完成注冊(cè),登錄之后進(jìn)入家居設(shè)備操作界面,界面中的信息為電器丁作情況(主要依靠家庭網(wǎng)關(guān))。用戶能夠在界面中看到家中電器設(shè)備具體情況、攝像頭監(jiān)控畫面等,還能夠看到當(dāng)?shù)靥鞖馇闆r。App客戶端會(huì)向家庭網(wǎng)關(guān)發(fā)送JSON格式的白定義通信協(xié)議,家庭網(wǎng)關(guān)服務(wù)器在接收到信息之后會(huì)向App客戶端進(jìn)行反饋[6]。

2.2.2 設(shè)計(jì)重點(diǎn)

(1)家庭網(wǎng)關(guān)。

家庭網(wǎng)關(guān)在智能家居系統(tǒng)設(shè)計(jì)中占據(jù)著十分關(guān)鍵的地位,是系統(tǒng)的整體控制核心,是家庭網(wǎng)絡(luò)連接外部網(wǎng)絡(luò)重要程序,家庭網(wǎng)關(guān)軟件需要應(yīng)用分層結(jié)構(gòu),結(jié)構(gòu)由底層驅(qū)動(dòng)、Embedded系統(tǒng)、庫(kù)和應(yīng)用程序4部分組成,庫(kù)及應(yīng)用程序的移植是設(shè)計(jì)重點(diǎn)[7]。服務(wù)器應(yīng)用Qt開(kāi)發(fā),同時(shí)在Linux平臺(tái)上運(yùn)行。系統(tǒng)不僅要運(yùn)行,還要讀取和存儲(chǔ)數(shù)據(jù),因此還需要數(shù)據(jù)庫(kù)進(jìn)行支撐,系統(tǒng)中的數(shù)據(jù)庫(kù)為SQlice,這是一種專用于Linux平臺(tái)的輕型數(shù)據(jù)庫(kù)[8]。

solite是一種專用于Linux平臺(tái)的小型數(shù)據(jù)庫(kù),其與一般數(shù)據(jù)庫(kù)最大的區(qū)別在于這種數(shù)據(jù)庫(kù)的尺寸更小,操作起來(lái)也更為簡(jiǎn)便,但是其他方面與一般數(shù)據(jù)庫(kù)并沒(méi)有太大區(qū)別,系統(tǒng)需要獲取采集的數(shù)據(jù)以及家中電器的運(yùn)行情況[9]。Qt中的QSql模塊能夠?qū)?shù)據(jù)庫(kù)進(jìn)行支持,技術(shù)人員要發(fā)揮QSql模塊中類的作用,需要在pro文件中插入“Qt+= sql”代碼[10]。

Qt對(duì)QSqlQuery類進(jìn)行應(yīng)用需要對(duì)soL語(yǔ)句或是SQL模型類QSqITableModel執(zhí)行完成增刪改查數(shù)據(jù)庫(kù)這個(gè)過(guò)程。技術(shù)人員在最開(kāi)始的時(shí)候需要應(yīng)用SQLite database hrowser工具對(duì)數(shù)據(jù)庫(kù)(smarthome.db)進(jìn)行構(gòu)建,在smarlhome.db構(gòu)建完成之后建立用戶信息、傳感器以及傳感器情況實(shí)時(shí)獲知程序[11]。

家庭網(wǎng)關(guān)軟件設(shè)計(jì)主要包含以下5點(diǎn):

①SQlice數(shù)據(jù)庫(kù)移植,確保Linux平臺(tái)為數(shù)據(jù)庫(kù)提供支持。

②Qt/Embedded軟件支持庫(kù)移植,確保Linux平臺(tái)為Qt運(yùn)行提供支持。

③SYSZUXpinyin移植.SYSZUXpinyin是一類輸入法。

④Hostapd( Host Ac.cess Point)移植,為無(wú)線路由器進(jìn)行網(wǎng)卡配置。

⑤服務(wù)器軟件設(shè)計(jì),這是本文工作的重點(diǎn)。

由于智能家居管理App客戶端與服務(wù)器控制界面差別不大,這里主要對(duì)服務(wù)器軟件設(shè)計(jì)進(jìn)行介紹。軟件功能主要對(duì)App客戶端請(qǐng)求進(jìn)行響應(yīng)、對(duì)數(shù)據(jù)進(jìn)行收集、存儲(chǔ)及反饋,命令操作能夠完成各類復(fù)雜功能。App客戶端運(yùn)行完成之后會(huì)轉(zhuǎn)到用戶登錄界面,用戶登錄完成之后,可以在主界面看到“設(shè)備情況”“設(shè)備控制”“監(jiān)控查詢”等功能[12]。

(2)基于Qt的智能家居管理軟件架構(gòu)。

智能家居管理軟件設(shè)計(jì)的結(jié)構(gòu)為C/S結(jié)構(gòu),這一結(jié)構(gòu)是目前最先進(jìn)也是軟件設(shè)計(jì)企業(yè)最常用的一種結(jié)構(gòu)。這種結(jié)構(gòu)的優(yōu)勢(shì)在于能夠使App客戶端和服務(wù)器一同進(jìn)行計(jì)算機(jī)任務(wù),這樣不僅能夠確保對(duì)資源進(jìn)行最大程度利用,還能夠最大幅度提高系統(tǒng)運(yùn)行速度。系統(tǒng)程序包含App客戶端及服務(wù)器,服務(wù)器對(duì)家庭網(wǎng)關(guān)進(jìn)行連接,App客戶端在幫助系統(tǒng)對(duì)服務(wù)器進(jìn)行訪問(wèn)同時(shí)讀取家庭網(wǎng)絡(luò)數(shù)據(jù)并對(duì)服務(wù)器進(jìn)行反饋,完成控制。服務(wù)器在接到命令之后會(huì)將數(shù)據(jù)存儲(chǔ)同時(shí)轉(zhuǎn)發(fā)App客戶端命令。

服務(wù)器和App客戶端的技術(shù)依據(jù)為TCP( Transmission Control Prolocol)中的socket通信,這種通信方式傳播速度快,可靠性高,無(wú)需獲取復(fù)雜信息,只需獲取固定的IP地址和端口號(hào),即可使用C/S模式構(gòu)建TCP協(xié)議,實(shí)現(xiàn)不同通信進(jìn)程間之間的連接。Transmlssion Control Protocol本質(zhì)是一種傳輸協(xié)議,這種傳輸協(xié)議的作用是進(jìn)行數(shù)據(jù)連接。Qt用于連接TCP客戶端及服務(wù)器的程序?yàn)镼TcpSocket類及QTcpServer類。QTcpSocket類的作用是為TCP協(xié)議提供通用接口,用以完成其他標(biāo)準(zhǔn)協(xié)議。

(3)槽編程。

Qt信號(hào)——槽機(jī)制的作用是實(shí)現(xiàn)不同對(duì)象通信,槽機(jī)制的作用在Qt編程全程中都可以看到。對(duì)象情況轉(zhuǎn)變之后會(huì)發(fā)出信號(hào),槽一般情況下屬于類中函數(shù),作用是對(duì)信號(hào)進(jìn)行接收,各個(gè)程序之間依靠connect函數(shù)進(jìn)行連接,在接收到相關(guān)信號(hào)之時(shí)啟動(dòng)對(duì)應(yīng)的槽函數(shù)。系統(tǒng)軟件設(shè)計(jì)中包含非常多的信號(hào)槽編程。

3基于Qt的智能家居管理軟件運(yùn)行流程

3.1 登錄

客戶端App會(huì)應(yīng)用到Windows系統(tǒng)中的Qt4.6軟件。Qt程序中,軟件應(yīng)用最開(kāi)始需要用到mam.cpp,在其中創(chuàng)設(shè)QWidget對(duì)象,普通窗口用QWidget類表示,其中還包含QObect及QPaintDevice類,其余窗口繼承于QWidget類,Login.UI文件能夠?qū)崿F(xiàn)對(duì)智能家居管理軟件的可視化編輯,具體表現(xiàn)為智能家居管理軟件登錄界面(見(jiàn)圖1)。之后UI界面按鈕會(huì)跳轉(zhuǎn)至槽,同時(shí)在系統(tǒng)中加上QAbstractButton類對(duì)象中的clicked()事件,Qt軟件此時(shí)會(huì)白動(dòng)將槽函數(shù)聲明和相應(yīng)的信號(hào)函數(shù)生成并在之后的運(yùn)行過(guò)程中展示出來(lái)。若系統(tǒng)需要UI界面進(jìn)行跳轉(zhuǎn),需要提前在主界面的相關(guān)文件中增加子界面運(yùn)行要求,之后在主界面的cpp文件中構(gòu)建子界面類對(duì)象,同時(shí)對(duì)子對(duì)象進(jìn)行調(diào)用,此外還需要將主界面UI關(guān)閉。

3.2 注冊(cè)

新用戶將軟件打開(kāi)之后需要進(jìn)行注冊(cè),用戶在進(jìn)入到注冊(cè)界面之后先需要輸入賬號(hào)、手機(jī)號(hào)進(jìn)行注冊(cè)(注冊(cè)需要手機(jī)接收驗(yàn)證碼并設(shè)置密碼)??蛻敉瓿蛇@一系列操作之后,客戶端App將新用戶的信息依靠socket請(qǐng)求傳輸給服務(wù)器,用戶若注冊(cè)成功,服務(wù)器同樣會(huì)依靠socket返回注冊(cè)成功標(biāo)識(shí)信息給客戶端App。如果客戶在再次登錄的時(shí)候忘記密碼,只需要進(jìn)入到找回密碼界面即可(見(jiàn)圖2).在“找回密碼”這一界面,用戶只要正確填寫注冊(cè)時(shí)的賬號(hào)及手機(jī)號(hào)就能夠成功修改密碼。用戶在這個(gè)過(guò)程中可以接著使用原用戶名,應(yīng)用新密碼。在用戶正確輸入自己要用的賬號(hào)密碼之后,就可以進(jìn)入智能家居管理系統(tǒng)的主界面。

3.3 控制

智能家居管理軟件控制主要分為手動(dòng)控制和自動(dòng)控制兩種,具體控制方式如下所示。

3.3.1 手動(dòng)控制

用戶在智能家居管理軟件主界面能夠?qū)彝ED、風(fēng)扇、空調(diào)及冰箱等家居設(shè)備進(jìn)行手動(dòng)控制,系統(tǒng)會(huì)對(duì)溫濕度傳感器提取到的溫濕度數(shù)據(jù)進(jìn)行實(shí)時(shí)顯示。用戶只要連接網(wǎng)絡(luò)并打開(kāi)定位,便能夠從App中獲知所在城市的天氣狀況。智能家居管理軟件查詢天氣依靠的是瀏覽器中的開(kāi)發(fā)者工具,在獲知當(dāng)?shù)靥鞖忸A(yù)報(bào)中的天氣情況的同時(shí)還需要讀取Body、Header信息,應(yīng)用在線HTTP接口測(cè)試T具測(cè)試可以得到JSON格式天氣數(shù)據(jù),利用weacher.cpp解析JSON數(shù)據(jù)之后依靠QWidget類對(duì)象在UI界面中顯示相關(guān)數(shù)據(jù)。

3.3.2 自動(dòng)控制

智能家居管理軟件處在自動(dòng)控制模式狀態(tài)下,系統(tǒng)能夠依據(jù)當(dāng)下環(huán)境對(duì)家中電氣設(shè)備進(jìn)行智能化控制。若溫濕度傳感器感知到的室內(nèi)溫度在30℃時(shí),控制系統(tǒng)會(huì)自動(dòng)將空調(diào)打開(kāi)。若溫濕度傳感器感知到的室內(nèi)溫度比26℃低時(shí),控制系統(tǒng)會(huì)自動(dòng)將空調(diào)關(guān)閉。同理,傳感器在測(cè)試到室內(nèi)一氧化碳濃度過(guò)高的時(shí)候,系統(tǒng)會(huì)立即向用戶進(jìn)行反饋。

4 結(jié)語(yǔ)

總而言之,在當(dāng)下我國(guó)已經(jīng)實(shí)現(xiàn)全面小康,向社會(huì)主義現(xiàn)代化邁進(jìn)的背景下,群眾生活水平出現(xiàn)了大幅度提升,對(duì)于生活質(zhì)量提出了自動(dòng)化及智能化要求,這一點(diǎn)在家居行業(yè)中體現(xiàn)得尤為明顯。家居行業(yè)要滿足消費(fèi)者需求,必須提高對(duì)智能家居管理軟件設(shè)計(jì)工作的重視,以Qt為技術(shù)框架,通過(guò)Linux平臺(tái),為消費(fèi)者提供一個(gè)良好的智能家居控制管理體驗(yàn)。

參考文獻(xiàn)

[1]張純楊,張昊德,笪慶,等.一種基于Qt界面的多圖像拼接軟件的實(shí)現(xiàn)方法及其系統(tǒng):202010480639.[P].2020-05 -30.

[2]潘志安,高知林,秦華旺,等.基于Qt的地鐵站智能照明系統(tǒng)軟件設(shè)計(jì)與實(shí)現(xiàn)[J].工業(yè)控制計(jì)算機(jī),2020( 10):113 -115.

[3]何勇,王曉麗,肖海飛,等.基于物聯(lián)網(wǎng)的非侵入式用電器在線監(jiān)測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].智能計(jì)算機(jī)與應(yīng)用,2021(12):158-170.

[4]侯健明,靜國(guó)剛,吳松洋,等.基于QT的網(wǎng)絡(luò)設(shè)備拓?fù)涔芾砥脚_(tái)設(shè)計(jì)與實(shí)現(xiàn)[J].工業(yè)控制計(jì)算機(jī),2022(1):87-88.

[5]邵春雨,李春輝.基于PLC的智能家居控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].沈陽(yáng)工程學(xué)院學(xué)報(bào)(自然科學(xué)版),2022(2):86-89.

[6]渠吉慶,陳禹,劉玉琪,等.基于語(yǔ)音識(shí)別智能家居系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2020( 12):148-152.

[7]王超.基于s3c2410和Qt/Embedded嵌入式實(shí)驗(yàn)演示系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].文山學(xué)院學(xué)報(bào),2022(2):65-67.

[8]李繼紅,安迎建.基于51單片機(jī)的智能家居火災(zāi)報(bào)警的設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)與軟件工程,2021(12):60-61.

[9]楊蝶,王銀玲,張伊洛.基于SVM-Qt的廢舊織物顏色識(shí)別系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].信息與電腦,2020(14):122-125.

[10]王斌,宋樹(shù)祥,王宜瑜,等.基于Qt與ArmNN的嵌入式噴碼檢測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算技術(shù)與自動(dòng)化,2020(1):54-60。

[11]高昕悅,趙宇鴻,李達(dá),等.基于ANSYS的亥姆霍茲線圈磁場(chǎng)分布研究實(shí)驗(yàn)[J].實(shí)驗(yàn)技術(shù)與管理,2021(5):175-179,186.

[12]路云靜,唐海萍.生態(tài)系統(tǒng)文化服務(wù)研究進(jìn)展——基于CiteSpace的可視化分析[J].北京師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2021( 4):524-532.

(編輯李春燕)

猜你喜歡
管理軟件智能家居設(shè)計(jì)
倉(cāng)儲(chǔ)管理軟件在物流自動(dòng)化解決方案中的應(yīng)用與發(fā)展
項(xiàng)目法在工程造價(jià)管理軟件中的應(yīng)用
瞞天過(guò)?!律O(shè)計(jì)萌到家
基于Zigbee的無(wú)線通信技術(shù)在智能家居中的應(yīng)用
設(shè)計(jì)秀
有種設(shè)計(jì)叫而專
共享電單車的管理軟件
基于LD3320的智能家居控制
設(shè)計(jì)之味
2008年中國(guó)管理軟件評(píng)選TOP100