Home Page | Language Reference (extended) | SD Reference | Libraries | Comparison | Changes
GSM :
GSMClient
class
connect()
Description
Connects to a specified IP address and port. The return value indicates success or failure.
Syntax
client.connect(ip, port)
Parameters
- ip: the IP address that the client will connect to (array of 4 bytes)
- port: the port that the client will connect to (int)
Returns
boolean : Returns true if the connection succeeds, false if not.
Example
/*
Web client
This sketch connects to a website through a GSM shield. Specifically,
this example downloads the URL "http://arduino.cc/" and prints it
to the Serial monitor.
Circuit:
* GSM shield attached to an Arduino
* SIM card with a data plan
created 8 Mar 2012
by Tom Igoe
http://arduino.cc/en/Tutorial/GSMExamplesWebClient
*/
// libraries
#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
GSMClient client;
GPRS gprs;
GSM gsmAccess;
// URL, path & port (for example: arduino.cc)
char server[
]
=
"arduino.cc"
;
char path[
]
=
"/"
;
int port =
80
;
// port 80 is the default for HTTP
void
setup
(
)
{
// initialize serial communications
Serial.begin
(
9600
)
;
Serial.println
(
"Starting Arduino web client."
)
;
// connection state
boolean notConnected =
true
;
// After starting the modem with GSM.begin()
// attach the shield to the GPRS network with the APN, login and password
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
(
"connecting..."
)
;
// if you get a connection, report back via serial:
if
(client.connect
(server, port)
)
{
Serial.println
(
"connected"
)
;
// Make a HTTP request:
client.print
(
"GET "
)
;
client.print
(path)
;
client.println
(
" HTTP/1.0"
)
;
client.println
(
)
;
}
else
{
// if you didn't get a connection to the server:
Serial.println
(
"connection failed"
)
;
}
}
void
loop
(
)
{
// if there are incoming bytes available
// from the server, read them and print them:
if
(client.available
(
)
)
{
char c = client.read
(
)
;
Serial.print
(c)
;
}
// if the server's disconnected, stop the client:
if
(
!client.available
(
)
&&
!client.connected
(
)
)
{
Serial.println
(
)
;
Serial.println
(
"disconnecting."
)
;
client.stop
(
)
;
// do nothing forevermore:
for
(
;;
)
;
}
}
See Also
Reference Home
Corrections, suggestions, and new documentation should be posted to the Forum.
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.