Arduino Forum

Products => Arduino GSM Shield => Topic started by: sepy on Apr 01, 2013, 03:34 am

Title: GSM Web Client
Post by: sepy on Apr 01, 2013, 03:34 am
I am using the GSM Shield with RFRobot backpack and I am running the program Web Client example. I have not yet set a PIN on the GSM which is for the most part in its defaulted state. I have not set a login or password either yet on the sm5100b.

Code: [Select]

 Web client

This sketch connects to a website through a GSM shield. Specifically,
this example downloads the URL "" and prints it
to the Serial monitor.

* GSM shield attached to an Arduino
* SIM card with a data plan

created 8 Mar 2012
by Tom Igoe


// libraries
#include <GSM.h>

// PIN Number
#define PINNUMBER ""

// APN data
#define GPRS_APN       "att.mvno" // replace your GPRS APN
#define GPRS_LOGIN     ""    // replace with your GPRS login
#define GPRS_PASSWORD  "" // replace with your GPRS password

// initialize the library instance
GSMClient client;
GPRS gprs;
GSM gsmAccess;

// URL, path & port (for example:
char server[] = "";
char path[] = "/";
int port = 80; // port 80 is the default for HTTP

void setup()
 // initialize serial communications and wait for port to open:
 while (!Serial) {
   ; // wait for serial port to connect. Needed for Leonardo only

 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
   if((gsmAccess.begin(PINNUMBER)==GSM_READY) &
     notConnected = false;
     Serial.println("Not connected");


 // if you get a connection, report back via serial:
 if (client.connect(server, port))
   // Make a HTTP request:
   client.print("GET ");
   client.println(" HTTP/1.0");
   // 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 =;
 // if the server's disconnected, stop the client:
 if (!client.available() && !client.connected())

   // do nothing forevermore:

My SIM card is an H20 Wireless $40/Month plan that is supposed to have 400mb of data with it. Right now my serial output is coming out as "not connected". I am hoping to get the device to read some data from is all I really need to do with it right now. Thanks in advance for any help out in this regard! I am able to dial out and send SMS.

My call to at+senddata is returning

+CME ERROR: operation not supported
+CME ERROR send data failed.

What are the potential causes for this? I am following the white paper for at send data commands and manually calling the at+senddata from the terminal.
Title: Re: GSM Web Client
Post by: zorzano on Apr 01, 2013, 09:49 am

Reading your post it looks like you are not using the Arduino GSM/GPRS shield:

but another one.

The example and the supporting library are prepared for the Arduino shield. May that be the reason?
Title: Re: GSM Web Client
Post by: andresorihuela on Apr 10, 2013, 08:38 pm
yeah in fact you have to obtain the respective datasheet of at command for your device and after thad modify the library on the At commands to acces to GPRS
Title: Re: GSM Web Client
Post by: shokoishida on Jun 15, 2018, 03:22 am
Maybe you need a GSM shield? You can go to Perfectjammer
There's a lot of information out there