新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 如何以OpenAT3.12為平臺將通信報文封裝進GSM Modem

        如何以OpenAT3.12為平臺將通信報文封裝進GSM Modem

        作者: 時間:2010-12-07 來源:網絡 收藏

        引 言

        隨著經濟的發展以及國內工農業領域的自動化程度的提高,越來越多的場合需要遠程監控和操作的設備?;?a class="contentlabel" href="http://www.104case.com/news/listbylabel/label/GSM">GSM網絡短信息設備的領域, 是必不可少的設備,本文討論目前應用廣泛的基于Wavecom公司Q24PL001模塊的 嵌入式程序設計,以實現將短信數據進GSM ,從而簡化上位機軟件的工作量。

        本文以嵌入式開發為例,討論將遠程控制和數據采集進以Q24PL001模塊為主的GSM Modem。

        1 OpenAT操作系統介紹

        OpenAT是Wavecom公司為GPRS/GSM無線CPU開發的一款實時操作系統,集成了內存分配、Flash管理、數據流管理、GPIO管理、總線管理、定時器管理等多種功能。底層為嵌入式API應用層,它包括程序初始化API、AT指令API、操作系統API、標準API、流控API、總線API等,包含了建立在OpenAT基礎之上的應用開發層函數庫。應用開發層(簡稱ADL)函數庫為開發人員提供了上層應用接口,簡化了嵌入式應用的開發;同時還提供了嵌入式應用程序框架,包括消息解析器和服務聲明機制。基于以上原因,OpenAT應用程序開發人員在開發應用程序時,更多的時間用于調用服務處理函數,使系統更專注于程序本身的優化。

        2 GSM Modom的硬件結構和應用程序

        GSM模塊在工業領域中比較重要的一個應用就是用來做GSM Modem,這也是GSM模塊一個最簡單的應用。如圖1所示,一個常規通用GSM Modem的系統結構包括電源、RS232接口、GSM模塊、LED指示燈、SIM卡和天線等部分。



        GSM Modem核心模塊采用Wavecom公司的無線CPU模塊Q24PL001。在Q24PL001模塊中,OpenAT與應用程序的結構關系如圖2所示。Q24PL001集成了ARM7內核的32位CPU,內嵌OpenAT操作系統內核,支持OpenAT嵌入式應用程序設計。



        3 基于短信遠程控制系統的結構

        如圖3所示,基于GSM網絡的短信遠程控制系統通常包括以下幾個部分:GSM Modem、上位機監控終端、移動運營商的GSM網絡和GSM終端等。



        在一般產品設計中,GSM Modem作為發送GSM短信息的工具使用。PC機通過RS232串口與GSM Modem相連,根據協議處理短信數據將處理好的短信數據包打包,通過RS232串口發送一系列標準Ar指令控制GSM Modem,由其將短信數據包發送至終端系統。本文重點研究簡化上位機軟件,將數據處理過程交給GSM Modem嵌入式系統軟件處理的方法。

        4 GSM短信遠程控制系統的通信設計

        對于GSM遠程通信系統,數據通信報文并無統一標準,設計者可以根據具體情況自由設計不同通信終端之間的數據通信報文。由于GSM網絡的短信數據通信接收端可以通過普通手機實現短信接收,所以必須在短信數據通信報文設計中進行數據加密設計,以防止非法用戶對GSM短信數據通信報文的破解和濫用,保證整個SMS短信控制系統的穩定性。為了便于介紹,在此以非加密的GSM短信數據通信報文為例,介紹GSM短信通信報文的設計。

        一個常用GSM短信數據通信報文設計格式如下:



        其中,以$S作為短信數據通信報文的幀頭字節;6個字符作為接收端的認證密碼;S/T代表本報文的發送方為GSMModem(S)或短信終端(T);報文內容受短信數據長度的限制,一般在100字節以下;以#作為報文的結束符。

        基于如上報文定義,一條上位機發出的SMS報文示例如下:

        $S000000S0000AA100RlY2W3R4Y5G6Y7W5B#

        其中,$S為數據幀頭;000000為SMS終端默認的認證密碼;S表明本數據來自GSM Modem;0000為服務器設備ID編號;AA表示當前數據命令;10為十六進制數據0x10,表示當前數據內容長度字節;0R1G2W3R4G5G6Y7W為報文內容;5B為校驗碼;#為結束符。

        同理,短信終端返回至GSM Modem的SMS報文示例為:

        $S888888T0055CC1930RX1YX2YX3YX4YX5Y6Y7YXEF#

        其中,$S為數據幀頭;888888為SMS上位機服務器端默認的認證密碼;T表明數據來自短信終端;0055為終端設備ID編號;CC表示當前返回數據命令;19為十六進制數據0x19,表明當前返回數據內容長度字節;30RX1YX2YX3YX4YX5Y6Y7YX為返回數據內容;EF為校驗碼;#為結束符。

        5 GSM Modem短信數據通信報文處理流程

        采用常規的上位機軟件來進行設計,將數據通信報文整理好后再根據一系列的AT命令組合發送至GSM Modem,同時還需要解析來自若干個SMS終端的數據通信報文。常規上位機服務器端軟件處理短信數據的流程如圖4所示。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 平安县| 溆浦县| 哈密市| 五华县| 凭祥市| 汝城县| 游戏| 石首市| 弋阳县| 雷山县| 日照市| 乐昌市| 万山特区| 霍林郭勒市| 青田县| 靖安县| 乌兰察布市| 寻乌县| 兴和县| 新巴尔虎右旗| 祁门县| 镇沅| 白水县| 南江县| 衡阳县| 阳原县| 确山县| 镶黄旗| 慈利县| 且末县| 巩义市| 襄汾县| 阳西县| 榆林市| 嘉善县| 宜昌市| 广元市| 安西县| 广河县| 正镶白旗| 浦城县|