Home Page | Language Reference| extended() | SD Reference | Libraries | Comparison | Changes

GSM : GPRS class

attachGPRS()

Description

Connects to the specified Access Point Name (APN) to initiate GPRS communication.

Every cellular provider has an Access Point Name (APN) that serves as a bridge between the cellular network and the internet. Sometimes, there is a username and password associated with the connection point. For example, the Bluevia APN is bluevia.movistar.es, but it has no password or login name.

This page lists a number of carrier's information, but it may not be up to date. You may need to get this information from your service provider.

Syntax

grps.attachGPRS(APN, user, password)

Parameters

Returns

char array : ERROR, IDLE, CONNECTING, GSM_READY, GPRS_READY, TRANSPARENT_CONNECTED

Example

#include <GSM.h> // PIN Number
#define PINNUMBER "" // APN data
#define GPRS_APN       "GPRS_APN" // replace your GPRS APN
#define GPRS_LOGIN     "login"    // replace with your GPRS login
#define GPRS_PASSWORD  "password" // replace with your GPRS password
// initialize the library instance
GPRS gprs;
GSM gsmAccess;     // include a 'true' parameter for debug enabled
GSMServer server( 80 ) ; // port 80 (http default) // timeout
const unsigned long __TIMEOUT__ = 10 * 1000 ; void setup ( )
{
  // initialize serial communications
  Serial.begin ( 9600 ) ;   // connection state
  boolean notConnected = true ;   // Start GSM shield
  // If your SIM has PIN, pass it as a parameter of begin() in quotes
  while (notConnected)
  {
    if ( (gsmAccess.begin (PINNUMBER) ==GSM_READY) &
        (gprs.attachGPRS (GPRS_APN, GPRS_LOGIN, GPRS_PASSWORD) ==GPRS_READY) )
      notConnected = false ;
    else
    {
      Serial.println ( "Not connected" ) ;
      delay ( 1000 ) ;
    }
  }   Serial.println ( "Connected to GPRS network" ) ;   // start server
  server.begin ( ) ;   //Get IP.
  IPAddress LocalIP = gprs.getIPAddress ( ) ;
  Serial.println ( "Server IP address=" ) ;
  Serial.println (LocalIP) ;
} void loop ( ) {
  // listen for incoming clients
  GSM3MobileClientService client = server.available ( ) ;
  if (client)
  {  
    while (client.connected ( ) )
    {
      if (client.available ( ) )
      {
        Serial.println ( "Receiving request!" ) ;
        bool sendResponse = false ;
        while ( char c=client.read ( ) ) {
          if (c == '\n' ) sendResponse = true ;
        }      // if you've gotten to the end of the line (received a newline
     // character)
       if (sendResponse)
       {
          // send a standard http response header
          client.println ( "HTTP/1.1 200 OK" ) ;
          client.println ( "Content-Type: text/html" ) ;
          client.println ( ) ;
          client.println ( "<html>" ) ;
          // output the value of each Analog input pin
          for ( int AnalogChannel = 0 ; AnalogChannel < 6 ; AnalogChannel++ ) {
            client.print ( "Analog input " ) ;
            client.print (AnalogChannel) ;
            client.print ( " is " ) ;
            client.print ( AnalogRead (AnalogChannel) ) ;
            client.println ( "<br />" ) ;      
          }
          client.println ( "</html>" ) ;
          //necessary delay
          delay ( 1000 ) ;
          client.stop ( ) ;
        }
      }
    }
  }
}
This page lists a number of carrier's information, but it may not be up to date. You may need to get this information from your service provider.

Syntax

grps.attachGPRS(APN, user, password)

Parameters

Returns

char array : ERROR, IDLE, CONNECTING, GSM_READY, GPRS_READY, TRANSPARENT_CONNECTED

Example

None

See Also

Reference Home

The text of the Arduino reference is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.