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