<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于AT91RM9200短消息監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

          基于AT91RM9200短消息監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

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

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

          本文引用地址:http://www.ex-cimer.com/article/148048.htm

          c.JPG


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

          d.JPG


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

          e.JPG


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

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


          上一頁 1 2 下一頁

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();