孫浩文
(陜西國(guó)防工業(yè)職業(yè)技術(shù)學(xué)院, 西安 710300)
隨著科技的進(jìn)步,智能家居受到追捧,也改善著我們的生活質(zhì)量。在未來(lái)的發(fā)展前景中,智能家居的市場(chǎng)也會(huì)越來(lái)越廣闊。家居智能化通過(guò)家庭分布總線把住宅內(nèi)各種與信息相關(guān)的通信設(shè)備、家庭裝置并到網(wǎng)絡(luò)節(jié)點(diǎn)中進(jìn)行集中的監(jiān)控、管理,保持家居與環(huán)境的協(xié)調(diào),為生活、工作、學(xué)習(xí)提供優(yōu)質(zhì)服務(wù),創(chuàng)造一種智能舒適的家庭氛圍。因此,本文基于Android平臺(tái)基礎(chǔ)上對(duì)無(wú)線智能窗簾控制系統(tǒng)進(jìn)行設(shè)計(jì)。
Android 系統(tǒng)是建立在Linux 內(nèi)核系統(tǒng)之上的,該系統(tǒng)主要由5部分組成,分別是應(yīng)用程序?qū)印?yīng)用程序框架、函數(shù)庫(kù)、Android 運(yùn)行環(huán)境、linux 核心層[1]。Android數(shù)據(jù)存儲(chǔ)方式主要分為5種類型,分別是:1)文件存儲(chǔ):把文件存放在應(yīng)用程序自己的目錄內(nèi)的內(nèi)部存儲(chǔ)、訪問SD卡等外部設(shè)備的外部存儲(chǔ)以及訪問保存在資源目錄中的原始文件及XML文件;2)網(wǎng)絡(luò)存儲(chǔ):使用網(wǎng)絡(luò)訪問和獲取數(shù)據(jù)作為Android數(shù)據(jù)交互方式;3)內(nèi)容提供器:用來(lái)存儲(chǔ)和獲取數(shù)據(jù)并使這些數(shù)據(jù)可以被所有的應(yīng)用程序訪問;4)共享優(yōu)先存儲(chǔ):可以完全屏蔽對(duì)文件系統(tǒng)的操作過(guò)程;5)SQLite數(shù)據(jù)庫(kù)存儲(chǔ):是一種小型數(shù)據(jù)庫(kù),資源占用少,對(duì)底層操控能力強(qiáng)、存儲(chǔ)速度快、可靠性高。SQLite具有無(wú)配置,源代碼開放等特點(diǎn),在Android平臺(tái)的移動(dòng)設(shè)備中應(yīng)用廣泛,數(shù)據(jù)交互方式也是最有效的。綜合上述對(duì)比,本文選用SQLite作為智能窗簾終端軟件的數(shù)據(jù)存儲(chǔ)方式。SQLite的內(nèi)部結(jié)構(gòu),如圖1所示。

