基于ARM-Linux平臺(tái)及GPRS技術(shù)的家庭智能控制系統(tǒng)
軟件部分的設(shè)計(jì)主要是基于ARM-Linux,與其他嵌入式操作系統(tǒng)相比,Linux 操作系統(tǒng)具有完整的TCP/IP 協(xié)議,良好的穩(wěn)定性和實(shí)時(shí)性,很好的滿足了家庭智能控制系統(tǒng)對(duì)系統(tǒng)可靠性的要求;此外,Linux易于移植裁減、內(nèi)核小、效率高、源代碼開(kāi)放并有眾多的開(kāi)發(fā)者,為系統(tǒng)的開(kāi)發(fā)提供了良好的技術(shù)支持。
系統(tǒng)開(kāi)發(fā)首先要建立交叉編譯環(huán)境,然后引導(dǎo)bootloader,移植操作系統(tǒng),裝載文件系統(tǒng),開(kāi)發(fā)圖形界面,最后編寫應(yīng)用程序。Bootloader 主要實(shí)現(xiàn)系統(tǒng)的快速引導(dǎo),將Linux 內(nèi)核加載到內(nèi)存,并進(jìn)行內(nèi)核初始化。Linux2.6 內(nèi)核具有強(qiáng)大的進(jìn)程、中斷、內(nèi)存和設(shè)備管理,支持各種文件系統(tǒng)。
系統(tǒng)主程序流程如圖4 所示,主程序由一系列用來(lái)實(shí)現(xiàn)相應(yīng)功能的子程序組成,主要包括ZigBee 無(wú)線通信程序、各智能模塊控制程序、GPRS 無(wú)線通信程序、圖像采集壓縮程序、和以太網(wǎng)通訊程序等。限于篇幅,這里主要闡述GPRS 無(wú)線通信的實(shí)現(xiàn)。
圖4 系統(tǒng)主程序流程。
GPRS 模塊程序設(shè)計(jì)主要用AT 指令編寫,結(jié)合一些主要函數(shù)來(lái)實(shí)現(xiàn)GPRS 模塊各項(xiàng)功能,包括GPRS模塊初始化、GPRS 網(wǎng)絡(luò)參數(shù)配置、AT 命令的收發(fā)、短信收發(fā)、撥打電話和發(fā)送彩信等。
3.1 GPRS 模塊的初始化
系統(tǒng)啟動(dòng)之后,通過(guò)調(diào)用gprs_init()函數(shù)實(shí)現(xiàn)基本的初始化工作,包括串口初始化,MC55 的狀態(tài)設(shè)置等。通過(guò)調(diào)用char gprs_getkey()函數(shù)獲取鍵盤輸入值。
3.2 AT 命令的接受和發(fā)送
GPRS 模塊通過(guò)UART1 與S3C2440 進(jìn)行通訊,S3C2440 通過(guò)串口發(fā)送AT 命令到GPRS 模塊并讀取GPRS 模塊的輸入。S3C2440 通過(guò)調(diào)用int send_gprs_cmd(int fd,char*send_buf)函數(shù)發(fā)送AT 命令到GPRS 模塊中,并通過(guò)int read_gprs_datas(intfd,char*rcv_buf)函數(shù)讀取GPRS 模塊的數(shù)據(jù)。如果通信成功返回GPRS_OK,否則返回GPRS_ERR.
3.3 短信的收發(fā)及彩信的發(fā)送
GPRS 模塊向戶主手機(jī)發(fā)送的短信是設(shè)定好的,模塊初始化時(shí)短信的內(nèi)容、服務(wù)中心號(hào)碼及目標(biāo)手機(jī)號(hào)碼都已設(shè)置完畢,出現(xiàn)緊急情況時(shí),系統(tǒng)只需調(diào)用AT 指令即可完成短信的收發(fā)。AT+CMGS=n,發(fā)送長(zhǎng)度為n的一條短信;命令發(fā)出后,GPRS 模塊回送">",處理器收到提示符即將短信內(nèi)容發(fā)給GPRS 模塊,發(fā)送成功返回" OK ", 否則返回" ERR ".接收短信由AT+CMCR=Index>CR>指令來(lái)實(shí)現(xiàn),然后處理器再根據(jù)收到的短信指令去控制各家庭智能模塊。
彩信的功能主要是當(dāng)家庭出現(xiàn)緊急情況時(shí),將攝像頭的截圖以彩信形式發(fā)送到用戶手機(jī)。其功能函數(shù)如下:
intmms_send(char*fro,char*to,char*subj,char*cont,char*img, long len)
參數(shù)fro 為模塊SIM 卡號(hào)碼;to 為戶主手機(jī)號(hào)碼;subj 為彩信標(biāo)題;cont 為彩信的文字信息;img 為圖片的地址指針;len 為圖片字節(jié)數(shù)。發(fā)送成功返回MMS_OK,否則返回MMS_ERR.
4 結(jié)語(yǔ)
本文介紹了一種基于ARM 與GPRS的家庭智能控制系統(tǒng),給出了詳細(xì)的系統(tǒng)架構(gòu)方案,從軟、硬件兩方面闡述了設(shè)計(jì)思路和實(shí)現(xiàn)方法。系統(tǒng)采用GPRS 技術(shù)實(shí)現(xiàn)了家庭智能系統(tǒng)的遠(yuǎn)程控制;采用ZigBee 技術(shù)組建家庭無(wú)線網(wǎng)絡(luò),很好的解決了主控制器與各家庭控制模塊之間的通信問(wèn)題,避免了繁瑣的布線;有很好的實(shí)際運(yùn)用價(jià)值,是未來(lái)家庭智能系統(tǒng)發(fā)展的一個(gè)趨勢(shì)。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論