新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 支持TCP/IP協議的新一代GSM/GPRS模塊及應用

        支持TCP/IP協議的新一代GSM/GPRS模塊及應用

        作者: 時間:2011-09-11 來源:網絡 收藏

        實例

          在這一部分,我們將列出一些使用索尼愛立信GR47實例以供參考。第一個例子顯示了使用AT命令建立一個TCP會話的步驟,第二個則是嵌入式的范例。

          1.使用AT命令接入GPRS網

          GR47提供一系列AT命令來完成的功能,以簡化應用集成的流程。相關的命令可以讓應用設計者建立和取消UDP和TCP ,控制GPRS PDP context 的建立,傳送數據,檢查IP的狀態信息等。

          啟動TCP會話功能的步驟如下所示:

          1. at+cgdcont=1,“IP”,“CMNET” *write PDP context information, connect to China Mobile GPRS network*

          2. at*e2ipa=1,1 *active IP session using stored PDP context*

          3. at*e2ipi=0 *return currently assigned IP address*

          4. at*e2ipo=1,“166.111.8.238”,23 *initiate a TCP connection to the module*

          5. at*e2ipc *close a currently opened IP connection*

          當處于數據傳輸狀態中時,需要激活DTR來轉換回在線命令模式,ATO則被用于再次轉換回數據模式。

          2.嵌入式應用接入GPRS網

          以下描述示范怎樣激活PDP文本、開始TCP對話以及接收數據。這只是整個程序的一部分,不能單獨運行。

          /* Reset the IP error flag by reading it */

          gtf( APPS_IP_ERROR_TRIGGER );

          Err = pdpa( 1, 1 );

          prtf( “n PDP activate result = %dn”, Err );

          if ( Err == 0 )

          { Val = ipi( 0 );

          prtf( “ IP Address = %x”, Val );}

          else

          { prtf( “n PDP activation failed!n” );

          return;}

          Err = ipo( 1, SckNum );

          if( Err != 0 )

          { prtf( “ n TCP Socket open failed!n” );}

          else

          { prtf( “n TCP Socket Opened!n” );

          Err = tcpc( SckNum, Port, Address );

          if( (Err == 0) || (Err == TCP_CONNECTING) || (Err == TCP_CONNECTED) )

          { while( !Complete (gtb( APPS_IP_ERROR_STATUSBYTE ) == 0) )

          { int len;

          /* Receive some data */

          if( gtf( APPS_IP_DATA_RECVD ) )

          { prtf( “n IP DATA RECVD” );

          len = RXTX_SIZE;

          Err = tcpr( SckNum, RxTxBuf, len);

          if( Err != 0 )

          { prtf( “n *** Error in TCP Receive (%d)。 ***nn”, Err );}

          else

          { if( gtb( APPS_IP_TCPSTATUS_BYTE ) == TCP_CONNECTING )

          { prtf( “n Delaying while TCP Connect occurs.。.nn” );}

          else

          { prtf( “n Received %d bytes of data.nn”, len ); }

          }

          }

          }

          }

          Err = ipc( SckNum );

          if ( Err != 0 )

          { prtf( “n Socket close failed!n” );} }

          Err = pdpa( 0, 1 );

          prtf( “n PDP deactivate result = %dn”, Err );

          本文小結

          基于為很多應用提供了更高級的解決方案,例如,車輛定位、遠程抄表和遠程銀行等。它具有無線通信的靈活性和移動性,協議提供對因特網“永遠在線”的通信方式,以及相對于SMS、CSD等更為經濟的解決方案。索尼愛立信GSMTCP/IP協議及嵌入式應用,是很完善的無線通信解決方案之一。

        tcp/ip相關文章:tcp/ip是什么



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 金湖县| 绥棱县| 金山区| 滁州市| 安岳县| 尼勒克县| 舟曲县| 都昌县| 繁峙县| 遂川县| 宿迁市| 连平县| 九江市| 绥阳县| 昌平区| 开封县| 班戈县| 鲁甸县| 罗甸县| 连州市| 开平市| 昌都县| 施秉县| 双柏县| 崇左市| 花垣县| 卢湾区| 巴彦淖尔市| 炉霍县| 洪泽县| 金阳县| 巩义市| 库尔勒市| 噶尔县| 陈巴尔虎旗| 晋州市| 旺苍县| 时尚| 资中县| 临沧市| 克什克腾旗|