圖1 SQLite 的內(nèi)部結(jié)構(gòu)
Android網(wǎng)絡(luò)通信方式主要有兩種Socket和Http。Http通信則主要以“請(qǐng)求—響應(yīng)”的連接方式為主,在對(duì)連接進(jìn)行請(qǐng)求的同時(shí)建立起連接通道,然后通過(guò)服務(wù)器將數(shù)據(jù)反饋到客戶端。Socket通信是服務(wù)器向客戶端傳送數(shù)據(jù)。在本文智能窗簾的設(shè)計(jì)中,智能家居不需要高傳輸效率,命令數(shù)據(jù)的完整性與安全性的要求較高,鑒于智能家居控制軟件通信功能實(shí)現(xiàn)選擇基于TCP的Socket通信機(jī)制。
WiFi是改善無(wú)線網(wǎng)路產(chǎn)品之間的互通性的高頻無(wú)線信號(hào),通過(guò)無(wú)線的方式連接電腦、手持設(shè)備等終端設(shè)備,用戶可以通過(guò)Wi-Fi技術(shù)隨時(shí)隨地訪問互聯(lián)網(wǎng),不必受有線網(wǎng)的限制,WiFi技術(shù)具有覆蓋范圍廣、速度較快、可靠性高、不需要排線、健康安全的特點(diǎn),所以將其用到無(wú)線智能窗簾控制系統(tǒng)設(shè)計(jì)中。WIFI 模塊常用以下3種模式:1) 透明傳輸模式,通過(guò)該模式可以使網(wǎng)絡(luò)與串口模塊之間的數(shù)據(jù)進(jìn)行隨意傳送;2) 串口指令模式,用戶可以將自身制動(dòng)的協(xié)議格式相不同的服務(wù)器發(fā)放,在此過(guò)程中無(wú)需重新啟動(dòng);3) GPIO模式,用戶通過(guò)協(xié)議指令的發(fā)送來(lái)對(duì)CTS、RTS、TXD、RXD、nLink、nReady 6個(gè)引腳進(jìn)行控制。結(jié)合以上3種模式,該系統(tǒng)的設(shè)計(jì)選用Wi-Fi 技術(shù)的透明模式作為無(wú)線通信技術(shù)對(duì)數(shù)據(jù)進(jìn)行傳輸,這種模式比較符合設(shè)計(jì)需求,能夠降低設(shè)計(jì)的復(fù)雜度[2]。
無(wú)線智能窗簾的設(shè)計(jì)主要性能需求是提高人們的生活質(zhì)量,為家庭打造更便捷、舒適的生活環(huán)境,讓其更加人性化的為家庭提供服務(wù)。所以,智能窗簾控制系統(tǒng)的設(shè)計(jì)應(yīng)該保持先進(jìn)性、持久性、成本小、價(jià)格低廉的特點(diǎn),使普通家庭也能享受高科技帶來(lái)的便捷。用戶可以直接通過(guò)手機(jī)來(lái)查看無(wú)線智能窗簾的功能,對(duì)該系統(tǒng)進(jìn)行遠(yuǎn)程控制,對(duì)智能窗簾的工作狀態(tài)進(jìn)行設(shè)置,各項(xiàng)操作均可以通過(guò)手機(jī)端來(lái)發(fā)送指令,通過(guò)服務(wù)器傳送到無(wú)線通信模塊,再變成物理動(dòng)作通過(guò)無(wú)線模塊上傳至云服務(wù)器,最后通過(guò)手機(jī)端來(lái)顯示更新后的窗簾的工作狀態(tài)。該設(shè)計(jì)系統(tǒng)巧妙地利用當(dāng)下先進(jìn)的物聯(lián)網(wǎng)技術(shù),對(duì)智能窗簾終端軟件通過(guò)Android平臺(tái)進(jìn)行控制,使系統(tǒng)更加直觀簡(jiǎn)潔,滿足用戶個(gè)性化的體驗(yàn)需求。
在對(duì)市場(chǎng)智能家居產(chǎn)品調(diào)研的基礎(chǔ)上對(duì)智能窗簾控制系統(tǒng)的研發(fā)技術(shù)、Android平臺(tái)技術(shù)和無(wú)線通信技術(shù)進(jìn)行分析。本文設(shè)計(jì)架構(gòu)主要由Android平臺(tái)控制軟件、控制網(wǎng)關(guān)構(gòu)成。首先對(duì)Android客戶端控制軟件進(jìn)行設(shè)計(jì),包括用戶登錄界面,系統(tǒng)通信功能以及SQLite 數(shù)據(jù)庫(kù)構(gòu)建。用戶可以通過(guò)終端控制軟件的操作來(lái)進(jìn)行與窗簾的交互,發(fā)送命令控制設(shè)備。控制網(wǎng)關(guān)主要負(fù)責(zé)對(duì)數(shù)據(jù)的接收與發(fā)送。Android智能手持設(shè)備一般都能夠連接無(wú)線WiFi,以無(wú)線傳輸?shù)姆绞脚c智能終端進(jìn)行數(shù)據(jù)交互。Android平臺(tái)終端軟件向控制網(wǎng)關(guān)發(fā)送控制命令同樣使用無(wú)線傳輸技術(shù)。在控制網(wǎng)關(guān)上會(huì)有一個(gè)相應(yīng)的無(wú)線發(fā)射模塊與窗簾模塊相連,完成控制網(wǎng)關(guān)和窗簾之間的數(shù)據(jù)連接。控制網(wǎng)關(guān)與窗簾通過(guò)433M無(wú)線射頻模塊實(shí)現(xiàn)連接。數(shù)據(jù)通過(guò)這些無(wú)線收發(fā)模塊便可以在終端控制軟件和控制網(wǎng)關(guān)、控制網(wǎng)關(guān)和窗簾嵌入模塊子節(jié)點(diǎn)之間進(jìn)行通信和信息交互。綜上所述,智能窗簾控制系統(tǒng)結(jié)構(gòu)框圖,如圖2所示。

