基于ARM的智能家居控制通信控制站的設(shè)計(jì)與實(shí)現(xiàn)
摘要:設(shè)計(jì)一個基于嵌入式Linux的智能家居系統(tǒng),核心為嵌入式Linux系統(tǒng),硬件平臺為ARM S3C2440,系統(tǒng)主要由GSM模塊SIM900A、DS18 B20、QM-2氣體傳感器、DHT11濕度傳感器、光敏傳感器、帶觸摸屏的LCD模塊等構(gòu)成。系統(tǒng)初始化正常工作后,定時采集傳感器數(shù)據(jù),若采集數(shù)據(jù)出現(xiàn)異常,則對室內(nèi)的相應(yīng)設(shè)備進(jìn)行控制使其達(dá)到指定指標(biāo),并將所得數(shù)據(jù)選擇性通過GSM發(fā)送或者報警達(dá)到有效控制室內(nèi)設(shè)備的目的,也可通過短信方式控制室內(nèi)設(shè)備運(yùn)作。實(shí)物實(shí)驗(yàn)證明本系統(tǒng)運(yùn)行穩(wěn)定,符合設(shè)計(jì)要求。
關(guān)鍵詞:智能家居;ARM9;Linux;GSM模塊
0 引言
物體信息化是現(xiàn)代社會信息化建設(shè)的“催化劑”和“增倍器”。只有走集成整合信息技術(shù)以及信息數(shù)據(jù)之路,企業(yè)的信息化建設(shè)才能真正發(fā)揮作用,才能進(jìn)一步推動信息建設(shè)上水平?,F(xiàn)代物體信息化的發(fā)展,直接刺激了新生事物的生長,物聯(lián)網(wǎng)的出現(xiàn),讓IT業(yè)充滿了挑戰(zhàn)。
智能家居控制系統(tǒng)可以定義為一個過程或者一個系統(tǒng)。利用先進(jìn)的計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)通訊技術(shù)、綜合布線技術(shù)、將與家居生活有關(guān)的各種子系統(tǒng),有機(jī)地結(jié)合在一起,通過統(tǒng)籌管理,讓家居生活更加舒適、安全、有效。與普通家居相比,智能家居不僅具有傳統(tǒng)的居住功能,提供舒適安全、高品位且宜人的家庭生活空間。還將原來的被動靜止結(jié)構(gòu)轉(zhuǎn)變?yōu)榫哂心軇又腔鄣墓ぞ?,提供全方位的信息交換功能,幫助家庭與外部保持信息交換暢通,優(yōu)化人們的生活方式,幫助人們有效安排時間,增強(qiáng)家居生活的安全性,甚至為各種能源費(fèi)用節(jié)約資金。設(shè)計(jì)是基于嵌入式Linux的智能家居系統(tǒng)。系統(tǒng)主要由GSM模塊SIM900A、DSl8820、QM-2氣體傳感器、DHT11濕度傳感器、光敏傳感器、帶觸摸屏的LCD模塊等構(gòu)成。系統(tǒng)初始化正常工作后,定時采集傳感器數(shù)據(jù),若采集數(shù)據(jù)出現(xiàn)異常,則對室內(nèi)的相應(yīng)設(shè)備進(jìn)行控制使其達(dá)到指定指標(biāo),并將所得數(shù)據(jù)選擇性通過GSM發(fā)送或者報警達(dá)到有效控制室內(nèi)設(shè)備的目的,也可通過短信方式控制室內(nèi)設(shè)備運(yùn)作。實(shí)物實(shí)驗(yàn)證明本系統(tǒng)運(yùn)行穩(wěn)定,符合設(shè)計(jì)要求。
1 系統(tǒng)結(jié)構(gòu)
系統(tǒng)由ARM芯片S3C2440為控制中心,控制硬件和傳輸信息。硬件包括各式傳感器如氣體,光照,溫度,濕度,防盜傳感器,系統(tǒng)內(nèi)部各層次通信的方式由多種通信方式組成如:GPIO,A/D采樣,串口,Spi等;外部通訊方式由GSM通信模塊和由ARM為核心的RJ45網(wǎng)口通信;顯示器是由LCD加上電阻屏組成的液晶顯示器界面終端。其系統(tǒng)框圖如圖1所示。
系統(tǒng)采用Linux操作系統(tǒng)為任務(wù)控制系統(tǒng)。
人機(jī)交互界面使用帶有觸摸屏的LCD液晶顯示器,采用ARM內(nèi)部自帶的LCD驅(qū)動和電阻屏驅(qū)動硬件控制采集數(shù)據(jù)。
遠(yuǎn)程通信采用SIM900A模塊,使用短信通信的模式,可以將系統(tǒng)的參數(shù)和用戶的任務(wù)以短信作為載體來進(jìn)行相應(yīng)的交流。
聲音模塊采用了外置的芯片UDA1341TS,具有雙通道聲音輸入輸出的功能,和ARM通信采用IIS通信協(xié)議,快速抗干擾能力強(qiáng)。
傳感器網(wǎng)絡(luò)采用各式傳感器,例如:溫度、濕度、光照度、氣體、防盜等等,通訊協(xié)議上由于通訊的方式不同所以為每一個傳感器都制作了對應(yīng)的通信驅(qū)動。
調(diào)節(jié)設(shè)備有溫度調(diào)節(jié)設(shè)備、干燥設(shè)備,增濕設(shè)備、光照調(diào)節(jié)設(shè)備、通風(fēng)設(shè)備、加熱設(shè)備。
2 硬件設(shè)計(jì)
(1)溫度傳感器與降溫裝置
此模塊主要通過DS18B20來采集家庭的各點(diǎn)溫度所設(shè)計(jì),其電路圖如圖2所示。
降溫裝置用來對空氣溫度進(jìn)行調(diào)節(jié),達(dá)到控制室溫的目的,其電路圖如圖3所示。
裝置使用延時繼電器通過控制三極管的信號使繼電器得電后導(dǎo)通電阻絲,當(dāng)需要加熱電阻絲時,將DIN引腳拉高,此時三極管導(dǎo)通,繼電器線圈得電吸合開關(guān),這時電熱絲得電加熱,等待DIN變?yōu)榈碗娖綍r,繼電器失電斷開,此時開關(guān)斷開,電熱絲斷電停止加熱,為了防止陡然對電熱絲加電和停電而使電熱絲壽命減少,加上了電容保護(hù)。
(2)氣體傳感器與空氣流通裝置
氣體傳感器用來采集室內(nèi)氣體是否為有害氣體,若為有害氣體就啟動排風(fēng)機(jī)換風(fēng),氣體傳感器硬件電路如圖4所示。
將模擬信號輸出端送入到ARM自帶的AD端口檢測得到檢測到的值即可。當(dāng)調(diào)整好全橋電阻的阻值后,器皿傳感器的阻值改變后會引起OUT1和OUT2的電勢差改變,將此電勢差輸入ARM的AD模塊進(jìn)行采集和處理。若空氣不符合標(biāo)準(zhǔn)便可以通過排風(fēng)扇進(jìn)行空氣更新處理。
(3)光照傳感器與室內(nèi)亮度調(diào)節(jié)裝置
光照傳感器采用光敏電阻采集室內(nèi)光照信息,并且通過判斷光照度調(diào)節(jié)對應(yīng)設(shè)備達(dá)到調(diào)節(jié)室內(nèi)亮度的目的。
(4)濕度傳感器與濕度控制調(diào)節(jié)裝置
濕度傳感器用來檢測當(dāng)前空氣濕度,使用DHT11傳感器,將采集的數(shù)據(jù)進(jìn)行相應(yīng)的分析,若超過額定值,便進(jìn)行干燥處理。DHT11傳感器是單總線協(xié)議,一根總線只能掛載一個DHT11傳感器,讀取的是已經(jīng)轉(zhuǎn)換好的濕度值,使用一個ARM的引腳控制一個DHT11傳感器。
(5)人機(jī)交互界面
人機(jī)交互界面分為信息輸入與輸出,輸入設(shè)備為電阻觸摸屏,輸出設(shè)備為采用VGA驅(qū)動的LCD顯示器。
(6)GSM模塊的通信與設(shè)計(jì)
GSM模塊采用的是SIM900A通信模塊,并采用增強(qiáng)型AT指令,其電路如圖5所示。
系統(tǒng)采用的GSM模塊作為與用戶進(jìn)行信息交換的途徑,GSM采用串口通信,進(jìn)行數(shù)據(jù)交換,其電源模塊必須滿足最大電流能夠達(dá)到2A的直流電流能力,否則將會因電源功率不夠而導(dǎo)致系統(tǒng)不穩(wěn)定現(xiàn)象。
(7)系統(tǒng)電源設(shè)計(jì)
由于系統(tǒng)對于電能的特殊要求,所以必須使用分離式電源單獨(dú)給予GSM模塊供電。
3 軟件設(shè)計(jì)
軟件設(shè)計(jì)采用嵌入式Linux,具有較強(qiáng)的網(wǎng)絡(luò)數(shù)據(jù)處理能力,嵌入式linux系統(tǒng)的構(gòu)建包括驅(qū)動編程,內(nèi)核裁剪,文件系統(tǒng)制作,應(yīng)用軟件制作等。
(1)嵌入式系統(tǒng)Linux的移植與分析
第一、編寫對應(yīng)的驅(qū)動程序,驅(qū)動程序是內(nèi)核中的面向硬件層的程序,這些程序?yàn)樯蠈榆浖峁┏橄蠛瘮?shù)接口,通過這些函數(shù)接口可以間接地控制硬件,因此首先要將目標(biāo)驅(qū)動編寫出來,在本系統(tǒng)中需要SPI,USART,單總線,LCD,電阻屏等驅(qū)動接口。
第二、裁剪內(nèi)核,將編寫好的底層驅(qū)動程序加入到內(nèi)核程序中后,需要通過make menueonfig軟件對其進(jìn)行配置,將需要的驅(qū)動加入到內(nèi)核配置單里,通過make zImage制作出內(nèi)核鏡像。
第三、制作文件系統(tǒng),利用busybox工具制作文件系統(tǒng)。
第四、將做好的內(nèi)核和文件系統(tǒng)一次燒寫到ARM硬件的對應(yīng)區(qū)域,開機(jī)成功啟動后配置目標(biāo)板的FTP協(xié)議。
第五、編寫任務(wù)程序,利用抽象的底層函數(shù)作為信息交換接口,利用C語言編寫任務(wù)程序,將編寫好的程序利用arm-linux-gcc進(jìn)行相應(yīng)的編譯和連接,將編好的程序通過FTP下載到目標(biāo)板調(diào)試。
(2)系統(tǒng)與任務(wù)構(gòu)架結(jié)構(gòu)
系統(tǒng)硬件層的驅(qū)動編寫到Linux驅(qū)動中進(jìn)行相應(yīng)硬件操作,定時執(zhí)行,系統(tǒng)層和抽象層中將底層的硬件抽象成為接口使用,上層的軟件使用接口操作硬件執(zhí)行任務(wù)。任務(wù)的優(yōu)先級由右向左依次降低,最頂層的任務(wù)是反饋調(diào)節(jié)任務(wù)位于基本任務(wù)之上。
系統(tǒng)任務(wù)(按照優(yōu)先級別排列):
①防盜監(jiān)控②溫度監(jiān)控③濕度監(jiān)控④氣體監(jiān)控⑤光照監(jiān)控⑥排風(fēng)扇加熱⑦電燈喇叭⑧GSM通訊⑨RJ45通訊⑩LCD人機(jī)交互界面。
(3)GSM通訊協(xié)議
GSM采用SAM900A通信模塊,使用短信通信方式,手機(jī)收到短信后通知串口接收數(shù)據(jù),得到的數(shù)據(jù)編碼方式如下:
在這些短信編碼中,將所需要的內(nèi)容截取下來,便可以識別。在控制家庭智能終端的過程中所采取的指令方式也是采用編碼方式,其中短信部分編碼定義如下:
[優(yōu)先級所代表的設(shè)備0-10][監(jiān)控開關(guān)0/1][設(shè)定參數(shù)級別0-5][是否定時開啟若不定時為0否則為分鐘單位的1-255]
其中優(yōu)先級所代表的設(shè)備就是任務(wù)優(yōu)先級代碼所代表的設(shè)備,控制開關(guān)將控制對應(yīng)設(shè)備是否開啟或者關(guān)閉,參數(shù)級別代表對應(yīng)設(shè)備對應(yīng)環(huán)境參數(shù)的控制區(qū)間0最窄5最寬,是否開啟定時為設(shè)置開啟時間單位分鐘,若不定時則為0。
(4)系統(tǒng)安全策略
為避免他人惡意控制家具,在系統(tǒng)中加入了對應(yīng)的密碼服務(wù),系統(tǒng)將會識別對應(yīng)的手機(jī)號,對應(yīng)的密碼,識別之后才會執(zhí)行對應(yīng)的操作,否則將會記錄惡意短信發(fā)送方的手機(jī)號碼,以備調(diào)查之用。
(5)傳感器反饋控制的通用程序流程圖
在本系統(tǒng)中所使用的傳感器檢測與反饋調(diào)節(jié)方式是相同的,程序流程圖如圖6所示。系統(tǒng)初始化后,進(jìn)入重復(fù)由優(yōu)先級從高到低檢測傳感器對應(yīng)的數(shù)據(jù),并將數(shù)據(jù)與對應(yīng)的參數(shù)進(jìn)行對比,若監(jiān)測數(shù)據(jù)符合事先所設(shè)定的參數(shù),那么繼續(xù)測試下一個傳感器,若監(jiān)測數(shù)據(jù)不符合,那么將檢測數(shù)據(jù)分析,檢測是否超過危險臨界值,若沒有超過就執(zhí)行一般的對應(yīng)處理反饋交互環(huán)境信息,若超過危險臨界值就發(fā)短信給予用戶并且咨詢是否報警等應(yīng)急措施。
●硬件控制分析:本系統(tǒng)可以使用Linux操作系統(tǒng)下的SHELL命令執(zhí)行對應(yīng)的命令控制對應(yīng)的硬件達(dá)到檢測硬件可行性的目的。采用如輸入:openlight命令控制led的端口輸出高電平驅(qū)動三極管,led燈就亮了;Lightoff命令控制led的端口輸出低電平,led熄滅。在此可以檢測到硬件控制達(dá)到了預(yù)期要求。
●短信收發(fā)數(shù)據(jù)分析:對于GSM通訊協(xié)議的測試采取實(shí)際短信功能的測試,通過手機(jī)發(fā)送如下格式的數(shù)據(jù):
13995991-為發(fā)送方的手機(jī)號碼的前8位
2-選定控制對象為溫度監(jiān)控設(shè)備
3-控制對象的參數(shù)選擇為適中
200-定時200分鐘后執(zhí)行
測試結(jié)果為:在200分鐘后執(zhí)行了對應(yīng)的操作,原先被關(guān)閉了的溫度傳感器設(shè)備被激活,能夠在一定溫度范圍內(nèi)反饋控制風(fēng)扇吹風(fēng)降溫。
4 后記
本設(shè)計(jì)基于現(xiàn)有市場上智能家庭防盜設(shè)備進(jìn)行再設(shè)計(jì),并在硬件和程序設(shè)計(jì)上對現(xiàn)在智能設(shè)備存在的問題進(jìn)行了一些改變,使之更加智能,更加便捷。體現(xiàn)在以下幾個方面:
(1)后備電源及掉電檢測報警,更好地防止盜賊進(jìn)行盜竊之前切斷電源。(2)采用Linux操作系統(tǒng),升級維護(hù)更加方便快捷。(3)傳感器網(wǎng)絡(luò)中間使用控制中心進(jìn)行定期監(jiān)控。(4)程序上設(shè)計(jì)增加了手機(jī)號碼校驗(yàn),更好地防止了盜賊通過短信撤防的手段。(5)具有良好的反饋調(diào)節(jié)機(jī)制,可以在環(huán)境允許的情況下進(jìn)行智能的對應(yīng)的操作改善當(dāng)前不良環(huán)境。