李宏煜
(江蘇無線電廠有限公司,江蘇 南京 210012)
基于ARM的智能家居控制系統(tǒng)開發(fā)及實(shí)現(xiàn)
李宏煜
(江蘇無線電廠有限公司,江蘇 南京 210012)
文章首先對基于ARM的智能家居控制系統(tǒng)的總體開發(fā)方案進(jìn)行了介紹,隨后分析了ARM控制器平臺的搭建,在此基礎(chǔ)上論述了系統(tǒng)應(yīng)用層的設(shè)計(jì)與實(shí)現(xiàn)。期望通過該研究能對智能家居控制水平的提升有所幫助。
智能家居;ARM;控制系統(tǒng)
現(xiàn)如今,智能家居已經(jīng)成為一種流行趨勢,它的出現(xiàn)為人們的日常生活提供了極大的便利。為進(jìn)一步提升智能家居的控制水平,本文基于ARM控制器,開發(fā)一套智能家居控制系統(tǒng)。該系統(tǒng)由ARM,ZigBee無線組網(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)行連接,同時,為了使相關(guān)的數(shù)據(jù)信息能夠得到永久性的保存,Web服務(wù)器可以通過互聯(lián)網(wǎng)與云服務(wù)器之間進(jìn)行信息交互。家居的所有信息科節(jié)點(diǎn)網(wǎng)絡(luò)上傳給云服務(wù)器,遠(yuǎn)程控制設(shè)備能夠通過網(wǎng)絡(luò)對云服務(wù)器進(jìn)行訪問,由此可實(shí)現(xiàn)用戶與家居信息的傳遞與共享。
本系統(tǒng)在開發(fā)的過程中,應(yīng)用了無線感知節(jié)點(diǎn)網(wǎng)絡(luò),它的實(shí)質(zhì)是一個傳感器網(wǎng)絡(luò),運(yùn)用該節(jié)點(diǎn)網(wǎng)絡(luò)的主要目的是通過它來實(shí)現(xiàn)信息采集、安防報警、設(shè)備控制等功能,其中信息采集是對家居環(huán)境的相關(guān)信息進(jìn)行收集,據(jù)此對該環(huán)境內(nèi)的溫濕度等參數(shù)進(jìn)行監(jiān)控;安防報警能夠在有陌生人進(jìn)入室內(nèi)或是發(fā)生火災(zāi)等情況時,門禁與煙霧傳感器會將報警信息經(jīng)由嵌入式網(wǎng)關(guān)傳給云服務(wù)器;設(shè)備控制是借助家用電器上的控制模塊,利用節(jié)點(diǎn)網(wǎng)絡(luò)傳遞的相關(guān)控制指令對室內(nèi)的家用電器進(jìn)行遠(yuǎn)程控制[1]。該系統(tǒng)中的控制設(shè)備包括智能水機(jī)、平板電腦以及臺式機(jī)等,其能夠?yàn)橛脩襞c家居環(huán)境之間的信息交互提供一個良好的平臺,借助控制設(shè)備用戶可以利用無線網(wǎng)絡(luò)獲取家居環(huán)境的有關(guān)信息,并對家電等設(shè)備進(jìn)行實(shí)時監(jiān)視和控制。
鑒于當(dāng)前B/S架構(gòu)和安卓操作系統(tǒng)已經(jīng)逐步成為主流趨勢,故此,在對系統(tǒng)進(jìn)行設(shè)計(jì)開發(fā)的過程中,移植了嵌入式Web服務(wù)器,并開發(fā)以安卓為操作系統(tǒng)的客戶端軟件。
在本次開發(fā)的系統(tǒng)當(dāng)中,嵌入式Web服務(wù)器是一個WebServer系統(tǒng),通過Web瀏覽器,任意的計(jì)算機(jī)或是智能手機(jī)均可以登錄嵌入式Web服務(wù)器,再利用相關(guān)的指令,便可實(shí)現(xiàn)對室內(nèi)家居設(shè)備的有效控制[2]。傳感器會將采集到的數(shù)據(jù)按照預(yù)先設(shè)定好的時間進(jìn)行上報,從而實(shí)現(xiàn)了對家居設(shè)備關(guān)鍵運(yùn)行參數(shù)的監(jiān)測。由于本系統(tǒng)是基于ARM控制器進(jìn)行設(shè)計(jì)開發(fā)的,故此,需要搭建起一個相對完善的ARM控制器平臺,對該平臺的搭建可以分為兩個部分進(jìn)行,一部分是硬件,另一部分軟件[3]。
2.1 ARM硬件的開發(fā)
通過市場調(diào)查,并從經(jīng)濟(jì)性和技術(shù)性兩方面進(jìn)行綜合考慮,最終決定選用韓國三星電子公司的S5PV210開發(fā)板作為核心平臺。由于本次設(shè)計(jì)開發(fā)只對板上的部分接口進(jìn)行了使用,為對系統(tǒng)進(jìn)行精簡,將其余沒有使用的接口全部剪裁掉。由此可以為批量制作節(jié)省成本,并且開發(fā)板的體積也隨之縮小,這樣的設(shè)計(jì)使整個系統(tǒng)更加精簡便捷,與節(jié)能降耗的要求相符。圖2是經(jīng)過剪裁之后的開發(fā)板電路結(jié)構(gòu)框架示意圖。
圖2 開發(fā)板剪裁后的電路結(jié)構(gòu)示意
2.2 構(gòu)建Linux開發(fā)環(huán)境
如果整個系統(tǒng)的開發(fā)過程全部在嵌入式硬件平臺上進(jìn)行,則會導(dǎo)致系統(tǒng)變得過于龐大,為避免這一情況的發(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ī),能夠在一臺x86架構(gòu)的PC機(jī)上,運(yùn)行多個不同版本的操作系統(tǒng)。
2.3 建立嵌入式Web服務(wù)器
嵌入式Web服務(wù)器是本系統(tǒng)的核心組成部分之一,它能夠?qū)崿F(xiàn)雙向通信和遠(yuǎn)程控制,客戶端與室內(nèi)家居設(shè)備的連接也可由該服務(wù)器來完成,最為重要的是,其可以實(shí)現(xiàn)室內(nèi)外網(wǎng)絡(luò)的互聯(lián)互通。本次設(shè)計(jì)中選用的嵌入式Web服務(wù)器主要是由以下3個部分構(gòu)成:Boa,CGI和SQLite。在Unix系統(tǒng)當(dāng)中,該服務(wù)器是以小型開源軟件的形式運(yùn)行的,CGI作為該服務(wù)器的主要應(yīng)用程序之一,它提供了一個通信標(biāo)準(zhǔn),利用網(wǎng)關(guān)程序中內(nèi)嵌的SQL語句,可實(shí)現(xiàn)對數(shù)據(jù)庫的訪問與操作。圖3為嵌入式Web的開發(fā)流程。
圖3 嵌入式Web的開發(fā)流程示意
2.4 ZigBee無線網(wǎng)絡(luò)的組建
國際ZigBee聯(lián)盟協(xié)會針對ZigBee無線網(wǎng)絡(luò)通信發(fā)布了一個免費(fèi)的協(xié)議棧,即Z-Stack2007,該協(xié)議支持多個硬件平臺,與ZigBee2007協(xié)議標(biāo)準(zhǔn)相符,TI公司的CC2530和MP430均支持該標(biāo)準(zhǔn),其在ZigBee無線網(wǎng)絡(luò)中的作用是其他協(xié)議無法替代的,在該協(xié)議中涵蓋了絕大部分的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。
本文所提出的系統(tǒng)主要是對智能家居進(jìn)行有效的控制,因此系統(tǒng)應(yīng)用層的設(shè)計(jì)與實(shí)現(xiàn),是整個系統(tǒng)開發(fā)的重點(diǎn)環(huán)節(jié)。在系統(tǒng)設(shè)計(jì)過程中,可以利用PC機(jī)或是安卓系統(tǒng)的智能手機(jī)作為控制設(shè)備,借助Web瀏覽器及安卓客戶端,對系統(tǒng)進(jìn)行控制。
3.1 Web遠(yuǎn)控的設(shè)計(jì)與實(shí)現(xiàn)
在完成Cgic庫的移植后,便可開始著手對CGI程序進(jìn)行設(shè)計(jì),整個設(shè)計(jì)過程分為以下3個部分:
(1)登錄與授權(quán)。用戶的登錄賬號與密碼可以全部存儲到日志當(dāng)中,用戶在登錄系統(tǒng)時,通過對一個CGI程序的調(diào)用,系統(tǒng)會對用戶輸入的信息與日志中存儲的信息進(jìn)行對比,確認(rèn)相同后,用戶便可成功登錄,并進(jìn)入操作主界面。
(2)控制部分。該部分的主要功能使對室內(nèi)家居設(shè)備進(jìn)行開關(guān)控制,以室內(nèi)的智能燈具為例,在安裝驅(qū)動的前提下,可通過相關(guān)函數(shù)獲取燈的實(shí)際狀態(tài),點(diǎn)擊狀態(tài)按鈕,可以改變燈的狀態(tài),即開啟或是關(guān)閉。
(3)顯示部分。該部分主要負(fù)責(zé)對各類傳感器進(jìn)行讀值,驅(qū)動安裝完畢后,通過相關(guān)函數(shù)可以獲取室內(nèi)的實(shí)時溫濕度,當(dāng)溫濕度超過報警限值后,蜂鳴器會自動響應(yīng)。
3.2 安卓客戶端的設(shè)計(jì)與實(shí)現(xiàn)
安卓客戶端界面的實(shí)現(xiàn)方法有以下3種:第一種方法是借助用戶代碼形成,第二種方法是通過用過戶接口實(shí)現(xiàn),第三種方法是利用XML配置來構(gòu)成。本次系統(tǒng)開發(fā)在安卓客戶端界面的實(shí)現(xiàn)上采用的是第一種方法,即以用戶代碼來實(shí)現(xiàn)。
綜上所述,本文開發(fā)的這套系統(tǒng)設(shè)計(jì)完成后進(jìn)行了試應(yīng)用,結(jié)果顯示,通過該系統(tǒng)能夠?qū)χ悄芗揖舆M(jìn)行有效的控制。在未來一段時期,應(yīng)當(dāng)將工作的重點(diǎn)放在系統(tǒng)功能的完善上,從而使系統(tǒng)的運(yùn)行更加穩(wěn)定,這對于該系統(tǒng)的推廣應(yīng)用具有重要意義。
[1]熊瓊.基于ARM Cortex-A8與Android平臺的智能家居系統(tǒng)設(shè)計(jì)[D].太原:太原理工大學(xué),2014.
[2]羅浩.基于ARM和無線射頻技術(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)用。