圖2 智能窗簾控制系統(tǒng)結(jié)構(gòu)框圖
在智能窗簾軟件系統(tǒng)使用之前需要對(duì)身份登錄界面進(jìn)行設(shè)置,確保用戶居住環(huán)境的隱私性和安全性。打開軟件后,無(wú)賬號(hào)和密碼的用戶必須先完成注冊(cè),然后輸入正確的賬號(hào)和密碼,可以選擇記住密碼,若輸入正確進(jìn)入到智能家居軟件主控制界面,否則重新輸入。登錄界程序設(shè)計(jì)流程圖,如圖3所示。

圖3 登錄界程序設(shè)計(jì)流程圖
當(dāng)用戶打開軟件后,啟動(dòng)Android 應(yīng)用程序,登陸到系統(tǒng)界面,開始對(duì)智能窗簾進(jìn)行控制與設(shè)置。首先看到的是智能窗簾的具體控制模塊圖標(biāo),用戶點(diǎn)擊即可進(jìn)入控制子界面,并且可以查看本機(jī)網(wǎng)絡(luò)[3]。主界面程序設(shè)計(jì)流程圖,如圖4所示。

圖4 主界面程序設(shè)計(jì)流程圖
3.2.1 窗簾控制界面
智能窗簾模塊控制界面如圖所示,有“開”和“關(guān)”兩個(gè)按鈕,窗簾圖案、場(chǎng)景選擇框,還可以對(duì)終端軟件連接的目標(biāo)IP地址、監(jiān)聽端口號(hào)進(jìn)行設(shè)置,進(jìn)一步提升軟件的廣泛性和持久性。窗簾控制界面,如圖5所示。

