嵌入式設(shè)備手機(jī)短信交互模塊的設(shè)計(jì)
此后,平臺(tái)加入短消息內(nèi)容的編碼和解碼程序,其主要是實(shí)現(xiàn)短信PDU格式的編碼和解碼。目前,發(fā)送短消息常用Text和PDU(Protocol DataUnit,協(xié)議數(shù)據(jù)單元)兩種模式。使用Text模式收發(fā)短信代碼比較簡(jiǎn)單,但其缺點(diǎn)是不能收發(fā)中文短信;而PDU模式不僅支持英文短信,也支持中文短信。在處理PDU編碼的程序中,s_PDU類可用于發(fā)送PDU編碼,其中void s_PDU∷setUD(char
*s)是重要函數(shù)。在處理PDU解碼的程序中,r PDU類用于PDU包的解包,其接口函數(shù)僅有一個(gè),即bool r_PDU∷getFrom(char*s),用于PDU包的輸入,輸入后,類的成員OA會(huì)保存其中的手機(jī)號(hào),UD則保存其中的短消息內(nèi)容,函數(shù)get-From (char *s)是這個(gè)類的核心。識(shí)別手機(jī)號(hào)和短信中心號(hào)比較容易實(shí)現(xiàn),但識(shí)別后面的短信息數(shù)據(jù)比較復(fù)雜,因?yàn)槠渲锌赡艹霈F(xiàn)好幾種編碼。一般全英文短信的編碼會(huì)使用7位編碼,而中文短信會(huì)使用UCS16編碼,所以編碼時(shí)需要考慮兩種可能。
系統(tǒng)將短消息的收發(fā)用定義來(lái)實(shí)現(xiàn)封裝,其中含有用于執(zhí)行AT指令的函數(shù)int exec(char*cmd)。收短信實(shí)際上就是寫AT指令、讀結(jié)果及PDU解碼的過(guò)程;而發(fā)短信則是寫AT指令、讀結(jié)果及PDU編碼的過(guò)程。本系統(tǒng)采用查詢讀寫的方式來(lái)實(shí)現(xiàn)短信的自動(dòng)收發(fā)。系統(tǒng)的部分讀寫代碼如下:本文引用地址:http://www.ex-cimer.com/article/152261.htm
3 結(jié)束語(yǔ)
本文給出了一種基于GSM網(wǎng)絡(luò)短消息服務(wù)的人機(jī)交互平臺(tái)的設(shè)計(jì)和實(shí)現(xiàn)方案,該方案可使用戶能方便地實(shí)現(xiàn)遠(yuǎn)程實(shí)時(shí)地與平臺(tái)交互信息。該平臺(tái)經(jīng)測(cè)試,性能穩(wěn)定,便于在嵌入式設(shè)備中應(yīng)用,而且效果良好。
評(píng)論