李宏煜
(江蘇無(wú)線電廠有限公司,江蘇 南京 210012)
基于ARM的智能家居控制系統(tǒng)開發(fā)及實(shí)現(xiàn)
李宏煜
(江蘇無(wú)線電廠有限公司,江蘇 南京 210012)
文章首先對(duì)基于ARM的智能家居控制系統(tǒng)的總體開發(fā)方案進(jìn)行了介紹,隨后分析了ARM控制器平臺(tái)的搭建,在此基礎(chǔ)上論述了系統(tǒng)應(yīng)用層的設(shè)計(jì)與實(shí)現(xiàn)。期望通過(guò)該研究能對(duì)智能家居控制水平的提升有所幫助。
智能家居;ARM;控制系統(tǒng)
現(xiàn)如今,智能家居已經(jīng)成為一種流行趨勢(shì),它的出現(xiàn)為人們的日常生活提供了極大的便利。為進(jìn)一步提升智能家居的控制水平,本文基于ARM控制器,開發(fā)一套智能家居控制系統(tǒng)。該系統(tǒng)由ARM,ZigBee無(wú)線組網(wǎng)及末端控制設(shè)備組成,基本框架結(jié)構(gòu)如圖1所示。

圖1 智能家居系統(tǒng)框架結(jié)構(gòu)示意
由圖1可以清楚地看出,系統(tǒng)采用了嵌入式Web服務(wù)器,將家居的節(jié)點(diǎn)網(wǎng)絡(luò)與外部的互聯(lián)網(wǎng)進(jìn)行連接,同時(shí),為了使相關(guān)的數(shù)據(jù)信息能夠得到永久性的保存,Web服務(wù)器可以通過(guò)互聯(lián)網(wǎng)與云服務(wù)器之間進(jìn)行信息交互。家居的所有信息科節(jié)點(diǎn)網(wǎng)絡(luò)上傳給云服務(wù)器,遠(yuǎn)程控制設(shè)備能夠通過(guò)網(wǎng)絡(luò)對(duì)云服務(wù)器進(jìn)行訪問(wèn),由此可實(shí)現(xiàn)用戶與家居信息的傳遞與共享。
本系統(tǒng)在開發(fā)的過(guò)程中,應(yīng)用了無(wú)線感知節(jié)點(diǎn)網(wǎng)絡(luò),它的實(shí)質(zhì)是一個(gè)傳感器網(wǎng)絡(luò),運(yùn)用該節(jié)點(diǎn)網(wǎng)絡(luò)的主要目的是通過(guò)它來(lái)實(shí)現(xiàn)信息采集、安防報(bào)警、設(shè)備控制等功能,其中信息采集是對(duì)家居環(huán)境的相關(guān)信息進(jìn)行收集,據(jù)此對(duì)該環(huán)境內(nèi)的溫濕度等參數(shù)進(jìn)行監(jiān)控;安防報(bào)警能夠在有陌生人進(jìn)入室內(nèi)或是發(fā)生火災(zāi)等情況時(shí),門禁與煙霧傳感器會(huì)將報(bào)警信息經(jīng)由嵌入式網(wǎng)關(guān)傳給云服務(wù)器;設(shè)備控制是借助家用電器上的控制模塊,利用節(jié)點(diǎn)網(wǎng)絡(luò)傳遞的相關(guān)控制指令對(duì)室內(nèi)的家用電器進(jìn)行遠(yuǎn)程控制[1]。該系統(tǒng)中的控制設(shè)備包括智能水機(jī)、平板電腦以及臺(tái)式機(jī)等,其能夠?yàn)橛脩襞c家居環(huán)境之間的信息交互提供一個(gè)良好的平臺(tái),借助控制設(shè)備用戶可以利用無(wú)線網(wǎng)絡(luò)獲取家居環(huán)境的有關(guān)信息,并對(duì)家電等設(shè)備進(jìn)行實(shí)時(shí)監(jiān)視和控制。
鑒于當(dāng)前B/S架構(gòu)和安卓操作系統(tǒng)已經(jīng)逐步成為主流趨勢(shì),故此,在對(duì)系統(tǒng)進(jìn)行設(shè)計(jì)開發(fā)的過(guò)程中,移植了嵌入式Web服務(wù)器,并開發(fā)以安卓為操作系統(tǒng)的客戶端軟件。
在本次開發(fā)的系統(tǒng)當(dāng)中,嵌入式Web服務(wù)器是一個(gè)WebServer系統(tǒng),通過(guò)Web瀏覽器,任意的計(jì)算機(jī)或是智能手機(jī)均可以登錄嵌入式Web服務(wù)器,再利用相關(guān)的指令,便可實(shí)現(xiàn)對(duì)室內(nèi)家居設(shè)備的有效控制[2]。傳感器會(huì)將采集到的數(shù)據(jù)按照預(yù)先設(shè)定好的時(shí)間進(jìn)行上報(bào),從而實(shí)現(xiàn)了對(duì)家居設(shè)備關(guān)鍵運(yùn)行參數(shù)的監(jiān)測(cè)。由于本系統(tǒng)是基于ARM控制器進(jìn)行設(shè)計(jì)開發(fā)的,故此,需要搭建起一個(gè)相對(duì)完善的ARM控制器平臺(tái),對(duì)該平臺(tái)的搭建可以分為兩個(gè)部分進(jìn)行,一部分是硬件,另一部分軟件[3]。
2.1 ARM硬件的開發(fā)
通過(guò)市場(chǎng)調(diào)查,并從經(jīng)濟(jì)性和技術(shù)性兩方面進(jìn)行綜合考慮,最終決定選用韓國(guó)三星電子公司的S5PV210開發(fā)板作為核心平臺(tái)。由于本次設(shè)計(jì)開發(fā)只對(duì)板上的部分接口進(jìn)行了使用,為對(duì)系統(tǒng)進(jìn)行精簡(jiǎn),將其余沒(méi)有使用的接口全部剪裁掉。由此可以為批量制作節(jié)省成本,并且開發(fā)板的體積也隨之縮小,這樣的設(shè)計(jì)使整個(gè)系統(tǒng)更加精簡(jiǎn)便捷,與節(jié)能降耗的要求相符。圖2是經(jīng)過(guò)剪裁之后的開發(fā)板電路結(jié)構(gòu)框架示意圖。