圖5 窗簾控制界面
3.2.2 窗簾控制模塊系統(tǒng)設(shè)計(jì)
首先用戶通過(guò)互聯(lián)網(wǎng)對(duì)登陸賬號(hào)與密碼進(jìn)行設(shè)置,登錄時(shí)輸入正確的用戶名與密碼,對(duì)窗簾進(jìn)行監(jiān)控和設(shè)置。其次用戶通過(guò)手機(jī)能夠遠(yuǎn)程監(jiān)測(cè)管理到家中窗簾工作狀態(tài),并對(duì)其進(jìn)行相應(yīng)的開關(guān)控制,而且用戶可以對(duì)房間及其中相應(yīng)的窗簾場(chǎng)景模式進(jìn)行添加。同時(shí)也提供自定義模式的功能,用戶可以對(duì)已有的模式進(jìn)行更改也可以增添新的模式,通過(guò)模式配置界面對(duì)模式進(jìn)行確定然后發(fā)送指令,將返回的數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)中[4]。
該模塊主要是為了實(shí)現(xiàn)Android終端軟件與窗簾通信的中間模塊。智能手持設(shè)備終端是控制網(wǎng)關(guān)來(lái)實(shí)現(xiàn)和窗簾的信息交互,智能手持設(shè)備不能直接控制窗簾,如果要對(duì)窗簾進(jìn)行控制,必須和控制關(guān)通信,通過(guò)家庭網(wǎng)關(guān)來(lái)和窗簾連接進(jìn)行信息交互。智能手持設(shè)備終端通過(guò)無(wú)線網(wǎng)絡(luò)與智能網(wǎng)關(guān)之間建立通信,在控制網(wǎng)關(guān)中會(huì)包括WIFI模塊用來(lái)實(shí)現(xiàn)與控制終端的連接。窗簾嵌入硬件模塊主要通過(guò)433M模塊來(lái)對(duì)控制網(wǎng)關(guān)發(fā)送的命令進(jìn)行接收,所以控制網(wǎng)關(guān)也會(huì)包含有433M無(wú)線射頻模塊,通過(guò)串口使兩個(gè)模塊之間連接然后進(jìn)行通信,由此完成無(wú)線智能窗簾控制系統(tǒng)命令的接收和轉(zhuǎn)發(fā)功能。
軟件測(cè)試主要針對(duì)的是基于Android平臺(tái)的登錄軟件及各個(gè)模塊的測(cè)試與實(shí)驗(yàn),軟件的測(cè)試在整個(gè)系統(tǒng)中占據(jù)重要作用[4]。本次測(cè)試對(duì)系統(tǒng)進(jìn)行了24小時(shí)的連續(xù)開機(jī),檢驗(yàn)系統(tǒng)工作狀態(tài)是否滿足需求分析。測(cè)試表明系統(tǒng)具有較好的穩(wěn)定性和可靠性,各項(xiàng)指標(biāo)均符合。測(cè)試結(jié)果,如表1所示。

表1 測(cè)試結(jié)果圖
經(jīng)過(guò)測(cè)試分析該系統(tǒng)具有如下優(yōu)點(diǎn):1) 網(wǎng)絡(luò)通信技術(shù)方案選擇WiFi技術(shù),操作簡(jiǎn)便、價(jià)格低廉、應(yīng)用范圍廣;2) 基于Android平臺(tái)設(shè)計(jì)該系統(tǒng)可以保證源代碼公開、拓展性好、遷移性好、功能強(qiáng)大;3) 無(wú)線智能窗簾市場(chǎng)發(fā)展前景好,可以帶動(dòng)智能家居行業(yè)迅速發(fā)展,用戶群體廣泛,應(yīng)用市場(chǎng)寬闊[5]。
本文以無(wú)線智能窗簾作為研究背景,并結(jié)合物聯(lián)網(wǎng)在生活領(lǐng)域發(fā)展的實(shí)際情況,對(duì)基于Android平臺(tái)的無(wú)線智能窗簾控制系統(tǒng)進(jìn)行設(shè)計(jì)與研究,主要對(duì)Android平臺(tái)控制軟件進(jìn)行開發(fā),實(shí)現(xiàn)了對(duì)家庭控制網(wǎng)關(guān)的設(shè)計(jì)。首先從項(xiàng)目背景與市場(chǎng)需求方面入手,對(duì)市面上已有的智能家居產(chǎn)品設(shè)計(jì)理念進(jìn)行分析,在此基礎(chǔ)上對(duì)智能窗簾涉及的關(guān)鍵技術(shù)進(jìn)行研究,最終得出智能家居控制系統(tǒng)的整體設(shè)計(jì)方案;然后設(shè)計(jì)了簡(jiǎn)潔的用戶交互界面,實(shí)現(xiàn)了控制軟件與控制網(wǎng)關(guān)通信功能;最后完成了整個(gè)基于Android的無(wú)線智能窗簾控制系統(tǒng)的設(shè)計(jì)。本文設(shè)計(jì)方案合理實(shí)用,達(dá)到了預(yù)期的設(shè)計(jì)目標(biāo),具有較高的研發(fā)價(jià)值。