《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于GPRS模塊LT8030的SOCKET通信系統(tǒng)的實(shí)現(xiàn)
基于GPRS模塊LT8030的SOCKET通信系統(tǒng)的實(shí)現(xiàn)
電子發(fā)燒友網(wǎng)
摘要: 在網(wǎng)絡(luò)設(shè)置中有HTTP,、SOCKET等類型。SOCKET是建立在傳輸層協(xié)議(主要是TCP和UDP)上的一種套接字規(guī)范,,它定義兩 ...
Abstract:
Key words :
      在網(wǎng)絡(luò)設(shè)置中有HTTP,、SOCKET等類型。SOCKET是建立在傳輸層協(xié)議(主要是TCP和UDP)上的一種套接字規(guī)范,,它定義兩臺計(jì)算機(jī)間進(jìn)行通信的規(guī)范(也是一種編程規(guī)范)。如果說兩臺計(jì)算機(jī)是利用一個(gè)通道進(jìn)行通信,,那么這個(gè)通道的兩端就是兩個(gè)套接字,。套接字屏蔽了底層通信軟件和具體操作系統(tǒng)的差異,使得任何兩臺安裝了TCP協(xié)議軟件和實(shí)現(xiàn)了套接字規(guī)范的計(jì)算機(jī)之間的通信成為可能,。

      1 系統(tǒng)組成

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

      系統(tǒng)各部分的說明如下:

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

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

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

      2 單片機(jī)與GPRS模塊的連接

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

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

      現(xiàn)選用其中一路發(fā)送/接收,R1OUT接AT89C52的RXD,,T1IN接AT89C52的TXD,T1OUT接GPRS模塊的RXD, R1IN接GPRS模塊的發(fā)送端TXD。因?yàn)镸AX232具有驅(qū)動能力,,所以不需要外加驅(qū)動電路,。

  3 建立SOCKET連接的命令

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

  3.1 基本設(shè)置

 ?、?GPRS ISP 碼,。

  AT+IISP1=*99***1# //全國通用

  ② 登錄用戶名,。

  AT+IUSRN=WAP//GPRS網(wǎng)絡(luò)登錄名

 ?、?登錄密碼。

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

 ?、?MODEM 類型,。

  AT+IMTYP=2 //定義GPRS MODEM

  ⑤ 初始化命令,。

  AT+IMIS=“AT+CGDCONT=1,ip,CMNET”

 ?、?*器。

  AT+IDNS1=211.136.18.171

  //DNS服務(wù)器地址,,全國通用

 ?、?擴(kuò)展碼(XRC),。

  AT+IXRC=0

  3.2 SOCKET設(shè)置

 ?、?建立一個(gè)TCP通信,。

  AT+ISTCP:218.66.16.173,1024

  建立SOCKET連接,218.66.16.173為應(yīng)用服務(wù)中心計(jì)算機(jī)端IP地址(實(shí)際地址由實(shí)際情況決定),,1024 為端口號(端口號由中心SOCKET端口*程序設(shè)置決定),。 如果連接成功,LT8030返回I/xxx,。xxx為LT8030中本次SOCKET連接的句柄號,。中心*程序會顯示連接的終端IP地址。如果連接失敗,,LT8030返回I/ERROR(xxx),。xxx為錯(cuò)誤代碼。

 ?、?發(fā)送數(shù)據(jù),。

  AT+ISSND%:xxx

  發(fā)送數(shù)據(jù),xxx為句柄,,為要發(fā)送的字符長度,,為要發(fā)送的數(shù)據(jù)。發(fā)送成功后,,在中心端可看到終端發(fā)送的數(shù)據(jù),。最多一次能夠發(fā)送5K以下的數(shù)據(jù)。

 ?、?查詢SOCKET狀態(tài),。

  AT+ISST:xxx

  查詢SOCKET狀態(tài),xxx為句柄,。 LT8030返回I/,。如果= 000,表示該端口連接正常;如果≥1,,LT8030通過該端口從中心接收存在Buffer 里的字節(jié)數(shù);如果<0,,則SOCKET錯(cuò)誤。

 ?、?接收數(shù)據(jù),。

  AT+ISRCV:xxx

  xxx為句柄。該指令會讀取LT8030通過該句柄從中心接收到的,,存在Buffer 里的數(shù)據(jù);Buffer最大可存儲30K的數(shù)據(jù),。

  ⑤ 關(guān)閉SOCKET通道,。

  AT+ISCLS:xxx

  關(guān)閉SOCKET通道,,xxx為句柄,。

  4 程序的設(shè)計(jì)

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

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

  結(jié)語

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

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。