智能家居是當(dāng)前社會(huì)一個(gè)新穎的話題,也是電子技術(shù)發(fā)展的方面,把電子技術(shù)充分應(yīng)用在生活中。然而到目前為止,智能家居才做到智能小區(qū)這個(gè)地步,因?yàn)閷?shí)現(xiàn)智能家居的費(fèi)用比較高。智能家居也是物聯(lián)網(wǎng)的一個(gè)分支,把家庭中的相關(guān)家居通過(guò)一個(gè)控制平臺(tái),連接到網(wǎng)絡(luò)上,在聯(lián)網(wǎng)的條件下,可以隨時(shí)查看家里的情況和控制。 物聯(lián)網(wǎng)的興起,為智能家居提供了條件。如何通過(guò)簡(jiǎn)化物聯(lián)網(wǎng)終端設(shè)備,最終開(kāi)發(fā)出一套經(jīng)濟(jì)實(shí)用的支持多終端應(yīng)用的智能家居物聯(lián)網(wǎng)平臺(tái)是非常有意義、有價(jià)值的工作。本系統(tǒng)基于Linux操作系統(tǒng),開(kāi)發(fā)了一套融合無(wú)線移動(dòng)網(wǎng)絡(luò)、射頻識(shí)別裝置的智能家居控制系統(tǒng)。此系統(tǒng)具有智能抄表、遠(yuǎn)程開(kāi)啟電器、射頻識(shí)別和遠(yuǎn)程遙控等功能。 1 系統(tǒng)概述 本系統(tǒng)采用S3C2410芯片作為主控制器,操作界面為3.2寸TFT觸摸顯示屏。上電后,顯示屏顯示整個(gè)家居系統(tǒng)網(wǎng)絡(luò)內(nèi)各設(shè)備,每個(gè)設(shè)備分別對(duì)應(yīng)一個(gè)圖標(biāo),包括燈光控制、風(fēng)扇、冰箱、空調(diào)、溫度、電飯煲、煙霧、燃?xì)饬髁坎杉取|c(diǎn)擊圖標(biāo)進(jìn)入該設(shè)備相應(yīng)的詳細(xì)信息欄。進(jìn)入燈光控制界面,可以方便地查看家中各房間亮燈情況,也可遠(yuǎn)程通過(guò)短信方式控制各房間的燈的亮滅;燃?xì)馐褂们闆r可方便地發(fā)送至相關(guān)采集部門;坐在辦公室,一條短信可以將電飯煲電源接通。家居中各設(shè)備與主控平臺(tái)間選擇了2.4 GHz的無(wú)線射頻收發(fā)芯片nRF2401,通過(guò)它可以實(shí)現(xiàn)各家居設(shè)備與主控平臺(tái)間的無(wú)線通信。主控平臺(tái)與外網(wǎng)的通信,采用的是ATK-SIM900A GSM/GPRS終端無(wú)線模塊。煙霧傳感器采用MQ-2傳感器來(lái)采集室內(nèi)煙霧情況。智能家居控制系統(tǒng)結(jié)構(gòu)框圖如圖1所示。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image002.gif 圖1 智能家居控制系統(tǒng)結(jié)構(gòu)框圖 嵌入式ARM2410系統(tǒng)開(kāi)發(fā)平臺(tái)是整個(gè)智能家居系統(tǒng)的監(jiān)控與管理中心,它主要集成了無(wú)線通信模塊、射頻識(shí)別模塊、紅外感應(yīng)模塊、觸摸顯示屏。該總控平臺(tái)一方面可以通過(guò)無(wú)線模塊接收到外部命令(例如:手機(jī)短信),并通過(guò)射頻識(shí)別,控制對(duì)應(yīng)的家居設(shè)備按指示工作,例如,打開(kāi)電飯煲、空調(diào)或洗衣機(jī)。另一方面,各家居設(shè)備運(yùn)行信息可以通過(guò)射頻模塊接收采集(例如電表讀數(shù)等),處理后,可以將數(shù)據(jù)發(fā)送到嵌入式ARM2410系統(tǒng)開(kāi)發(fā)平臺(tái),該平臺(tái)將數(shù)據(jù)分類處理后,可選擇有用數(shù)據(jù)發(fā)送至對(duì)應(yīng)公司服務(wù)器(例如供電局、水廠等),實(shí)現(xiàn)自動(dòng)抄表。 智能家居控制系統(tǒng)的中的每一個(gè)家居設(shè)備,都需要分別安裝一個(gè)射頻識(shí)別模塊,通過(guò)該模塊可以與嵌入式ARM2410系統(tǒng)開(kāi)發(fā)平臺(tái)實(shí)現(xiàn)短距離無(wú)線通信。 2 射頻識(shí)別模塊 nRF2401是一款工作在2.4~2.5 GHz世界通用ISM頻段的單片射頻收發(fā)器件。該射頻識(shí)別模塊可以實(shí)現(xiàn)多機(jī)通信,多機(jī)通信采用頻分多址的方法,只需要在接收端對(duì)不同的通道配置地址即可。發(fā)送端使用相應(yīng)的地址作為本機(jī)地址。接收數(shù)據(jù)時(shí)通過(guò)讀取STATUS中相關(guān)位即可得知接收的是哪個(gè)通道的數(shù)據(jù)。射頻識(shí)別模塊內(nèi)包括:頻率發(fā)生器、增強(qiáng)型 SchockBurstTM模式控制器、功率放大器、晶體振蕩器、調(diào)制器和解調(diào)器。輸出功率頻道的選擇和協(xié)議可以通過(guò)對(duì)應(yīng)的SPI接口進(jìn)行設(shè)置。射頻識(shí)別模塊功耗低,當(dāng)工作在發(fā)射模式下發(fā)射功率為-6 dBm時(shí),電流消耗為9.0 mA;接收模式時(shí)為12.3 mA,掉電模式和待機(jī)模式下電流消耗更低。 nRF2401在接收模式下可以接收6路不同通道的數(shù)據(jù),nRF2401在星形網(wǎng)絡(luò)中的結(jié)構(gòu)如圖2所示。每一個(gè)數(shù)據(jù)通道使用不同的地址,但是共用相同的頻道,也就是說(shuō)6個(gè)不同的nRF2401設(shè)置為發(fā)送模式后可以與同一個(gè)設(shè)置為接收模式的nRF2401進(jìn)行通信,而設(shè)置為接收模式的 nRF2401可以對(duì)這6個(gè)發(fā)射端進(jìn)行識(shí)別。同一時(shí)刻,所有的數(shù)據(jù)通道都被搜索,但只能接 file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image004.gif 圖2 nRF24L01在星形網(wǎng)絡(luò)中的結(jié)構(gòu) 收一路數(shù)據(jù)通道的數(shù)據(jù)。nRF2401在確認(rèn)收到數(shù)據(jù)后記錄地址,并以此地址為目標(biāo)地址發(fā)送應(yīng)答信號(hào),在發(fā)送端數(shù)據(jù)通道0被用作接收應(yīng)答信號(hào),因此數(shù)據(jù)通道0的接收地址要與發(fā)送端地址相等以確保接收到正確的應(yīng)答信號(hào)。 3 煙霧的檢測(cè) 煙霧檢測(cè)采用MQ-2 傳感器模塊,模塊能檢測(cè)多種氣體,當(dāng)氣體濃度超過(guò)程序中設(shè)定值的時(shí)候,模塊檢測(cè)出來(lái)并在相應(yīng)引腳上產(chǎn)生信號(hào),供單片機(jī)讀取。模塊有一下參數(shù): 1、可以用于家庭和工廠的氣體泄漏監(jiān)測(cè)裝置,適宜于液化氣,丁烷,丙烷, 甲烷,酒精,煙霧等的探測(cè); 2、靈敏度可調(diào); 3、工作電壓 5V 使用前,供電至少預(yù)熱 2 分鐘以上,傳感器稍微發(fā)燙屬于 正常現(xiàn)象; 4、輸出形式 :a)模擬量電壓輸出 b)數(shù)字開(kāi)關(guān)量輸出(0 和 1) 5、串口通信 主控芯片采用8051系列單片機(jī)芯片,單片機(jī)通過(guò)串口與傳感器通信,可以方便地采集到瞬時(shí)流量和累積流量,可記錄自上電以來(lái)瞬時(shí)流量的最大值和最小值,具有超量程指示功能,程序模擬SPI接口,實(shí)現(xiàn)與NRF2401的通信。 4 Linux移植及Qt應(yīng)用程序開(kāi)發(fā) 本系統(tǒng)在Friednly2410開(kāi)發(fā)板上移植了Linux操作系統(tǒng),并在此嵌入式操作系統(tǒng)平臺(tái)上進(jìn)行了簡(jiǎn)易家居智能控制平臺(tái)的開(kāi)發(fā)。Linux移植及Qt應(yīng)用程序開(kāi)發(fā)步驟如圖4所示。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image006.gif 圖4 Linux移植及Qt應(yīng)用程序開(kāi)發(fā)步驟 首先是配置開(kāi)發(fā)板所需要的環(huán)境軟件。在開(kāi)發(fā)板環(huán)境建立中,要注意的是對(duì)于沒(méi)有串口的機(jī)器,一定要先安裝USB轉(zhuǎn)串口的驅(qū)動(dòng),而在安裝時(shí)務(wù)必注意將電腦與板載串口的波特率設(shè)置為一致。這個(gè)沒(méi)設(shè)置好,串口通信會(huì)有問(wèn)題。除此之外,還需安裝好串口調(diào)試工具及程序燒錄下載工具。 其次是搭建Linux交叉編譯環(huán)境。一般的電腦上都是Windows操作系統(tǒng),要開(kāi)發(fā)Linux嵌入式操作系統(tǒng),需要安裝虛擬機(jī)(例如VMware 等)、基于Linux內(nèi)核的相關(guān)操作系統(tǒng)(例如Fedora)和交叉編譯器。虛擬機(jī)是用來(lái)承載Linux操作系統(tǒng)在Windows機(jī)器上運(yùn)行而設(shè)置的,就像虛擬光盤一樣,是個(gè)虛擬的。交叉編譯器,是用來(lái)編譯和產(chǎn)生系統(tǒng)開(kāi)發(fā)過(guò)程中各種鏡像文件。深圳、廣州、鄭州想系統(tǒng)學(xué)習(xí)嵌入式的朋友可聯(lián)系郭老師QQ754634522 接著進(jìn)入移植過(guò)程。移植時(shí)一般順序?yàn)椋壕幾gUboot→編譯內(nèi)核→構(gòu)建文件系統(tǒng)。 最后是Qt應(yīng)用程序開(kāi)發(fā)。本系統(tǒng)是基于圖形界面開(kāi)發(fā)的。Qt程序開(kāi)發(fā)需要先建立Qtopia開(kāi)發(fā)平臺(tái),然后進(jìn)入編譯目錄,執(zhí)行編譯腳本,無(wú)誤退出后,再編譯應(yīng)用程序。編譯應(yīng)用程序時(shí),只需進(jìn)入每個(gè)程序目錄,執(zhí)行make命令。然后,將編譯好的程序的可執(zhí)行文件拷貝到文件系統(tǒng)的鏡像目錄中,最后將編譯生成的.bin文件燒錄到開(kāi)發(fā)板中即可。 結(jié)語(yǔ) 本文描述的是一種簡(jiǎn)易可行的智能家居聯(lián)網(wǎng)方案,其具有成本低、易于實(shí)現(xiàn)、組網(wǎng)容易等優(yōu)點(diǎn),但對(duì)于更復(fù)雜的互動(dòng)功能還存在一定的欠缺。但基于上述主控平臺(tái),只需要調(diào)整智能家居的內(nèi)部局部通信網(wǎng)絡(luò)就可以實(shí)現(xiàn)更加完善的智能家居功能。 |