<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 基于OpenAT3.12平臺的通信報文封裝進(jìn)GSM Modem的方法

基于OpenAT3.12平臺的通信報文封裝進(jìn)GSM Modem的方法

作者: 時(shí)間:2012-09-02 來(lái)源:網(wǎng)絡(luò ) 收藏

引 言

隨著(zhù)經(jīng)濟的發(fā)展以及國內工農業(yè)領(lǐng)域的自動(dòng)化程度的提高,越來(lái)越多的場(chǎng)合需要遠程監控和操作的設備。網(wǎng)絡(luò )短信息設備的領(lǐng)域, 是必不可少的設備,本文討論目前應用廣泛的Wavecom公司Q24PL001模塊的 嵌入式程序設計,以實(shí)現將短信數據進(jìn)GSM ,從而簡(jiǎn)化上位機軟件的工作量。

本文以嵌入式開(kāi)發(fā)為例,討論如何將遠程控制和數據采集進(jìn)以Q24PL001模塊為主的GSM Modem。

1 OpenAT操作系統介紹

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

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

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



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



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

如圖3所示,基于GSM網(wǎng)絡(luò )的短信遠程控制系統通常包括以下幾個(gè)部分:GSM Modem、上位機監控終端、移動(dòng)運營(yíng)商的GSM網(wǎng)絡(luò )和GSM終端等。



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

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

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

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



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

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

$S000000S0000AA100RlY2W3R4Y5G6Y7W5B#

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

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

$S888888T0055CC1930RX1YX2YX3YX4YX5Y6Y7YXEF#

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

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

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


上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>