<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è) > 嵌入式系統 > 設計應用 > 基于A(yíng)T91RM9200短消息監控系統的設計與實(shí)現

基于A(yíng)T91RM9200短消息監控系統的設計與實(shí)現

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

3 系統軟件
系統軟件的主要是Linux下C的編程,無(wú)線(xiàn)監控程序是依照收發(fā)的原理來(lái)對于GSM模塊的控制。
3.1 收發(fā)的原理
內容的最大長(cháng)度為140 Byte。它的編碼主要有7位編碼,8位編碼,UC2編碼3種編碼方式。7位編碼是每Byte只使用低7位,每8 By te為一組,去掉最高位,重新編碼為7 Byte,因此,7位編碼實(shí)際可以表示到160 Byte。但7位編碼只能發(fā)送0x00~0x7F范圍內的字符,一般在發(fā)送英文短信時(shí)使用。編碼原理是:每8 Byte為一組,分別用A,B,C,D,E,F,G代表8 Byte,An代表每個(gè)Byte的位,則8 Byte重新編碼成如表1所示的7 Byte。

本文引用地址:http://dyxdggzs.com/article/148048.htm

c.JPG


8位編碼是所見(jiàn)即所得的編碼方式,即無(wú)需編碼,只要將二進(jìn)制串直接發(fā)送即可。8位編碼方式適用于制定各種短消息的通訊協(xié)議。U C2編碼常用于中文或中英文混合內容發(fā)送,只能發(fā)送70個(gè)字符(1個(gè)UC2占2 Byte)。由于國內一般的編輯器多以GB編碼,因此,若要發(fā)送中文,需先將中文轉換為UC2編碼再發(fā)送。在手機上,通常的做法是如果全部為英文及半角字符,則以7位編碼發(fā)送,如果含有中文,則全部編碼為UC2發(fā)送。
短消息發(fā)送方式主要分為文本模式和PDU模式。文本模式其實(shí)是針對7位編碼做的一個(gè)封裝,它只能用于發(fā)送ANSI范圍的字符,發(fā)送方式較簡(jiǎn)單。而PDU模式中所有短消息數據發(fā)送前都必須組織成PDU的格式,在PDU模式下發(fā)送短信比較復雜,需要自行組織PDU內容,但發(fā)送方式靈活,可以發(fā)送各種數據,也可以自行設定各PDU字段的內容。
3.2 常用的短消息AT指令
GSM無(wú)線(xiàn)模塊采用標準AT指令集通信,AT命令是用于控制TE(Terminal Equipment)(如PC等用戶(hù)終端)和MT(Mobile Terminal)(如移動(dòng)臺等移動(dòng)終端)之間的相互規則。AT命令類(lèi)型主要分為基本命令、S寄存器命令、擴展以及廠(chǎng)商定義命令3類(lèi)。

d.JPG


3.3 GSM程序的
ARM與GSM通信以ttyS1對應的串口為橋梁,與MG323提供的1個(gè)UART接口連接,支持短消息、電話(huà)本管理、數據業(yè)務(wù)、嵌入式TCP/UDP等功能。使用ARM發(fā)出AT指令集對GSM模塊進(jìn)行相應的操作,能夠完成發(fā)短消息的功能。具體軟件流程如圖3所示。

e.JPG


對串口初始化的工作主要是波特率、校驗位和停止位設置。配置完串口的相關(guān)屬性,就可以對串口進(jìn)行打井、讀寫(xiě)操作了。在Linux系統中,所有的設備文件都位于“/dev”下,其中串口2對應的設備名為“/dev/ttyS1”,在Linux下對設備和對文件的操作方法是一樣的,因此對串口讀寫(xiě)可以使用簡(jiǎn)單的“read”,“‘write”函數完成。
對GSM模塊進(jìn)行初始化工作主要是發(fā)送“AT”給MT(Mobil Terminal)看起是否有回復以確定ARM與GSM的串口工作正常。在確認串口正常工作后,發(fā)送“ATE0”命令關(guān)閉MT的回顯。
設置短信的通知方式、短信的格式(PDU)以及短信的編碼(USC2)。如果每個(gè)功能的設定都正常,最后按照PDV格式向指定用戶(hù)發(fā)送“GSM模塊初始化成功”的短信。
解析數據并發(fā)送短信主要是首先按PDU格式填充發(fā)送個(gè)MT的緩沖區的前46 Byte。然后打開(kāi)數據存儲文件,用lseek函數將文件光標由文件結尾向前移動(dòng)17 Byte。因為數據幀中的數據是以2 Byte的16進(jìn)制來(lái)表示,所以首先將其合并成一個(gè)16位的短整型,然后將合并的數據與檢驗位相加。將數據處理后,最后發(fā)送短信并檢查MT回復中是否有+CMGS的指令,若有則代表短信發(fā)送成功。

4 結束語(yǔ)
處理器搭建嵌入式Linux系統,利用GSM/GPRS無(wú)線(xiàn)通信模塊短消息的發(fā)送。同時(shí)嵌入式系統加GSM模塊的系統組成體積小巧,工作穩定,適合偏遠地區或移動(dòng)數據采集系統,提供了數據采集監控的新手段。隨著(zhù)無(wú)線(xiàn)通信系統的不斷發(fā)展和成熟,它必將深入到生活的各個(gè)方面。


上一頁(yè) 1 2 下一頁(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>