摘要:網(wǎng)關(guān)作為智能家居系統(tǒng)的核心設(shè)備,其設(shè)計(jì)和實(shí)現(xiàn)的重要性不言而喻。文章對(duì)網(wǎng)關(guān)軟件應(yīng)用開(kāi)發(fā)的軟、硬件環(huán)境進(jìn)行了簡(jiǎn)介,重點(diǎn)針對(duì)基于Qt的網(wǎng)關(guān)軟件設(shè)計(jì)中的GUI設(shè)備狀態(tài)監(jiān)測(cè)、串口類(lèi)設(shè)計(jì)、GUI主線(xiàn)程中延時(shí)設(shè)計(jì)問(wèn)題給出了有效的解決方案?;赒t設(shè)計(jì)了網(wǎng)關(guān)控制系統(tǒng),系統(tǒng)能夠?qū)崿F(xiàn)用戶(hù)的注冊(cè)、登錄、密碼修改等管理功能,可進(jìn)行家電設(shè)備的單獨(dú)控制和一鍵情景模式控制。文章依據(jù)網(wǎng)關(guān)軟件設(shè)計(jì)流程進(jìn)行軟件開(kāi)發(fā)并完成系統(tǒng)測(cè)試與分析。
關(guān)鍵詞:Qt;物聯(lián)網(wǎng);智能家居;網(wǎng)關(guān)
中圖分類(lèi)號(hào):TP312 "文獻(xiàn)標(biāo)志碼:A
0 引言
隨著科技的不斷發(fā)展,智能家居市場(chǎng)呈現(xiàn)快速崛起的態(tài)勢(shì)。據(jù)IDC數(shù)據(jù),到2025年,全球智能家居市場(chǎng)規(guī)模將達(dá)到2367億美元。在我國(guó),智能家居市場(chǎng)同樣表現(xiàn)出強(qiáng)勁的增長(zhǎng)勢(shì)頭。網(wǎng)關(guān)作為智能家居系統(tǒng)的核心部分,承擔(dān)著整個(gè)系統(tǒng)的數(shù)據(jù)采集、協(xié)議轉(zhuǎn)換、數(shù)據(jù)轉(zhuǎn)發(fā)、控制下達(dá)、存儲(chǔ)配置功能,可將許多相對(duì)獨(dú)立的傳感器、執(zhí)行器等終端家居產(chǎn)品組合成一個(gè)系統(tǒng),方便進(jìn)行本地操作,也可通過(guò)互聯(lián)網(wǎng)或無(wú)線(xiàn)網(wǎng)絡(luò)實(shí)現(xiàn)遠(yuǎn)程控制[1]。網(wǎng)關(guān)的設(shè)計(jì)和實(shí)現(xiàn)對(duì)于整體智能家居系統(tǒng)的性能產(chǎn)生至關(guān)重要的影響。
1 網(wǎng)關(guān)軟件開(kāi)發(fā)環(huán)境簡(jiǎn)介
圖形用戶(hù)界面(Graphical User Interface,GUI)技術(shù)的出現(xiàn),改變了傳統(tǒng)的終端命令行控制與顯示的方式,體現(xiàn)了用戶(hù)友好、可視化和交互等優(yōu)越性,因此圖形界面設(shè)計(jì)是非常重要的[2-3]。本研究中的網(wǎng)關(guān)應(yīng)用開(kāi)發(fā)環(huán)境主要由軟件部分和硬件部分組成。其中,軟件部分包括虛擬機(jī)VMware Workstation、Linux(Ubuntu)、Qt。Qt是奇趣科技于1991年開(kāi)發(fā)的跨平臺(tái)C++圖形用戶(hù)界面應(yīng)用程序開(kāi)發(fā)框架[4-5],既可用于開(kāi)發(fā)GUI程序,也可用于開(kāi)發(fā)非GUI程序。同時(shí),Qt支持“一個(gè)框架、一套代碼庫(kù)、任意平臺(tái)部署”。
本設(shè)計(jì)的網(wǎng)關(guān)軟件由A8網(wǎng)關(guān)、協(xié)調(diào)器和各類(lèi)傳感器構(gòu)成。在運(yùn)行時(shí),網(wǎng)關(guān)基于ZigBee協(xié)議實(shí)現(xiàn)協(xié)調(diào)器和環(huán)境監(jiān)測(cè)傳感器及繼電器等執(zhí)行器件之間的數(shù)據(jù)交換,其次通過(guò)串口線(xiàn)將協(xié)調(diào)器和A8網(wǎng)關(guān)連接起來(lái)。這一環(huán)節(jié)可實(shí)現(xiàn)數(shù)據(jù)的傳輸。數(shù)據(jù)經(jīng)預(yù)處理后會(huì)顯示在A8網(wǎng)關(guān)的GUI界面上。反之,該應(yīng)用還可通過(guò)此通信鏈將操作指令下發(fā)給執(zhí)行器,完成智能家居的實(shí)時(shí)監(jiān)控。硬件通信流程示意如圖1所示。
1.1 A8網(wǎng)關(guān)
A8網(wǎng)關(guān)是用于燒錄編寫(xiě)的智能家居網(wǎng)關(guān)應(yīng)用程序。用戶(hù)可通過(guò)觸摸屏操作對(duì)應(yīng)的智能家居網(wǎng)關(guān)功能模塊,同時(shí)通過(guò)串口線(xiàn)與協(xié)調(diào)器連接進(jìn)行數(shù)據(jù)傳輸操作,以此實(shí)現(xiàn)獲取環(huán)境參數(shù)和控制命令功能。
1.2 協(xié)調(diào)器
協(xié)調(diào)器主要用于與各種傳感器實(shí)現(xiàn)組網(wǎng),利用ZigBee協(xié)議完成各組件之間的數(shù)據(jù)交換。
1.3 傳感器
本設(shè)計(jì)中與協(xié)調(diào)器組網(wǎng)的傳感器的組成構(gòu)件包括溫濕度傳感器、光照度傳感器、煙霧傳感器、燃?xì)鈧鞲衅?、CO2傳感器、PM2.5傳感器、氣壓傳感器、人體紅外傳感器、電壓型繼電器(控制報(bào)警燈、風(fēng)扇、照明燈和門(mén)禁系統(tǒng))、節(jié)點(diǎn)型傳感器(控制電動(dòng)窗簾)及紅外轉(zhuǎn)發(fā)(控制電視、空調(diào))。
2 智能家居控制系統(tǒng)面臨的關(guān)鍵問(wèn)題
2.1 用戶(hù)界面設(shè)計(jì)不足,影響用戶(hù)體驗(yàn)
在智能家居控制系統(tǒng)里,用戶(hù)界面設(shè)計(jì)存在不足,這是影響用戶(hù)體驗(yàn)的主要問(wèn)題之一。許多智能家居系統(tǒng)的界面布局和功能復(fù)雜,既缺乏直觀性又缺乏友好性,導(dǎo)致用戶(hù)在使用過(guò)程中因?yàn)榻缑娌僮髁鞒虩┈嵍w驗(yàn)不佳,這樣不但增加了學(xué)習(xí)成本,還降低了用戶(hù)滿(mǎn)意度。如在某些系統(tǒng)設(shè)備控制方面,用戶(hù)須要進(jìn)行多級(jí)菜單操作,導(dǎo)致在緊急情況時(shí)無(wú)法迅速作出反應(yīng)。此外,設(shè)計(jì)不當(dāng)?shù)慕缑婵赡苋狈ψ銐虻姆答仚C(jī)制,用戶(hù)無(wú)法及時(shí)了解系統(tǒng)狀態(tài)或操作結(jié)果,進(jìn)而影響其對(duì)系統(tǒng)的信任感。
2.2 數(shù)據(jù)通信協(xié)議的復(fù)雜性帶來(lái)的挑戰(zhàn)
數(shù)據(jù)通信協(xié)議的復(fù)雜性是智能家居控制系統(tǒng)面臨的一大挑戰(zhàn),因?yàn)橹悄芗揖酉到y(tǒng)通常是由多種設(shè)備構(gòu)成的,各設(shè)備間必須通過(guò)ZigBee、Wi-Fi和藍(lán)牙等不同的通信協(xié)議來(lái)進(jìn)行數(shù)據(jù)交換。這種多樣性雖然給系統(tǒng)的擴(kuò)展性帶來(lái)了便利,但是也讓設(shè)備間的互聯(lián)互通變得復(fù)雜。設(shè)備間如果使用不同通信協(xié)議,可能會(huì)導(dǎo)致數(shù)據(jù)傳輸不穩(wěn)定甚至出現(xiàn)設(shè)備無(wú)法識(shí)別的問(wèn)題。
此外,協(xié)議轉(zhuǎn)換所需的時(shí)間延遲還可能影響系統(tǒng)的實(shí)時(shí)響應(yīng)能力,進(jìn)而影響整體用戶(hù)體驗(yàn)。為有效解決這一問(wèn)題,系統(tǒng)設(shè)計(jì)須要確保設(shè)備之間協(xié)議兼容有效或設(shè)計(jì)一個(gè)能統(tǒng)一管理各種協(xié)議的中間層,進(jìn)而提高數(shù)據(jù)通信的效率和穩(wěn)定性。
2.3 定時(shí)與延時(shí)控制在設(shè)備操作中的困難
定時(shí)與延時(shí)控制在設(shè)備操作中存在的缺陷十分顯著。智能家居系統(tǒng)以實(shí)時(shí)響應(yīng)用戶(hù)指令而受到青睞。如在特定時(shí)間自動(dòng)控制家電,由于設(shè)備間響應(yīng)時(shí)間的差異會(huì)導(dǎo)致實(shí)際執(zhí)行和預(yù)期不相符,則會(huì)影響系統(tǒng)可靠性。當(dāng)用戶(hù)通過(guò)網(wǎng)關(guān)下達(dá)一項(xiàng)指令時(shí),硬件設(shè)備可能因網(wǎng)絡(luò)延遲或系統(tǒng)負(fù)載沒(méi)能及時(shí)執(zhí)行,進(jìn)而造成用戶(hù)體驗(yàn)感下降。此外,在涉及多個(gè)設(shè)備聯(lián)動(dòng)時(shí),如何有效協(xié)調(diào)各設(shè)備的響應(yīng)時(shí)間是當(dāng)前亟須解決的問(wèn)題,尤其是在須要同時(shí)控制多個(gè)設(shè)備的場(chǎng)景下,設(shè)計(jì)合理的延時(shí)機(jī)制以確保各設(shè)備能在適當(dāng)時(shí)間內(nèi)響應(yīng)用戶(hù)指令。
3 智能家居網(wǎng)關(guān)的解決方案設(shè)計(jì)與實(shí)現(xiàn)
3.1 基于Qt的網(wǎng)關(guān)軟件設(shè)計(jì)關(guān)鍵問(wèn)題的解決方案
在智能家居網(wǎng)關(guān)的軟件設(shè)計(jì)里,Qt框架提供了一套很強(qiáng)的信號(hào)與槽機(jī)制,能讓不同組件間的通信變得高效又靈活。信號(hào)和槽是一種高級(jí)接口,應(yīng)用于對(duì)象之間的通信,其是Qt的核心特性,也是Qt區(qū)別于其他工具包的重要功能,信號(hào)和槽是Qt自行定義的一種通信機(jī)制[6]。信號(hào)與槽機(jī)制通過(guò)QObject類(lèi)的 connect( )函數(shù)來(lái)實(shí)現(xiàn)對(duì)象間連接,具體為connect(sender,SIGNAL,receiver,SLOT)。其中,sender是發(fā)出信號(hào)的對(duì)象,SIGNAL是發(fā)送對(duì)象發(fā)出的信號(hào),receiver是接收信號(hào)的對(duì)象,SLOT是接收對(duì)象在接收到信號(hào)之后所需要調(diào)用的方法。sender與receiver是指向?qū)ο蟮闹羔槪琒IGNAL()與SLOT()是轉(zhuǎn)換信號(hào)與槽的宏[7]。信號(hào)與槽機(jī)制允許對(duì)象在特定事件發(fā)生時(shí)通知其他對(duì)象,其在設(shè)備狀態(tài)切換、傳感器數(shù)據(jù)采集以及用戶(hù)界面更新等方面都起到了關(guān)鍵作用。如用戶(hù)通過(guò)點(diǎn)擊“btnWarningLight”按鈕,就能實(shí)現(xiàn)報(bào)警燈的狀態(tài)切換。
QTimer類(lèi)定時(shí)器是QObject類(lèi)定時(shí)器的擴(kuò)展版,因?yàn)槠淇梢蕴峁└嗟墓δ埽?]。QTimer類(lèi)定時(shí)器的使用為定時(shí)操作提供了便利,不僅支持單次觸發(fā),還能進(jìn)行周期性觸發(fā),使用QTimer類(lèi)定時(shí)器的步驟如下:①創(chuàng)建一個(gè)QTimer定時(shí)器實(shí)例:QTimer*timer = new QTimer( );②連接超時(shí)信號(hào)與槽:connect(timer,SIGNAL(timeout()),this,SLOT(function( )));③啟動(dòng)定時(shí)器start();④適時(shí)關(guān)閉定時(shí)器:stop( );⑤刪除定時(shí)器實(shí)例:delete timer。在網(wǎng)關(guān)軟件設(shè)計(jì)中,QTimer類(lèi)定時(shí)器常被用來(lái)控制傳感器的定時(shí)采集、日志記錄以及家電的自動(dòng)控制,通過(guò)合理設(shè)置定時(shí)器,能確保系統(tǒng)以穩(wěn)定的頻率收集數(shù)據(jù)并進(jìn)行處理。例如:白天時(shí),系統(tǒng)會(huì)根據(jù)室內(nèi)光照度參數(shù)自動(dòng)調(diào)整窗簾的工作狀態(tài),使室內(nèi)長(zhǎng)期處于相對(duì)舒適的光線(xiàn)亮度;夜晚時(shí),系統(tǒng)則會(huì)自動(dòng)關(guān)閉窗簾,保護(hù)用戶(hù)的隱私。
3.2 網(wǎng)關(guān)的串口通信設(shè)計(jì)
在本設(shè)計(jì)中,串口通信是智能家居網(wǎng)關(guān)跟其他硬件設(shè)備進(jìn)行數(shù)據(jù)交換的主要功能,采用Qt的第三方串口庫(kù)QextSerialPort來(lái)實(shí)現(xiàn)串口的高效讀寫(xiě)操作。通過(guò) open( )、close( )、setBaudRate( )、setDataBits( )、setParity( )、setStopBits( )、setFlowControl( )、setTimeout( )、readData()、writeData()等接口函數(shù),開(kāi)發(fā)者可靈活配置串口參數(shù)來(lái)保證數(shù)據(jù)正確傳輸,為了保證串口通信的高效性,還設(shè)計(jì)樂(lè)串口線(xiàn)程(SerialPortThread)、串口數(shù)據(jù)接收處理(SerialPortReceive)以及串口數(shù)據(jù)處理(SerialDataHandle)等。
串口線(xiàn)程類(lèi)負(fù)責(zé)串口參數(shù)配置,在接收到數(shù)據(jù)時(shí)會(huì)發(fā)射 readyRead( )信號(hào),其他對(duì)象通過(guò)信號(hào)與槽機(jī)制可把該信號(hào)和對(duì)應(yīng)的接收處理函數(shù)連接。串口數(shù)據(jù)接收處理類(lèi)主要是把接收到的數(shù)據(jù)解析成完整的數(shù)據(jù)幀并進(jìn)行校驗(yàn),以確保數(shù)據(jù)有效,而串口數(shù)據(jù)處理類(lèi)負(fù)責(zé)對(duì)接收的數(shù)據(jù)進(jìn)行解析和存儲(chǔ),同時(shí)也能處理待發(fā)送的數(shù)據(jù)并將其轉(zhuǎn)換成合適格式。
3.3 網(wǎng)關(guān)GUI主線(xiàn)程中的延時(shí)設(shè)計(jì)
在智能家居網(wǎng)關(guān)的操作當(dāng)中,控制指令的下發(fā)通常需要遵循一定時(shí)間間隔,這樣才能確保硬件設(shè)備能有效響應(yīng)。延時(shí)設(shè)計(jì)分為阻塞延時(shí)和非阻塞延時(shí)。所謂阻塞延時(shí),是指阻塞當(dāng)前線(xiàn)程,直到延時(shí)結(jié)束,方可進(jìn)行其他操作,如果設(shè)計(jì)中有界面,界面會(huì)卡住。非阻塞延時(shí)是指在延時(shí)的過(guò)程中,可以進(jìn)行其他操作,如果設(shè)計(jì)中有界面,界面不會(huì)卡住。阻塞延時(shí)會(huì)讓當(dāng)前線(xiàn)程停滯而沒(méi)法進(jìn)行其他操作。這在用戶(hù)界面設(shè)計(jì)里是禁止的,基于此,本設(shè)計(jì)采用了非阻塞延時(shí)方式,保證在延時(shí)過(guò)程中系統(tǒng)依然能處理其他事件。
為解決CPU占用率過(guò)高的問(wèn)題,程序可設(shè)置進(jìn)入睡眠模式。程序睡眠一般時(shí)間極短,對(duì)于用戶(hù)而言不會(huì)有太大影響,但對(duì)Linux內(nèi)核的意義迥然不同。程序睡眠讓Linux內(nèi)核有充足的時(shí)間調(diào)度線(xiàn)程,有機(jī)會(huì)執(zhí)行其他程序。具體操作如下:在設(shè)計(jì)里通過(guò)調(diào)用QTime的currentTime( )函數(shù)獲取當(dāng)前系統(tǒng)時(shí)間,在while 循環(huán)里不斷對(duì)比當(dāng)前時(shí)間和設(shè)定的時(shí)間點(diǎn),在循環(huán)體里調(diào)用QCoreApplication::processEvents(QEventLoop::AllEvents, 100)函數(shù),讓事件循環(huán)能繼續(xù)進(jìn)行,保持用戶(hù)界面的響應(yīng)性。在循環(huán)體里調(diào)用的processEvents( )語(yǔ)句能夠使程序在while等待期間,處理本線(xiàn)程的事件循環(huán)。處理事件循環(huán)在100 ms內(nèi)必須返回本語(yǔ)句。如果提前處理完畢,程序則立即返回這條語(yǔ)句。通常processEvents( )不宜過(guò)于頻繁調(diào)用,但調(diào)用次數(shù)也不宜過(guò)少。調(diào)用過(guò)于頻繁,一方面會(huì)使UI線(xiàn)程的響應(yīng)更好,但另一方面會(huì)導(dǎo)致原本就耗時(shí)的任務(wù)變得更加耗時(shí);調(diào)用不夠頻繁時(shí),顯然可能會(huì)使GUI線(xiàn)程的響應(yīng)變差,例如每500 ms才被調(diào)用一次,那么GUI的事件循環(huán)就只能500 ms才被處理一次。這個(gè)問(wèn)題可以通過(guò)設(shè)定processEvents( )的第二個(gè)形參略微得到改善。更好的做法是保證被調(diào)的周期小于200 ms,這樣不至于出現(xiàn)肉眼可見(jiàn)的卡頓。這樣的設(shè)計(jì)保證了在執(zhí)行延時(shí)操作時(shí),用戶(hù)依然能夠和界面進(jìn)行交互,進(jìn)而提升用戶(hù)體驗(yàn)。
3.4 網(wǎng)關(guān)軟件界面設(shè)計(jì)與功能實(shí)現(xiàn)
Qt中的Qt Gui庫(kù)專(zhuān)門(mén)定義了圖形用戶(hù)界面類(lèi),用戶(hù)使用各種Qt控件進(jìn)行組合可設(shè)計(jì)實(shí)現(xiàn)UI界面[9]。Qt支持用戶(hù)可視化界面設(shè)計(jì),可以直接用鼠標(biāo)拖動(dòng)控件設(shè)計(jì)UI界面,相應(yīng)的UI界面實(shí)現(xiàn)代碼Qt Creator可以自動(dòng)生成。QWidget類(lèi)是Qt圖像用戶(hù)界面組件的基類(lèi),每個(gè)Qt控件均繼承于QWidget類(lèi)[10]。Qt提供的圖形用戶(hù)界面(GUI)組件,讓設(shè)計(jì)用戶(hù)友好的界面變得容易。在本設(shè)計(jì)中,網(wǎng)關(guān)軟件的界面是由多個(gè)功能模塊組成的,有登錄與用戶(hù)管理、環(huán)境監(jiān)測(cè)、智能控制、情景模式以及自定義條件設(shè)置等,用戶(hù)能通過(guò)直觀的圖形界面來(lái)進(jìn)行各種操作從而提升使用的便捷性和效率。
在界面設(shè)計(jì)方面,本研究基于QWidget類(lèi)實(shí)現(xiàn)UI界面。對(duì)于多界面,開(kāi)發(fā)者可以采用QStackedWidget類(lèi)實(shí)現(xiàn)。QStackedWidget類(lèi)實(shí)質(zhì)是管理窗口部件的棧,在某一時(shí)刻只有一個(gè)棧部件的子窗口可見(jiàn)。設(shè)計(jì)者可以通過(guò)setCurrentIndex( )方法來(lái)設(shè)置當(dāng)前顯示的窗口,以實(shí)現(xiàn)UI界面的切換。登錄與用戶(hù)管理界面支持用戶(hù)的注冊(cè)、登錄、修改密碼以及用戶(hù)信息管理,這樣可以確保系統(tǒng)的安全性和易用性。主功能界面實(shí)時(shí)顯示傳感器數(shù)據(jù),這樣用戶(hù)就能明確家居環(huán)境的狀態(tài),通過(guò)直觀的圖標(biāo)可實(shí)現(xiàn)對(duì)家電的單獨(dú)控制。智能控制功能區(qū)支持用戶(hù)通過(guò)簡(jiǎn)單的圖標(biāo)點(diǎn)擊實(shí)現(xiàn)對(duì)各個(gè)家電的控制,情景模式功能區(qū)提供了一鍵式的場(chǎng)景切換。用戶(hù)依據(jù)不同需求可快速調(diào)整家居環(huán)境,而自定義條件設(shè)置聯(lián)動(dòng)模式功能區(qū)則支持用戶(hù)按照自己的需求去設(shè)置聯(lián)動(dòng)條件,從而實(shí)現(xiàn)更靈活的家居控制。網(wǎng)關(guān)軟件設(shè)計(jì)流程如圖2所示。
4 系統(tǒng)聯(lián)調(diào)結(jié)果及分析
網(wǎng)關(guān)軟件程序在編寫(xiě)完成后,需要制作鏡像并將鏡像通過(guò)使用MiniTool燒寫(xiě)工具移植到網(wǎng)關(guān),完成網(wǎng)關(guān)的配置與連接。檢查各環(huán)境監(jiān)測(cè)節(jié)點(diǎn)傳感器電路以及各控制節(jié)點(diǎn)電路是否連接正確,進(jìn)行網(wǎng)關(guān)應(yīng)用軟件的操作測(cè)試。用戶(hù)登錄后能夠順利進(jìn)入主功能界面,界面顯示數(shù)據(jù)穩(wěn)定,可以進(jìn)行家電設(shè)備的單獨(dú)控制。此系統(tǒng)可實(shí)現(xiàn)一鍵情景模式控制,擁有離家模式、回家模式、白天模式、夜間模式和安防模式。經(jīng)測(cè)試,系統(tǒng)自定義設(shè)置條件聯(lián)動(dòng)控制監(jiān)測(cè)準(zhǔn)確,網(wǎng)關(guān)軟件的操作性、穩(wěn)定性及實(shí)用性能夠達(dá)到預(yù)期目標(biāo)。
5 結(jié)語(yǔ)
本項(xiàng)目基于智能家居設(shè)備設(shè)計(jì)了一種基于Qt的智能家居網(wǎng)關(guān)控制系統(tǒng),旨在為人們提供環(huán)境監(jiān)測(cè)、家電控制和家居安防服務(wù)。本文設(shè)計(jì)的智能家居網(wǎng)關(guān)控制系統(tǒng)仍有需要進(jìn)一步改進(jìn)和完善之處:(1)在網(wǎng)關(guān)軟件上,優(yōu)化UI和體系結(jié)構(gòu),設(shè)計(jì)更具有藝術(shù)感和人性化操作的界面。(2)豐富擴(kuò)展智能家居控制系統(tǒng),如增加家庭視頻監(jiān)控,實(shí)時(shí)遠(yuǎn)程監(jiān)控、自動(dòng)報(bào)警和本地視頻錄制存儲(chǔ)等。(3)接入云端服務(wù)器,在人工智能、大數(shù)據(jù)、云計(jì)算、智能語(yǔ)音的支持下,系統(tǒng)可升級(jí)為智慧家居系統(tǒng),提供更多高級(jí)功能,使用戶(hù)生活更加舒適便捷。網(wǎng)關(guān)在家庭智能化中扮演著連接和控制中心的角色,在未來(lái)必將成為電信運(yùn)營(yíng)商、互聯(lián)網(wǎng)企業(yè)以及一些核心家電廠商展開(kāi)市場(chǎng)角逐的重點(diǎn)。
參考文獻(xiàn)
[1]李偉強(qiáng).跨界合作實(shí)現(xiàn)智能家居產(chǎn)業(yè)鏈共贏[J].中國(guó)公共安全(綜合版),2012(20):70-72.
[2]李全虎.交互界面開(kāi)發(fā)工具-Qt[J].中國(guó)科技信息,2005(5):33.
[3]許歡.基于智能算法的適老化智能家居人機(jī)交互系統(tǒng)設(shè)計(jì)[J].自動(dòng)化與儀器儀表,2022(12):16-19.
[4]王博,曹嘉城,孫超,等.基于ARM控制器與Qt界面編輯的手機(jī)設(shè)計(jì)[J].科技風(fēng),2017(20):15.
[5]王玉山.C++程序設(shè)計(jì)語(yǔ)言的實(shí)踐教學(xué)建設(shè):以廣東外語(yǔ)外貿(mào)大學(xué)C++實(shí)踐教學(xué)建設(shè)為例[J].中小企業(yè)管理與科技,2017(1):103-104.
[6]岳駿,解乃軍.基于STM32的物聯(lián)網(wǎng)智能家居系統(tǒng)設(shè)計(jì)[J].工業(yè)儀表與自動(dòng)化裝置,2022(2):27-31.
[7]王曉輝,聶小華,常亮.基于Qt的專(zhuān)用有限元軟件GUI模塊的設(shè)計(jì)與開(kāi)發(fā)[J].計(jì)算機(jī)應(yīng)用與軟件,2020(1):21-26,65.
[8]吳連港.基于Qt的嵌入式水質(zhì)檢測(cè)系統(tǒng)界面軟件設(shè)計(jì)[J].農(nóng)業(yè)裝備與車(chē)輛工程,2021(11):140-142.
[9]李錦明,張志豪.基于Qt的大棚溫濕度監(jiān)控系統(tǒng)設(shè)計(jì)[J].電子測(cè)量技術(shù),2021(8):135-140.
[10]曾明輝,談宏華,邢栢豪,等.基于QT和智能網(wǎng)關(guān)的智能家居系統(tǒng)設(shè)計(jì)[J].自動(dòng)化與儀表,2021(10):28-32.
(編輯 王永超)
Design and implementation of smart home gateway control system based on Qt
WANG" Erfei
(Yangzhou Branch of Jiangsu Union Vocational and Technical College, Yangzhou 225003, China)
Abstract:" The gateway, as the core device of the smart home system, is of great importance in its design and implementation. This paper introduces the software hardware environment for the development of gateway software applications, and focuses on the effective solutions to the problems of GUI device status monitoring, serial port class design, and delay design of the main thread of GUI in the design of gateway software based on Qt. The gateway control system is designed based on Qt, which can realize the management functions such as registration, login, and password modification, and can control the household appliances separately and control the one-key scene mode. The software development is carried out according to the gateway design process and the system test and analysis are completed.
Key words: Qt; Internet of Things; smart home; gateway