圖2 開發(fā)板剪裁后的電路結(jié)構(gòu)示意
2.2 構(gòu)建Linux開發(fā)環(huán)境
如果整個(gè)系統(tǒng)的開發(fā)過(guò)程全部在嵌入式硬件平臺(tái)上進(jìn)行,則會(huì)導(dǎo)致系統(tǒng)變得過(guò)于龐大,為避免這一情況的發(fā)生,可在PC機(jī)上進(jìn)行開發(fā)編譯,然后將編譯好的文件直接移植到開發(fā)板嵌入式系統(tǒng)當(dāng)中運(yùn)行即可,這種開發(fā)方式被業(yè)界稱之為交叉開發(fā)模式,是一種實(shí)用性較強(qiáng)的系統(tǒng)硬件開發(fā)方法。需要在計(jì)算機(jī)上建立起交叉編譯所需的環(huán)境,即嵌入式Linux開發(fā)環(huán)境,為提高可操作性,選擇在Windows7操作系統(tǒng)下安裝虛擬機(jī)的方法,借助虛擬機(jī),能夠在一臺(tái)x86架構(gòu)的PC機(jī)上,運(yùn)行多個(gè)不同版本的操作系統(tǒng)。
2.3 建立嵌入式Web服務(wù)器
嵌入式Web服務(wù)器是本系統(tǒng)的核心組成部分之一,它能夠?qū)崿F(xiàn)雙向通信和遠(yuǎn)程控制,客戶端與室內(nèi)家居設(shè)備的連接也可由該服務(wù)器來(lái)完成,最為重要的是,其可以實(shí)現(xiàn)室內(nèi)外網(wǎng)絡(luò)的互聯(lián)互通。本次設(shè)計(jì)中選用的嵌入式Web服務(wù)器主要是由以下3個(gè)部分構(gòu)成:Boa,CGI和SQLite。在Unix系統(tǒng)當(dāng)中,該服務(wù)器是以小型開源軟件的形式運(yùn)行的,CGI作為該服務(wù)器的主要應(yīng)用程序之一,它提供了一個(gè)通信標(biāo)準(zhǔn),利用網(wǎng)關(guān)程序中內(nèi)嵌的SQL語(yǔ)句,可實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)與操作。圖3為嵌入式Web的開發(fā)流程。

