新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 基于GPRS的SOCKET通信的應用研究

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

        作者: 時間:2005-11-21 來源:網絡 收藏

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

        關鍵詞:SOCKET通信 串行通信 AT命令

        引 言

          GPRS(General Packet Radio Service)是通用分組無線業務的簡稱,是一種以全球手機系統(GSM)為基礎的數據傳輸技術[1]。GPRS網不但具有覆蓋范圍廣、數據傳輸速度快、通信質量高、永遠在線和按流量計費等優點,而且其本身就是一個分組型數據網,支持TCP/IP協議,無需經過PSTN(公用電話交換網)等網絡的轉接,可直接與Internet網互通。因此GPRS業務在無線上網、環境監測、交通監控、移動辦公等行業中具有無可比擬的性價比優勢。

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

        1 系統組成

          系統的組成如圖1所示。該系統利用現有的GPRS網絡,單片機通過串口對GPRS模塊進行收發控制,實現SOCKET通信。

          系統各部分的說明如下:

          ① 單片機采用了AT89C52,它帶有一個串口;

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

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

        2 單片機與GPRS模塊的連接

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

         

                           圖1系統組成框圖

         

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

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

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

        3 建立SOCKET連接的命令

          下面對SOCKET通信中要用到的一些AT命令[2]進行說明。

          3.1 基本設置

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

          ② 登錄用戶名。
          AT+IUSRN=WAP//GPRS網絡登錄名

          ③ 登錄密碼。
          AT+IPWD=WAP// GPRS網絡登錄密碼

          ④ MODEM 類型。
          AT+IMTYP=2 //定義GPRS MODEM

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

          ⑥ 域名服務器。
          AT+IDNS1=211.136.18.171
          //DNS服務器地址,全國通用

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

          3.2 SOCKET設置

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

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

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

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

          ⑤ 關閉SOCKET通道。
          AT+ISCLS:xxx
          關閉SOCKET通道,xxx為句柄。

        4 程序的設計  

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

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

          編著注:實現SOCKET通信的完整程序,見本刊網站(www.dpj.com.cn)。

        結語

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

                        參考文獻

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

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



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 东方市| 泰州市| 黄大仙区| 大庆市| 抚顺县| 延庆县| 岳阳市| 华阴市| 孝感市| 华宁县| 岑溪市| 夹江县| 礼泉县| 百色市| 随州市| 高淳县| 新巴尔虎左旗| 任丘市| 岢岚县| 西宁市| 三台县| 宝应县| 木里| 鄂州市| 石柱| 黑水县| 绥滨县| 昌都县| 宝山区| 元朗区| 姜堰市| 儋州市| 台湾省| 吉林省| 乐平市| 怀化市| 利川市| 鹿邑县| 德阳市| 河南省| 陆川县|