基于ARM-Linux平臺及GPRS技術(shù)的家庭智能控制系統(tǒng)設(shè)計
摘 要: 主要介紹了一種基于嵌入式系統(tǒng)的ARM-Linux 平臺及GPRS 技術(shù)的家庭智能控制系統(tǒng)。采用ZigBee技術(shù)組建家庭無線網(wǎng)絡(luò),實現(xiàn)ARM 控制器與各家庭智能模塊的無線連接;戶主通過手機利用GPRS網(wǎng)絡(luò)對ARM 控制器發(fā)送控制命令,ARM 控制器通過ZigBee 模塊對各家庭智能模塊進(jìn)行無線控制,從而實現(xiàn)對整個家庭智能系統(tǒng)的遠(yuǎn)程控制。
隨著生活節(jié)奏的不斷加快,人們希望即使在工作或外出時也能及時了解家中的情況并控制家中的各種設(shè)備。各種無線通信技術(shù)的不斷發(fā)展,使家庭智能系統(tǒng)的遠(yuǎn)程控制成為一種現(xiàn)實。本文結(jié)合ARM9 處理器功能強大、GPRS 技術(shù)永遠(yuǎn)在線,接入范圍廣,功耗低以及ZigBee 無線組網(wǎng)技術(shù)等優(yōu)點,設(shè)計實現(xiàn)了一種基于嵌入式系統(tǒng)的無線家庭智能控制系統(tǒng)。
1 系統(tǒng)體系結(jié)構(gòu)及主要功能
系統(tǒng)主要由家庭智能控制模塊、圖像處理單元、ARM 中央控制平臺、ZigBee 無線傳輸、GPRS 無線通信和以太網(wǎng)通信等部分組成,其體系結(jié)構(gòu)如圖1 所示。
圖1 系統(tǒng)體系結(jié)構(gòu)
其中家庭智能控制模塊主要包括家電控制模塊、窗簾控制模塊、燈光控制模塊及安防控制模塊。各控制模塊通過ZigBee 模塊與ARM 中央控制平臺實現(xiàn)無線連接,組成一個星型家庭無線智能控制網(wǎng)絡(luò)。同時ARM 中央控制平臺連接一個USB 攝像頭,實現(xiàn)對家庭環(huán)境的實時監(jiān)視。ARM 控制器通過GPRS 和以太網(wǎng)實現(xiàn)與外部遠(yuǎn)程連接。即使出門在外,也可以實現(xiàn)對家庭智能系統(tǒng)的遠(yuǎn)程控制。比如上班時,戶主可以通過電腦或手機觀察家中的情況;在回家的路上就可以通過手機打開空調(diào)和熱水器,開啟窗簾或燈具等。當(dāng)探測到有非法人員入侵或發(fā)生火災(zāi)等緊急情況時,ARM 控制器就會通過短信向戶主發(fā)出報警信息,同時控制攝像來捕捉視頻圖像,然后進(jìn)行圖像處理并將數(shù)據(jù)通過以太網(wǎng)傳給PC 機,或通過GPRS 以彩信形式傳到戶主手機。
2 系統(tǒng)硬件設(shè)計
本系統(tǒng)硬件電路框圖如圖2 所示,主要由ARM9控制器,電源及復(fù)位模塊,觸摸屏顯示模塊,USB 攝像頭,以太網(wǎng)接口模塊,GPRS 模塊,ZigBee 無線收發(fā)模塊,各家庭控制模塊等組成。
圖2 系統(tǒng)硬件電路框圖。
2.1 ARM 中央控制模塊
ARM 中央控制模塊由ARM9 控制器、FLASH、SDRAM、電源及復(fù)位模塊、LCD 觸摸屏及相關(guān)外圍電路組成。系統(tǒng)選用SAMSUNG 的基于ARM920T 內(nèi)核的16/32 位RISC 處理器S3C2440 作為控制器。
S3C2440 處理器功能強大、性價比高、功耗低,除具有一般嵌入式芯片所具有的總線、SDRAM 控制器以外,還具有豐富的擴展功能接口,內(nèi)部集成了TFT/STN LCD 和觸摸屏控制器、SD MMC 存儲卡接口和攝像頭接口等大量的功能模塊,便于構(gòu)建外圍電路,視頻處理能力非常強。系統(tǒng)采用64M 的NAND 型Flash K29F2808 來存放系統(tǒng)啟動代碼、內(nèi)核代碼及根文件系統(tǒng);SDRAM 選用2 片HY57V561620CTP-H 構(gòu)成容量為64MB 高速動態(tài)隨機存儲器。
2.2 ZigBee 模塊
為了滿足家庭智能系統(tǒng)簡潔、方便的要求,系統(tǒng)采用ZigBee 無線通信技術(shù)組建家庭網(wǎng)絡(luò)。ZigBee 是一種新興的短距離、低功耗、低數(shù)據(jù)速率、低成本的雙向無線通信技術(shù)。ZigBee 模塊采用支持IEEE802.15.4 協(xié)議,技術(shù)成熟的CC2430 芯片。經(jīng)測試,室內(nèi)有效傳輸距離為30~40m,完全能夠覆蓋普通家庭環(huán)境。下面從抗干擾及功耗兩方面闡述本設(shè)計的可行性。
2.2.1 Zigbee 抗干擾性能分析
ZigBee 技術(shù)的抗干擾特性主要是指抗同頻干擾。
IEEE802.15.4 標(biāo)準(zhǔn)中提供了很多抗干擾機制[2],比如:空閑信道評估,動態(tài)信道選擇,信道算法等。實驗證明,正確選擇信道,增大頻偏,ZigBee 與Wi-Fi可以近距離(小于2m)共存;藍(lán)牙采用調(diào)頻技術(shù),對ZigBee 的干擾很小,兩者能很好的共存;WirelessUSB可以根據(jù)干擾環(huán)境自動變換信道,因此完全可以同ZigBee 共存;此外,為了減小無繩電話(2.4GHz)對ZigBee 的干擾,設(shè)計中ZigBee 設(shè)備放置在離客廳中心較遠(yuǎn)的地方,使干擾源盡量遠(yuǎn)離ZigBee 網(wǎng)絡(luò),經(jīng)測試可行;當(dāng)微波爐與ZigBee 設(shè)備距離大于1m 時,干擾則可以忽略不計。因此ZigBee 在2.4GHz 頻段能可靠地與Wi-Fi、藍(lán)牙、WirelessUSB 以及家用無繩電話和微波爐共存。
2.2.2 Zigbee 功耗分析
ZigBee 模塊支持多種工作模式,包括運行(發(fā)送與接收)、空閑和休眠等。通過監(jiān)測傳感器節(jié)點的正常工作,發(fā)現(xiàn)節(jié)點大部分時間處于空閑狀態(tài)。而空閑模式的功率消耗與運行模式大體相同,收發(fā)模塊長期處于空閑模式會消耗大量能量。因此,當(dāng)節(jié)點空閑時應(yīng)使其處于休眠狀態(tài)。當(dāng)需要節(jié)點工作時,通過外部中斷或定時中斷將其喚醒,進(jìn)入運行狀態(tài)。本設(shè)計經(jīng)測試,系統(tǒng)運行一個月后,電池電壓變化輕微,實際應(yīng)用中兩節(jié)普通5 號干電池使用壽命超過一年。
2.3 GPRS 模塊
GPRS(General Packet Radio Service),即通用分組無線服務(wù)技術(shù),是一種以GSM 為基礎(chǔ)的數(shù)據(jù)傳輸技術(shù)。GPRS 采用分組交換技術(shù),支持資源共享,頻帶利用率高,數(shù)據(jù)傳輸率高。GPRS 最高傳輸率可達(dá)171.2kbit/s,支持X.25 協(xié)議和IP 協(xié)議;用戶永遠(yuǎn)在線且按流量、時間計費,通信成本低。因此,將GPRS技術(shù)應(yīng)用于家庭智能控制系統(tǒng)的無線數(shù)據(jù)傳輸是最佳選擇。
GPRS 模塊主要功能是通過GPRS 網(wǎng)絡(luò)實現(xiàn)ARM控制器與戶主手機之間的數(shù)據(jù)交換。經(jīng)過性能與成本的綜合考慮,系統(tǒng)選用西門子公司的MC55 GPRS 模塊。
MC55 集成了完整的射頻電路和GPRS 基帶處理器,提供了完整的GSM 和GPRS 無線接口;支持?jǐn)?shù)據(jù)、語音、短消息和傳真等多種通信方式,采用TCP/IP 網(wǎng)絡(luò)協(xié)議進(jìn)行通信,GPRS 數(shù)據(jù)包最高可達(dá)1.5K;GPRS 模塊與ARM 控制器采用AT 指令集通過串口進(jìn)行數(shù)據(jù)通信。
圖3 ARM 控制器與GPRS 模塊連接圖。
如圖3 所示,系統(tǒng)采用SP3238 芯片實現(xiàn)電平轉(zhuǎn)換,S3C2440 通過UART1 控制MC55,通過GPRS網(wǎng)絡(luò)采用短信或撥打電話的方式與用戶手機進(jìn)行通信來實現(xiàn)對家庭智能系統(tǒng)的遠(yuǎn)程控制。
3 系統(tǒng)軟件設(shè)計
軟件部分的設(shè)計主要是基于ARM-Linux,與其他嵌入式操作系統(tǒng)相比,Linux 操作系統(tǒng)具有完整的TCP/IP 協(xié)議,良好的穩(wěn)定性和實時性,很好的滿足了家庭智能控制系統(tǒng)對系統(tǒng)可靠性的要求;此外,Linux易于移植裁減、內(nèi)核小、效率高、源代碼開放并有眾多的開發(fā)者,為系統(tǒng)的開發(fā)提供了良好的技術(shù)支持。
系統(tǒng)開發(fā)首先要建立交叉編譯環(huán)境,然后引導(dǎo)bootloader,移植操作系統(tǒng),裝載文件系統(tǒng),開發(fā)圖形界面,最后編寫應(yīng)用程序。Bootloader 主要實現(xiàn)系統(tǒng)的快速引導(dǎo),將Linux 內(nèi)核加載到內(nèi)存,并進(jìn)行內(nèi)核初始化。Linux2.6 內(nèi)核具有強大的進(jìn)程、中斷、內(nèi)存和設(shè)備管理,支持各種文件系統(tǒng)。
系統(tǒng)主程序流程如圖4 所示,主程序由一系列用來實現(xiàn)相應(yīng)功能的子程序組成,主要包括ZigBee 無線通信程序、各智能模塊控制程序、GPRS 無線通信程序、圖像采集壓縮程序、和以太網(wǎng)通訊程序等。限于篇幅,這里主要闡述GPRS 無線通信的實現(xiàn)。
圖4 系統(tǒng)主程序流程。
GPRS 模塊程序設(shè)計主要用AT 指令編寫,結(jié)合一些主要函數(shù)來實現(xiàn)GPRS 模塊各項功能,包括GPRS模塊初始化、GPRS 網(wǎng)絡(luò)參數(shù)配置、AT 命令的收發(fā)、短信收發(fā)、撥打電話和發(fā)送彩信等。
3.1 GPRS 模塊的初始化
系統(tǒng)啟動之后,通過調(diào)用gprs_init()函數(shù)實現(xiàn)基本的初始化工作,包括串口初始化,MC55 的狀態(tài)設(shè)置等。通過調(diào)用char gprs_getkey()函數(shù)獲取鍵盤輸入值。
3.2 AT 命令的接受和發(fā)送
GPRS 模塊通過UART1 與S3C2440 進(jìn)行通訊,S3C2440 通過串口發(fā)送AT 命令到GPRS 模塊并讀取GPRS 模塊的輸入。S3C2440 通過調(diào)用int send_gprs_cmd(int fd,char*send_buf)函數(shù)發(fā)送AT 命令到GPRS 模塊中,并通過int read_gprs_datas(intfd,char*rcv_buf)函數(shù)讀取GPRS 模塊的數(shù)據(jù)。如果通信成功返回GPRS_OK,否則返回GPRS_ERR.
3.3 短信的收發(fā)及彩信的發(fā)送
GPRS 模塊向戶主手機發(fā)送的短信是設(shè)定好的,模塊初始化時短信的內(nèi)容、服務(wù)中心號碼及目標(biāo)手機號碼都已設(shè)置完畢,出現(xiàn)緊急情況時,系統(tǒng)只需調(diào)用AT 指令即可完成短信的收發(fā)。AT+CMGS=n,發(fā)送長度為n的一條短信;命令發(fā)出后,GPRS 模塊回送">",處理器收到提示符即將短信內(nèi)容發(fā)給GPRS 模塊,發(fā)送成功返回" OK ", 否則返回" ERR ".接收短信由AT+CMCR=Index>CR>指令來實現(xiàn),然后處理器再根據(jù)收到的短信指令去控制各家庭智能模塊。
彩信的功能主要是當(dāng)家庭出現(xiàn)緊急情況時,將攝像頭的截圖以彩信形式發(fā)送到用戶手機。其功能函數(shù)如下:
intmms_send(char*fro,char*to,char*subj,char*cont,char*img, long len)
參數(shù)fro 為模塊SIM 卡號碼;to 為戶主手機號碼;subj 為彩信標(biāo)題;cont 為彩信的文字信息;img 為圖片的地址指針;len 為圖片字節(jié)數(shù)。發(fā)送成功返回MMS_OK,否則返回MMS_ERR.
4 結(jié)語
本文介紹了一種基于ARM 與GPRS的家庭智能控制系統(tǒng),給出了詳細(xì)的系統(tǒng)架構(gòu)方案,從軟、硬件兩方面闡述了設(shè)計思路和實現(xiàn)方法。系統(tǒng)采用GPRS 技術(shù)實現(xiàn)了家庭智能系統(tǒng)的遠(yuǎn)程控制;采用ZigBee 技術(shù)組建家庭無線網(wǎng)絡(luò),很好的解決了主控制器與各家庭控制模塊之間的通信問題,避免了繁瑣的布線;有很好的實際運用價值,是未來家庭智能系統(tǒng)發(fā)展的一個趨勢。
評論