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(); } } } } }
See also
- GPRS
The text of the 86Duino reference is a modification of the Arduino reference, and is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.