許林+葉瑋瓊+成凱麗
摘?要:本文主要利用串口通信技術(shù)和AT指令集設(shè)計了一個基于短信(SMS)的遠程控制模塊。用戶可通過手機發(fā)送短信實現(xiàn)對接入主機的家居設(shè)備控制。文章闡述了該控制模塊的硬件設(shè)計、PDU模式下短息編碼規(guī)則、軟件設(shè)計等內(nèi)容,搭建一個以三星S3C2440處理器為核心的控制平臺用以完成對數(shù)據(jù)的分析和處理。該設(shè)計基于GSM通信系統(tǒng),保證了控制模塊具有很強的可靠性和穩(wěn)定性。該模塊經(jīng)實驗測試驗證了其可行性,為工程應(yīng)用提供了一種解決方案。
關(guān)鍵字:GSM;短消息服務(wù);AT指令;串口通信;智能家居
中圖分類號:?TP399???????????????????????文獻標(biāo)識碼:A
Design??of??Intelligent??Home??Furnishing?Remote??Control??Module??Based??on??SMS
XuLin*,Ye?WeiQiong,Cheng?KaiLi
(School?of?Computer?and?Communication,?Hunan?University?of?Technology,?HuNan?Zhuzhou??412000,?China)
Abstract:This?paper?using?serial?communication?technology?and?AT?instruction?set?to?design?a?remote?control?module?based?on?SMS.?The?user?can?through?the?mobile?phone?to?send?text?messages?to?control?the?Home?Furnishing?equipment?which?bring?in?control?center.This?paper?introduces?the?design?of?hardware,?analyzes?SMS?encoding?rules?under?the?PDU?mode,software?design?about?the?module,?and?built?a?control?platform?based?on?Samsung?S3C2440?processor?as?the?core?to?finished?data?processing.?The?design?of?communication?system?based?on?GSM,?make?sure?the?control?module?has?strong?reliability?and?stability.?The?module?tests?to?validate?its?feasibility,?provides?a?solution?for?the?application?in?engineering.
Key??words?:GSM;SMS;AT;Serial?communication;Intelligent?Home?Furnishing
1?引言
智能家居是指利用計算機技術(shù)對接入主機的各種家居子系統(tǒng)進行網(wǎng)絡(luò)化的控制和管理,以實現(xiàn)一種全新的家居體驗。常使用智能手機或平板電腦作為控制終端實現(xiàn)對家居子系統(tǒng)的控制和管理。本文所設(shè)計的控制模塊基于傳統(tǒng)的GSM網(wǎng)絡(luò),通過SMS(短信息服務(wù)),結(jié)合計算機串行通信技術(shù),采用AT指令的通信方式實現(xiàn)對接入主機的家居子系統(tǒng)的控制和管理[1]。相對于依靠智能手機或平板電腦使用APP(Application)的控制方式,采用傳統(tǒng)的GSM短消息方式則更加方便快捷,并且保證了非智能機用戶和老人同樣可享受智能家居所帶來的全新體驗。本文主要介紹控制模塊的硬件設(shè)計、短消息的編碼與解碼、控制模塊軟件設(shè)計實現(xiàn)等內(nèi)容。
2?硬件平臺設(shè)計
控制模塊硬件結(jié)構(gòu)設(shè)計框圖如圖1所示,硬件設(shè)計主要包括以三星S3C2440微處理器為核心搭建的控制平臺、GPRS-Modem經(jīng)通用異步收發(fā)器(UART)接入控制平臺、家電設(shè)備通過I/O總線擴展接入控制平臺。
硬件結(jié)構(gòu)主要包括嵌入式微處理器和GPRS/GSM通信模塊,其中微處理器采用韓國三星公司的一款基于ARM?920T內(nèi)核的嵌入式微處理器S3C2440,該處理器主要面向手持設(shè)備以及高性價比、低功耗的應(yīng)用場景,且具有功耗低、外設(shè)接口齊全的特點?[2]?。GPRS/GSM通信模塊選用西門子公司生產(chǎn)的TC35i,支持GSM900/GSM1800MHz雙頻、1個RS-232串口接口、串口速率1200bps~115200bps。
串行通信是完成處理器單元和外設(shè)之間數(shù)據(jù)通信的常用方式,在使用串口通信之前需對串口進行初始化配置。串口使用過程包括三部分:打開串口、配置串口、數(shù)據(jù)傳輸。本文采用RS-232C串行接口,其中電壓在-3V~15V表示邏輯0、+3V~+15V表示邏輯1。
處理方式方式
短消息服務(wù)(SMS)是GSM通信系統(tǒng)所提供的一種數(shù)據(jù)傳輸服務(wù)。通信特點是源端與目標(biāo)端不需要建立連接,源端將短信內(nèi)容和目標(biāo)號碼發(fā)送至短信服務(wù)中心暫存,當(dāng)目標(biāo)端接入GSM網(wǎng)絡(luò)后,短信服務(wù)中心將短信內(nèi)容發(fā)送到目標(biāo)端。GSM系統(tǒng)支持三種模式的短消息服務(wù)協(xié)議:Block?Mode、Text?Mode、PDU?Mode。如今最常用的是PDU模式,其特點是可以傳輸除ASCII以外的漢字、圖像等數(shù)據(jù)。在PUD模式中短信內(nèi)容可分為三種編碼方式:7bit編碼、8bit編碼、UCS2編碼。本文采用的是PDU模式下的UCS2編碼方式,此編碼方式最大特點在于支持Unicode(統(tǒng)一碼)字符集,支持中文短信發(fā)送,一次性最大可傳輸70個字符[3]。
3.1?短信服務(wù)相關(guān)的AT指令
AT(Attention)指令集是一套用于從終端設(shè)備(Terminal?Equipment,TE)到終端適配器(Terminal?Adapter,TA)之間數(shù)據(jù)交換的指令集合,AT指令是目前手機通訊中最常用的控制指令,?通過它可以實現(xiàn)手機的撥號、發(fā)短信等功能。本文所設(shè)計的控制模塊使用AT指令實現(xiàn)GPRS-Modem與控制平臺之間數(shù)據(jù)通信,完成短信的接收、短信發(fā)送、以及其他數(shù)據(jù)的傳輸功能。短消息服務(wù)中常用的AT指令有[4]:
AT+CSMS??//選擇GSM的SMS業(yè)務(wù);
AT+CMGF??//選擇短信格式?1:Text模式,0:PDU模式;
AT+CMGR??//讀取短信;
AT+CMGS??//發(fā)送短信;
AT+CMGD??//刪除短信;
AT+CSCA??//短信中心號碼;
3.2短信息的編碼規(guī)則分析
本文所描述的短信服務(wù)采用PDU模式下UCS2的編碼規(guī)則。UCS2?編碼是指將單個的字符按IEC10646?的規(guī)定,轉(zhuǎn)變?yōu)?6?位的Unicode?寬字符,即將單個的字符轉(zhuǎn)換為由四位的‘0-‘9、‘A-‘F的數(shù)字和字母組成的字符串。中文編碼嚴格按照Unicode字符編碼規(guī)則進行編碼,英文編碼時,由于其本身為一個ASCII碼,則在ASCII前加0補齊Unicode格式的16個字符即可。當(dāng)完成對短信內(nèi)容的編碼,接著就開始進行PDU?字串的編制。PDU字串同樣為一個由‘0-‘9、‘A-‘F組成的ASCII碼串[5]?。PDU字串基本組成元素如表1所示:
表1?PDU字串組成元素
控制模塊選取“客廳燈”和“客廳空調(diào)”這兩個家居子系統(tǒng)作為模擬測試對象,對這兩個子系統(tǒng)的控制命令包括開客廳燈、關(guān)客廳燈、開客廳空調(diào)、關(guān)客廳空調(diào),與之對應(yīng)的短信內(nèi)容為命令大寫首字母組合,對應(yīng)的UCS2編碼如表2所示??刂浦行脑跈z測到命令控制完成后,需將控制結(jié)果回饋給客戶手機端,具體回復(fù)內(nèi)容包括成功開啟、成功關(guān)閉、控制失敗,對應(yīng)的短信內(nèi)容和UCS2編碼如表3所示:
表2?控制命令編碼對應(yīng)表
控制命令選取“開客廳燈”為例進行短信解碼分析,手機編輯短信內(nèi)容“KKTD”以控制平臺綁定號碼為目標(biāo)地址發(fā)送短信。則控制平臺接收短信主要通信過程如下所示:
AT??//向Modem發(fā)送AT命令;
OK??//Modem回復(fù)OK,表示連接成功;
AT+CMGR=1?//從Modem讀取SIM卡里的第一條短信;
+CMGR:???//Modem返回SIM卡中的短信數(shù)據(jù);
>0891683108200505F0240D91683150781765F100084190102103000004
>4B4B5444
AT+CMGD=1??//刪除SIM卡中第一條短信;
從Modem返回的數(shù)據(jù)中第一行是短信的相關(guān)屬性,例如短息的發(fā)送者、短信中心號碼、發(fā)送時間、短信內(nèi)容長度等,第二行表示短信的內(nèi)容。
根據(jù)PDU字串組成元素表以及短信服務(wù)接收端的編碼格式對收到的字串解碼,結(jié)果如表4所示:
表4?PDU接收字串組成格式
短信解析結(jié)果為:短信服務(wù)中心號碼是+8613800100500,發(fā)送方號碼是13058771561,短信內(nèi)容是“KKTD”,發(fā)送時間是:2014-09-01?12:30:00。
控制結(jié)果選取“成功開啟”為例進行反饋過程短信編碼分析,目的為向13058771561發(fā)送一條短信,短信內(nèi)容為:“成功開啟”。根據(jù)PDU字串組成元素表以及短信服務(wù)發(fā)送端的字串格式進行PDU字串的構(gòu)造,構(gòu)造結(jié)果如表5所示:
表5?PDU發(fā)送字串組成格式
0891683108100005F031000D91683150781765F10000A7??08??6210529F5F00542F;
PDU?Type:31?表示要求發(fā)送回復(fù);
格式化的短信中心號碼:0891683108100005F0;
計算短信長度:PDU字串長度除以2結(jié)果用十進制表示?46位/2=23;
控制平臺使用AT指令發(fā)送短信過程如下所示:
AT???//向Modem發(fā)送AT;
OK???//Modem返回OK表示連接成功;
AT+CMGF=0??//指明短信模式為PDU模式;
OK???//Modem就緒;
AT+CMGS=23?//發(fā)送短信,指明短信長度23;
>?0891683108100005F031000D91683150781765F10000A7086210529F5F00542F(">"表示輸入發(fā)送內(nèi)容:短信中心號碼+PDU字串Ctrl+Z發(fā)送,串口有OK回復(fù)表示短信發(fā)送成功)
4軟件設(shè)計實現(xiàn)
控制模塊軟件設(shè)計主要包括GPRS-Modem、控制平臺、控制程序三部分。軟件設(shè)計結(jié)構(gòu)如圖2所示:
圖2?模塊軟件設(shè)計框圖
GPRS-Modem通過接收來自控制平臺的AT指令,完成對短息的接收和發(fā)送。
控制平臺完成系統(tǒng)上電初始化、對接收到PDU字串的解析以及反饋信息的PDU字串的構(gòu)造等功能。系統(tǒng)上電后首先對串口進行初始化配置,配置串口相關(guān)的主要參數(shù)有:波特率為115200bps、無奇偶校驗位、停止位1位、數(shù)據(jù)位8位、采用硬件流控等。完成對串口配置后從控制平臺向Modem發(fā)送命令:“AT”,若串口回復(fù)“OK”則表示串口配置成功。完成初始化后,若檢測SIM卡中有短信到達,通過AT+CMGR指令從Modem讀取SIM卡里信息,在控制平臺中完成對短息的解析,解析過程如上文分析所示。解析完成后將解析的命名交給控制程序進行命令控制操作,最后使用AT+CMGD指令刪除SIM卡里的信息。
控制程序設(shè)計為一個多道分支程序,以接收到的短信內(nèi)容作為參數(shù)進入對應(yīng)的分支,執(zhí)行具體的控制操作,控制完成后將控制結(jié)果返回給控制平臺完成對控制結(jié)果的編碼和PDU字串構(gòu)造處理。使用AT+CMGS指令將回饋信息發(fā)送回用戶手機。
5結(jié)束語
本文設(shè)計了一種基于SMS的智能家居遠程控制模塊,文章闡述了短信息服務(wù)的原理和AT指令集等內(nèi)容。GSM網(wǎng)絡(luò)具有覆蓋面廣且遠距離通信可靠性高等特點,模塊依賴于GSM網(wǎng)絡(luò)能保證控制過程的穩(wěn)定、可靠。短消息服務(wù)(SMS)具有操作方便、實時性好、價格低廉等特點,以手機作為控制終端使得控制操作簡單靈活,同時免去了對用戶端的開發(fā),降低研發(fā)成本。本文設(shè)計的控制模塊經(jīng)實驗驗證成功,為實際工程應(yīng)用提供了一種快速、高效的遠程控制解決方案。
參考文獻
[1] ?李志偉.基于AT指令的串行通信程序的設(shè)計[J].微計算機信息,2007,23(3-3?):272-274.
[2] ?張?豪,楊春燕,汪筱陽.S3C2440A芯片及應(yīng)用[J].電子設(shè)計工程,2011.12,19(24):26-34.
[3] ?魏志強,黃亮.基于短信的遠程控制與追蹤系統(tǒng)設(shè)計與實現(xiàn)[J].微處理機,2011.6,3:92-95.
[4] ?張立材,王榮.基于短信息的智能家居控制技術(shù)研究[J].工業(yè)控制計算機,2014,27(4):91-92.
[5] ?陳姚節(jié),盧建華.基于手機短信遠程控制系統(tǒng)的研究與設(shè)計[J].網(wǎng)絡(luò)與通信,2010,26(11-3):31-33.