圖3 嵌入式Web的開發(fā)流程示意
2.4 ZigBee無(wú)線網(wǎng)絡(luò)的組建
國(guó)際ZigBee聯(lián)盟協(xié)會(huì)針對(duì)ZigBee無(wú)線網(wǎng)絡(luò)通信發(fā)布了一個(gè)免費(fèi)的協(xié)議棧,即Z-Stack2007,該協(xié)議支持多個(gè)硬件平臺(tái),與ZigBee2007協(xié)議標(biāo)準(zhǔn)相符,TI公司的CC2530和MP430均支持該標(biāo)準(zhǔn),其在ZigBee無(wú)線網(wǎng)絡(luò)中的作用是其他協(xié)議無(wú)法替代的,在該協(xié)議中涵蓋了絕大部分的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。
本文所提出的系統(tǒng)主要是對(duì)智能家居進(jìn)行有效的控制,因此系統(tǒng)應(yīng)用層的設(shè)計(jì)與實(shí)現(xiàn),是整個(gè)系統(tǒng)開發(fā)的重點(diǎn)環(huán)節(jié)。在系統(tǒng)設(shè)計(jì)過(guò)程中,可以利用PC機(jī)或是安卓系統(tǒng)的智能手機(jī)作為控制設(shè)備,借助Web瀏覽器及安卓客戶端,對(duì)系統(tǒng)進(jìn)行控制。
3.1 Web遠(yuǎn)控的設(shè)計(jì)與實(shí)現(xiàn)
在完成Cgic庫(kù)的移植后,便可開始著手對(duì)CGI程序進(jìn)行設(shè)計(jì),整個(gè)設(shè)計(jì)過(guò)程分為以下3個(gè)部分:
(1)登錄與授權(quán)。用戶的登錄賬號(hào)與密碼可以全部存儲(chǔ)到日志當(dāng)中,用戶在登錄系統(tǒng)時(shí),通過(guò)對(duì)一個(gè)CGI程序的調(diào)用,系統(tǒng)會(huì)對(duì)用戶輸入的信息與日志中存儲(chǔ)的信息進(jìn)行對(duì)比,確認(rèn)相同后,用戶便可成功登錄,并進(jìn)入操作主界面。
(2)控制部分。該部分的主要功能使對(duì)室內(nèi)家居設(shè)備進(jìn)行開關(guān)控制,以室內(nèi)的智能燈具為例,在安裝驅(qū)動(dòng)的前提下,可通過(guò)相關(guān)函數(shù)獲取燈的實(shí)際狀態(tài),點(diǎn)擊狀態(tài)按鈕,可以改變燈的狀態(tài),即開啟或是關(guān)閉。
(3)顯示部分。該部分主要負(fù)責(zé)對(duì)各類傳感器進(jìn)行讀值,驅(qū)動(dòng)安裝完畢后,通過(guò)相關(guān)函數(shù)可以獲取室內(nèi)的實(shí)時(shí)溫濕度,當(dāng)溫濕度超過(guò)報(bào)警限值后,蜂鳴器會(huì)自動(dòng)響應(yīng)。
3.2 安卓客戶端的設(shè)計(jì)與實(shí)現(xiàn)
安卓客戶端界面的實(shí)現(xiàn)方法有以下3種:第一種方法是借助用戶代碼形成,第二種方法是通過(guò)用過(guò)戶接口實(shí)現(xiàn),第三種方法是利用XML配置來(lái)構(gòu)成。本次系統(tǒng)開發(fā)在安卓客戶端界面的實(shí)現(xiàn)上采用的是第一種方法,即以用戶代碼來(lái)實(shí)現(xiàn)。
綜上所述,本文開發(fā)的這套系統(tǒng)設(shè)計(jì)完成后進(jìn)行了試應(yīng)用,結(jié)果顯示,通過(guò)該系統(tǒng)能夠?qū)χ悄芗揖舆M(jìn)行有效的控制。在未來(lái)一段時(shí)期,應(yīng)當(dāng)將工作的重點(diǎn)放在系統(tǒng)功能的完善上,從而使系統(tǒng)的運(yùn)行更加穩(wěn)定,這對(duì)于該系統(tǒng)的推廣應(yīng)用具有重要意義。
[1]熊瓊.基于ARM Cortex-A8與Android平臺(tái)的智能家居系統(tǒng)設(shè)計(jì)[D].太原:太原理工大學(xué),2014.
[2]羅浩.基于ARM和無(wú)線射頻技術(shù)的智能家居控制系統(tǒng)設(shè)計(jì)[D].南昌:南昌大學(xué),2015.
[3]馮劍鋒.基于ARM與ZigBee技術(shù)的智能家居系統(tǒng)設(shè)計(jì)[D].吉林:吉林大學(xué),2014.
Development and implementation of intelligent home control system based on ARM
Li Hongyu
(Jiangsu Radio Power Plant Co., Ltd., Nanjing 210012, China)
This paper first introduced overall development plan of intelligent home control system based on ARM, then analyzed the structures of the ARM controller platform, discussing the design and implementation of application layer system, aiming at improving the level of intelligent home control through this study.
intelligent home; ARM; control system
李宏煜(1988— ),男,江蘇高郵,本科,助理工程師;研究方向:基于ARM的產(chǎn)品開發(fā)及應(yīng)用。