<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)通信 > 設計應用 > 基于GPRS的SOCKET通信的應用研究

基于GPRS的SOCKET通信的應用研究

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

摘要:是目前常用的方式之一。文中以8位單片機AT89C52作為微控制器,它利用自帶的異步串口與電平轉換芯片MAX232和模塊連接,使用AT命令對模塊LT8030進(jìn)行控制,從而實(shí)現。詳細介紹通信中要用到的AT命令,并給出實(shí)現SOCKET通信的完整程序。

關(guān)鍵詞:SOCKET通信 串行通信 AT命令

引 言

  GPRS(General Packet Radio Service)是通用分組無(wú)線(xiàn)業(yè)務(wù)的簡(jiǎn)稱(chēng),是一種以全球手機系統(GSM)為基礎的數據傳輸技術(shù)[1]。GPRS網(wǎng)不但具有覆蓋范圍廣、數據傳輸速度快、通信質(zhì)量高、永遠在線(xiàn)和按流量計費等優(yōu)點(diǎn),而且其本身就是一個(gè)分組型數據網(wǎng),支持TCP/IP協(xié)議,無(wú)需經(jīng)過(guò)PSTN(公用電話(huà)交換網(wǎng))等網(wǎng)絡(luò )的轉接,可直接與Internet網(wǎng)互通。因此GPRS業(yè)務(wù)在無(wú)線(xiàn)上網(wǎng)、環(huán)境監測、交通監控、移動(dòng)辦公等行業(yè)中具有無(wú)可比擬的性?xún)r(jià)比優(yōu)勢。

  在網(wǎng)絡(luò )設置中有HTTP、SOCKET等類(lèi)型。SOCKET是建立在傳輸層協(xié)議(主要是TCP和UDP)上的一種套接字規范,它定義兩臺計算機間進(jìn)行通信的規范(也是一種編程規范)。如果說(shuō)兩臺計算機是利用一個(gè)通道進(jìn)行通信,那么這個(gè)通道的兩端就是兩個(gè)套接字。套接字屏蔽了底層通信軟件和具體操作系統的差異,使得任何兩臺安裝了TCP協(xié)議軟件和實(shí)現了套接字規范的計算機之間的通信成為可能。

1 系統組成

  系統的組成如圖1所示。該系統利用現有的GPRS網(wǎng)絡(luò ),單片機通過(guò)串口對GPRS模塊進(jìn)行收發(fā)控制,實(shí)現SOCKET通信。

  系統各部分的說(shuō)明如下:

 ?、?單片機采用了AT89C52,它帶有一個(gè)串口;

 ?、?GPRS模塊。本文以利事達信息技術(shù)有限公司開(kāi)發(fā)的GPRS模塊LT8030[2]為例。LT8030內嵌了完整的TCP/IP協(xié)議棧,包括TCP、UDP、FTP、SOCKET、Telnet、POP3、SMTP、HTTP等,為用戶(hù)提供了更簡(jiǎn)單的網(wǎng)絡(luò )接口。LT8030采用的GPRS技術(shù),無(wú)縫覆蓋、永遠在線(xiàn)且按流量計費,緊密結合產(chǎn)品領(lǐng)域所遇到的實(shí)際問(wèn)題,進(jìn)行全面的優(yōu)化和升級,使產(chǎn)品開(kāi)發(fā)變得更容易、更快捷。它采用標準的RS232 接口,用戶(hù)可以通過(guò)單片機或其他CPU的UART口,使用相應的AT命令對模塊進(jìn)行控制,達到使其產(chǎn)品可以輕松進(jìn)入GPRS網(wǎng)絡(luò )的目的。

 ?、?服務(wù)器。建立SOCKET連接必須具有公網(wǎng)的IP地址,故應保證服務(wù)器中心計算機連接到Internet并且取得公網(wǎng)IP地址。在單片機對GPRS模塊控制之前,服務(wù)器端需運行SOCKET端口監聽(tīng)程序(此監聽(tīng)程序一般是現成的),并且設為監聽(tīng)狀態(tài),端口號也要設定,例如port:1024。

2 單片機與GPRS模塊的連接

  單片機與GPRS模塊一般采用串行異步通信接口,通信速度可設定,通常為9600 bps。采用RS232電纜方式進(jìn)行連接時(shí),數據傳輸的可靠性較好。單片機通過(guò)電平轉換電路與GPRS模塊連接,電路比較簡(jiǎn)單,電路原理圖如圖2所示。所涉及的芯片MAX232用于串行通信接口與232通信接口之間的電平轉換[3]。

 

                   圖1系統組成框圖

 

            圖2單片機與GPRS模擬連接的電路原理圖

  MAX232的T1IN、T2IN、R1OUT、R2OUT為接TTL/CMOS電平的引腳;T1OUT、T2OUT、R1IN、R2IN為接RS232電平的引腳。TTL/CMOS電平的T1IN、T2IN引腳應接AT89C52的串行發(fā)送引腳TXD;R1OUT、R2OUT應接AT89C52的串行接收引腳RXD。與之對應,RS232電平的T1OUT、T2OUT應接GPRS模塊的接收端RXD;R1IN、R2IN應接GPRS模塊的發(fā)送端TXD。

  現選用其中一路發(fā)送/接收,R1OUT接AT89C52的RXD,T1IN接AT89C52的TXD,T1OUT接GPRS模塊的RXD, R1IN接GPRS模塊的發(fā)送端TXD。因為MAX232具有驅動(dòng)能力,所以不需要外加驅動(dòng)電路。

