Weblessons.org
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
- APN : char array, the Access Point Name (APN) provided by the mobile operator
- user : char array, the username for the APN
- password : char array, the password to access the APN
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
- APN : char array, the Access Point Name (APN) provided by the mobile operator
- user : char array, the username for the APN
- password : char array, the password to access the APN
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.