3 建立SOCKET連接的命令

  下面對SOCKET通信中要用到的一些AT命令[2]進(jìn)行說(shuō)明。

  3.1 基本設置

 ?、?GPRS ISP 碼。
  AT+IISP1=*99***1# //全國通用

 ?、?登錄用戶(hù)名。
  AT+IUSRN=WAP//GPRS網(wǎng)絡(luò )登錄名

 ?、?登錄密碼。
  AT+IPWD=WAP// GPRS網(wǎng)絡(luò )登錄密碼

 ?、?MODEM 類(lèi)型。
  AT+IMTYP=2 //定義GPRS MODEM

 ?、?初始化命令。
  AT+IMIS=“AT+CGDCONT=1,ip,CMNET”

 ?、?域名服務(wù)器。
  AT+IDNS1=211.136.18.171
  //DNS服務(wù)器地址,全國通用

 ?、?擴展碼(XRC)。
  AT+IXRC=0

  3.2 SOCKET設置

 ?、?建立一個(gè)TCP通信。
  AT+ISTCP:218.66.16.173,1024CR>
  建立SOCKET連接,218.66.16.173為服務(wù)中心計算機端IP地址(實(shí)際地址由實(shí)際情況決定),1024 為端口號(端口號由中心SOCKET端口監聽(tīng)程序設置決定)。 如果連接成功,LT8030返回I/xxx。xxx為L(cháng)T8030中本次SOCKET連接的句柄號。中心監聽(tīng)程序會(huì )顯示連接的終端IP地址。如果連接失敗,LT8030返回I/ERROR(xxx)。xxx為錯誤代碼。

 ?、?發(fā)送數據。
  AT+ISSND%:xxx,string Length>:string>
  發(fā)送數據,xxx為句柄,string Length>為要發(fā)送的字符長(cháng)度,string>為要發(fā)送的數據。發(fā)送成功后,在中心端可看到終端發(fā)送的數據。最多一次能夠發(fā)送5K以下的數據。

 ?、?查詢(xún)SOCKET狀態(tài)。
  AT+ISST:xxxCR>
  查詢(xún)SOCKET狀態(tài),xxx為句柄。 LT8030返回I/SOCKETstat>。如果SOCKETstat>= 000,表示該端口連接正常;如果SOCKETstat>≥1,LT8030通過(guò)該端口從中心接收存在Buffer 里的字節數;如果SOCKETstat>0,則SOCKET錯誤。

 ?、?接收數據。
  AT+ISRCV:xxxCR>
  xxx為句柄。該指令會(huì )讀取LT8030通過(guò)該句柄從中心接收到的,存在Buffer 里的數據;Buffer最大可存儲30K的數據。

 ?、?關(guān)閉SOCKET通道。
  AT+ISCLS:xxx
  關(guān)閉SOCKET通道,xxx為句柄。

4 程序的設計  

  根據單片機與GPRS模塊通信協(xié)議的約定,單片機串行口設為方式1,波特率為9 600 bps,8位UART,1位起始位,1位停止位,無(wú)奇偶校驗。上電后,首先向GPRS模塊發(fā)送基本設置命令,即ISP碼、用戶(hù)名及用戶(hù)密碼幀等,其中ISP碼必須為“*99***1#”,用戶(hù)名和用戶(hù)密碼可以任意設置,但不能為空。在使用LT8030 GPRS 上網(wǎng)功能之前,必須正確設置這些參數。參數一旦設置后,即永久保存,以后無(wú)需重新再設( 以上設定為L(cháng)T8030C出廠(chǎng)時(shí)的默認參數)。然后向GPRS模塊發(fā)送SOCKET設置幀,如成功,則點(diǎn)和點(diǎn)通信環(huán)境已建立,接著(zhù)就調用發(fā)送數據幀。

  開(kāi)機上電后,程序在主函數中運行,單片機進(jìn)行初始化。初始化包括設置串口工作方式、波特率,并初始化變量參數和標志位。

  編著(zhù)注:實(shí)現SOCKET通信的完整程序,見(jiàn)本刊網(wǎng)站(www.dpj.com.cn)。

結語(yǔ)

  隨著(zhù)計算機和通信技術(shù)的進(jìn)步,當今社會(huì )的生產(chǎn)正朝著(zhù)高效、準確和穩定的方向發(fā)展,這對數據傳輸的實(shí)時(shí)性、可靠性、信息量提出了更高的要求,為此介紹利用GPRS模塊實(shí)現SOCKET通信的系統。本文采用內嵌TCP/IP協(xié)議的GPRS模塊LT8030,在8位微控制器AT89C52上實(shí)現了對LT8030的控制,并實(shí)現了GPRS的SOCKET通信功能,具有外圍器件少、電路簡(jiǎn)單、系統成本低等優(yōu)點(diǎn)。

                參考文獻

1 J R (Bud)Bates. 通用分組無(wú)線(xiàn)業(yè)務(wù)(GPRS)技術(shù)與. 朱洪波,等譯. 北京:人民郵電出版社,2004
2 利事達信息技術(shù)有限公司.LT8030介紹
3 胡偉,季曉衡.單片機C程序設計及應用實(shí)例. 北京:人民郵電出版社,2003
4 張毅剛,彭喜元,等.MCS51單片機應用設計.哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2002

余琴:生,主要從事智能儀器設計與嵌入式系統方向的。
趙振華:生導師,副教授,主要從事智能儀器設計與嵌入式系統方向的研究與教學(xué)。



關(guān)鍵詞: 應用 研究 通信 SOCKET GPRS 基于

評論


相關(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>