Guide.ArduinoGSMShield History

Hide minor edits - Show changes to markup

September 30, 2013, at 08:53 PM by Roberto Guido - todo's corrections
Changed line 11 from:

What is GSM

to:

What is GSM

Changed line 16 from:

What is GPRS

to:

What is GPRS

Changed line 21 from:

Network operator requirements

to:

Network operator requirements

Changed lines 26-27 from:

SIM cards

to:

SIM cards

Changed lines 38-39 from:

Notes on the Telefonica/Bluevia SIM included with the shield

to:

Notes on the Telefonica/Bluevia SIM included with the shield

Changed lines 56-57 from:

Connecting the Shield

to:

Connecting the Shield

Changed lines 94-95 from:

GSM Library

to:

GSM Library

Changed lines 98-99 from:

Testing the modem and network connection

to:

Testing the modem and network connection

Changed lines 185-186 from:

Sending a SMS message

to:

Sending a SMS message

Changed lines 257-258 from:

Connecting to the internet

to:

Connecting to the internet

Changed lines 356-357 from:

Making voice calls

to:

Making voice calls

Changed lines 469-470 from:

Next steps

to:

Next steps

March 11, 2013, at 03:31 PM by Scott Fitzgerald -
Changed lines 7-8 from:

The GSM library is included with Arduino IDE 1.0.4 and later.

to:
March 11, 2013, at 03:28 PM by Scott Fitzgerald -
Added lines 7-8:

The GSM library is included with Arduino IDE 1.0.4 and later.

March 11, 2013, at 06:39 AM by Scott Fitzgerald -
Changed lines 5-6 from:

The shield will work with the Arduino Uno out of the box. The shield will work with the Mega and Leonardo boards with a minor modification. The Due is not supported at this time.

to:

The shield will work with the Arduino Uno out of the box. The shield will work with the Mega, Mega ADK, and Leonardo boards with a minor modification. The Due is not supported at this time.

Changed lines 56-57 from:

If you are using an Arduino Uno, follow the instructions below. If you are using an Arduino Mega or Leonardo, you must follow these instructions. The GSM shield is not currently supported on the Due.

to:

If you are using an Arduino Uno, follow the instructions below. If you are using an Arduino Mega, Mega ADK, or Leonardo, you must follow these instructions. The GSM shield is not currently supported on the Due.

Deleted lines 89-94:

The shield and the examples have been tested with:

  • Arduino UNO
  • Arduino Mega
  • Arduino Mega ADK
March 10, 2013, at 11:41 AM by Scott Fitzgerald -
Added lines 5-6:

The shield will work with the Arduino Uno out of the box. The shield will work with the Mega and Leonardo boards with a minor modification. The Due is not supported at this time.

March 10, 2013, at 11:38 AM by Scott Fitzgerald -
Added lines 54-55:

If you are using an Arduino Uno, follow the instructions below. If you are using an Arduino Mega or Leonardo, you must follow these instructions. The GSM shield is not currently supported on the Due.

March 09, 2013, at 07:25 AM by Scott Fitzgerald -
Changed lines 8-9 from:

GSM is an international standard for mobile telephones. It is an acronym that stands for Global System for Mobile Communications. It is also sometimes referred to as 2G, as it is a second-generation cellular network.

to:

GSM is an international standard for mobile telephones. It is an acronym that stands for Global System for Mobile Communications. It is also sometimes referred to as 2G, as it is a second-generation cellular netwTo use GPRS for internet access, and for the Arduino to request or serve webpages, you need to obtain the Access Point Name (APN) and a username/password from the network operator. See the information in Connecting to the Internet for more information about using the data capabilities of the shield.

March 06, 2013, at 08:53 AM by Scott Fitzgerald -
Changed lines 80-81 from:

You must press the Power button on the shield for a few moments to turn the modem on. When the yellow status LED turns on, it means the modem is powered, and you can try connecting to the network.

to:

When the yellow status LED turns on, it means the modem is powered, and you can try connecting to the network.

Developer versions of the GSM shield required you to press press the Power button on the shield for a few moments to turn the modem on. If you have an early version of the shield, and it does not turn on automatically, you can solder a jumper to the CTRL/D7 pad on the reverse side of the board, and it will turn on when an attached Arduino receives power.

March 01, 2013, at 06:32 AM by Scott Fitzgerald -
Changed line 467 from:

Now that you have tested the basic functionality of the board,see the GSM library pages and hardware page.

to:

Now that you have tested the basic functionality of the board, see the GSM library pages for information about the library's API and additional examples. See the hardware page for more information about the shield itself.

March 01, 2013, at 06:30 AM by Scott Fitzgerald -
Added lines 364-368:

February 27, 2013, at 10:44 AM by Scott Fitzgerald -
February 27, 2013, at 10:44 AM by Scott Fitzgerald -
Added lines 360-363:

On page 43 of the modem documentation, there is an example voice and sound circuit that will connect to an earphone:

February 27, 2013, at 10:39 AM by Scott Fitzgerald -
Changed lines 18-21 from:

To access a network, you must have a subscription with a mobile phone operator (either prepaid or contract), a GSM compliant device like the GSM shield or a mobile phone, and a Subscriber Identity Module (SIM) card. The network operator provides you a SIM, which contains information like the mobile number, and can store limited amounts of contacts and SMS messages.

To use GPRS for internet access, and for the Arduino to request or serve webpages, you need to obtain the Access Point Name (APN) and a username/password from the network operator.

to:

To access a network, you must have a subscription with a mobile phone operator (either prepaid or contract), a GSM compliant device like the GSM shield or mobile phone, and a Subscriber Identity Module (SIM) card. The network operator provides the SIM card, which contains information like the mobile number, and can store limited amounts of contacts and SMS messages.

To use GPRS for internet access, and for the Arduino to request or serve webpages, you need to obtain the Access Point Name (APN) and a username/password from the network operator. See the information in Connecting to the Internet for more information about using the data capabilities of the shield.

Changed lines 24-36 from:

In addition to the GSM shield and an Arduino, you'll need a SIM card. The SIM represents a contract with a communications provider. The communications provider selling you the SIM has to either:

  • provide GSM coverage in the zone you are working, or
  • have a roaming agreement with a company providing GSM coverage in your zone.

It's common for SIM cards to have a four-digit PIN number associated with them for security purposes. Keep note of this, as it's necessary for connecting to a network. If you lose the PIN associated with your SIM card, you may need to contact your network operator to retrieve it. Some SIM cards become permanently locked if an incorrect PIN is entered too many times. If you're unsure of what the PIN is, look at the documentation that came with your SIM.

Using a PUK (PIN Unlock Code), it is possible to reset a lost PIN with the GSM shield and an Arduino. The PUK number will come with your SIM card documentation. There is an example sketch on communicating with the SIM card in the "tools" folder of the library examples.

There are a few different sizes of SIM cards, the GSM shield accepts cards in the mini-SIM format (25mm long and 15mm wide).

Notes on the SIM included with the shield

to:

In addition to the GSM shield and an Arduino, you need a SIM card. The SIM represents a contract with a communications provider. The communications provider selling you the SIM has to either provide GSM coverage where you are, or have a roaming agreement with a company providing GSM coverage in your location.

It's common for SIM cards to have a four-digit PIN number associated with them for security purposes. Keep note of this number, as it's necessary for connecting to a network. If you lose the PIN associated with your SIM card, you may need to contact your network operator to retrieve it. Some SIM cards become locked if an incorrect PIN is entered too many times. If you're unsure of what the PIN is, look at the documentation that came with your SIM.

Using a PUK (PIN Unlock Code), it is possible to reset a lost PIN with the GSM shield and an Arduino. The PUK number will come with your SIM card documentation.

Look at the PIN Management example in the "tools" folder, bundled with the GSM library for an example of how to manage your PIN number with the PUK.

There are a few different sizes of SIM cards; the GSM shield accepts cards in the mini-SIM format (25mm long and 15mm wide).

Notes on the Telefonica/Bluevia SIM included with the shield

Changed lines 38-41 from:

The Bluevia SIM card includes a world-wide roaming plan, it can be used on any GSM network in the world.

Activation of the SIM is handled by Bluevia, a Telefonica subsidiary. Detailed instructions on how to register and activate your SIM online and add credit are included on a small pamphlet that comes with your shield. The SIM must be inserted into the shield, mounted on an Arduino, and powered on when you go online for activation.

to:

The Bluevia SIM card includes a roaming plan. It can be used on any supported GSM network. There is coverage throughout the Americas and Europe for this SIM, check the Bluevia service availability page for specific countries that have supported networks.

Activation of the SIM is handled by Bluevia. Detailed instructions on how to register and activate your SIM online and add credit are included on a small pamphlet that comes with your shield. The SIM must be inserted into a powered GSM shield that is mounted on an Arduino for activation.

Changed lines 44-49 from:

You cannot use the included SIM to place or receive voice calls or SMS.

It's not possible to create a server that accepts incoming requests from the public internet. The Bluevia SIM will accept incoming requests from other SIM cards on the same network.

For using the voice, SMS, and other functions of the shield, you'll need to find a different network provider and SIM. Operators will have different policies for their SIM cards, it's best to check directly with them to see what sort of connections are supported.

to:

You cannot use the included SIM to place or receive voice calls.

You can only place and receive SMS with other SIMs on the Bluevia network.

It's not possible to create a server that accepts incoming requests from the public internet. However, the Bluevia SIM will accept incoming requests from other SIM cards on the Bluevia network.

For using the voice, and other functions of the shield, you'll need to find a different network provider and SIM. Operators will have different policies for their SIM cards, check with them directly to determine what types of connections are supported.

Changed lines 74-75 from:

To upload sketches to the board, connect it to your computer with a USB cable as you normally would. Once the sketch has been uploaded, you can disconnect the board from your computer and power it with an external power supply.

to:

To upload sketches to the board, connect it to your computer with a USB cable and upload your sketch with the Arduino IDE. Once the sketch has been uploaded, you can disconnect the board from your computer and power it with an external power supply.

Changed lines 78-79 from:

Digital pins 2, 3 and 7 are reserved for communication between the Arduino and modem and cannot be used. Communication between the moden and Arduino is handled by the Software Serial library.

to:

Digital pins 2, 3 and 7 are reserved for communication between the Arduino and modem and cannot be used by your sketches. Communication between the moden and Arduino is handled by the Software Serial library on pins 2 and 3. Pin 7 is used for the modem reset.

Changed lines 88-89 from:

The shield should run in any world zone with GSM coverage. Before buying the shield please verify that there is this kind of coverage where you plan to use it.

to:

The shield should work in any area with GSM coverage. Before buying the shield please verify that there is this kind of coverage where you plan to use it.

Changed lines 92-93 from:

The GSM library handles communication between Arduino and the GSM shield. The majority of functions deal with handling data, voice, and SMS, though there are also a number of utilities for things like getting information about the modem and managing the PIN. See the library reference pages for more information.

to:

The GSM library handles communication between Arduino and the GSM shield. The majority of functions are for managing data, voice, and SMS communication. There are also a number of utilities for managing information about the modem and the SIM card's PIN. See the library reference pages for more information and a complete set of examples.

Changed line 99 from:

// libraries

to:

// import the GSM library

Changed lines 255-256 from:

In addition to the SIM card, you will need some additional information from your cellular provider to connect to the internet. Every cellular provider has an Access Point Name (APN) that serves as a bridge between the cellular network and the internet.

to:

In addition to the SIM card and a data plan, you will need some additional information from your cellular provider to connect to the internet. 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.

Changed lines 259-262 from:

The sketch below will connect to arduino.cc/latest.txt and print out the contents of that file.

NB: Some network operators block incoming IP traffic. You should be able to run client functions with no issues.

to:

The sketch below will connect to arduino.cc/latest.txt and print out its contents.

NB: Some network operators block incoming IP traffic. You should be able to run client functions, such as the sketch below, with no issues.

Changed line 264 from:

// in clude the GSM library

to:

// include the GSM library

February 04, 2013, at 01:07 PM by Scott Fitzgerald -
Changed lines 37-38 from:

The GSM shield comes bundled with a SIM from Telefonica/Bluevia that will work well for developing mobile to mobile applications. It is not necessary to use this specific card with the shield. You may use any SIM that works on a network in your area.

to:

The GSM shield comes bundled with a SIM from Telefonica/Bluevia that will work well for developing machine to machine (M2M) applications. It is not necessary to use this specific card with the shield. You may use any SIM that works on a network in your area.

Changed lines 49-50 from:

For using the voice, SMS, and server functionality of the shield, you'll need to find a different network provider and SIM. Operators will have different policies for their SIM cards, it's best to check directly with them to see what sort of connections are supported.

to:

For using the voice, SMS, and other functions of the shield, you'll need to find a different network provider and SIM. Operators will have different policies for their SIM cards, it's best to check directly with them to see what sort of connections are supported.

February 04, 2013, at 12:29 PM by Scott Fitzgerald -
Changed lines 37-40 from:

The GSM shield comes bundled with a SIM from Telefonica that will work well for developing mobile to mobile applications. It is not necessary to use this specific card with the shield. You may use any SIM that works on a network in your area.

The SIM card includes a world-wide roaming plan specifically aimed at data transfers. It can be used on any GSM network in the world.

to:

The GSM shield comes bundled with a SIM from Telefonica/Bluevia that will work well for developing mobile to mobile applications. It is not necessary to use this specific card with the shield. You may use any SIM that works on a network in your area.

The Bluevia SIM card includes a world-wide roaming plan, it can be used on any GSM network in the world.

Changed lines 45-50 from:

The Bluevia/Telefonica SIMS cards can send and receive SMS messages with each other, but not outside the Telefonica network. You cannot use the included SIM to place or receive voice calls.

You cannot accept incoming server connections from outside the network, it's not possible to create a server that accepts incoming requests from the public internet. The SIM will, however, accept incoming requests from other SIM cards on the same network.

For using the voice, SMS, and server functionality of the shield outside of the Bluevia/Telefonica network, you'll need to find a different network provider and SIM. Different network operators will have different policies for their SIM cards, it's best to check directly with them to see what sort of connections are supported.

to:

You cannot use the included SIM to place or receive voice calls or SMS.

It's not possible to create a server that accepts incoming requests from the public internet. The Bluevia SIM will accept incoming requests from other SIM cards on the same network.

For using the voice, SMS, and server functionality of the shield, you'll need to find a different network provider and SIM. Operators will have different policies for their SIM cards, it's best to check directly with them to see what sort of connections are supported.

February 04, 2013, at 10:58 AM by Scott Fitzgerald -
Changed lines 254-255 from:

In addition to the SIM card, you will need some additional information from your cellular provider to connect to the internet. Every cellular provider has an Access Point Name (APN) that serves as a bridge between the cellular network and the internet. For example, to use the Bluevia SIM to connect to the internet, you would connect to XXXXX as the APN. XXX is the login and XXXX is the password.

to:

In addition to the SIM card, you will need some additional information from your cellular provider to connect to the internet. Every cellular provider has an Access Point Name (APN) that serves as a bridge between the cellular network and the internet.

February 04, 2013, at 10:52 AM by Scott Fitzgerald -
Changed lines 18-21 from:

To access a network, a user must have a subscription with a mobile phone operator (either prepaid or contract), a GSM compliant device like the GSM shield or a mobile phone, and a Subscriber Identity Module (SIM) card. The network operator provides the user a SIM, which contains information like the mobile number, and can store limited amounts of contacts and SMS messages.

To use GPRS for internet access, and for the Arduino to request or serve webpages, it's necessary to obtain the Access Point Name (APN) and a username/password from the network operator.

to:

To access a network, you must have a subscription with a mobile phone operator (either prepaid or contract), a GSM compliant device like the GSM shield or a mobile phone, and a Subscriber Identity Module (SIM) card. The network operator provides you a SIM, which contains information like the mobile number, and can store limited amounts of contacts and SMS messages.

To use GPRS for internet access, and for the Arduino to request or serve webpages, you need to obtain the Access Point Name (APN) and a username/password from the network operator.

SIM cards

In addition to the GSM shield and an Arduino, you'll need a SIM card. The SIM represents a contract with a communications provider. The communications provider selling you the SIM has to either:

  • provide GSM coverage in the zone you are working, or
  • have a roaming agreement with a company providing GSM coverage in your zone.

It's common for SIM cards to have a four-digit PIN number associated with them for security purposes. Keep note of this, as it's necessary for connecting to a network. If you lose the PIN associated with your SIM card, you may need to contact your network operator to retrieve it. Some SIM cards become permanently locked if an incorrect PIN is entered too many times. If you're unsure of what the PIN is, look at the documentation that came with your SIM.

Using a PUK (PIN Unlock Code), it is possible to reset a lost PIN with the GSM shield and an Arduino. The PUK number will come with your SIM card documentation. There is an example sketch on communicating with the SIM card in the "tools" folder of the library examples.

There are a few different sizes of SIM cards, the GSM shield accepts cards in the mini-SIM format (25mm long and 15mm wide).

Changed lines 69-70 from:

Once the SIM is inserted, mount it on top of an Arduino board (e.g. the Uno).

to:

Once the SIM is inserted, mount it on top of an Arduino board.

Changed lines 77-78 from:

Digital pins 2, 3 and 7 are reserved for communication between the Arduino and modem and cannot be used.

to:

Digital pins 2, 3 and 7 are reserved for communication between the Arduino and modem and cannot be used. Communication between the moden and Arduino is handled by the Software Serial library.

Changed lines 89-99 from:

In addition to the shield and an Arduino, you'll need a SIM card. The SIM represents a contract with a communications provider. The communications provider selling you the SIM has to either:

  • provide GSM coverage in the zone you are working, or
  • have a roaming agreement with a company providing GSM coverage in your zone.

It's common for SIM cards to have a four-digit PIN number associated with them for security purposes. Keep note of this, as it's necessary for connecting to a network. If you lose the PIN associated with your SIM card, you may need to contact your network operator to retrieve it. Some SIM cards become permanently locked if an incorrect PIN is entered too many times. If you're unsure of what the PIN is, look at the documentation that came with your SIM.

Using a PUK (PIN Unlock Code), it is possible to reset a lost PIN with the GSM shield and an Arduino. The PUK number will come with your SIM card documentation. There is an example sketch on communicating with the SIM card in the "tools" folder of the library examples.

There are a few different sizes of SIM cards, the GSM shield accepts cards in the mini-SIM format (25mm long and 15mm wide).

to:

GSM Library

The GSM library handles communication between Arduino and the GSM shield. The majority of functions deal with handling data, voice, and SMS, though there are also a number of utilities for things like getting information about the modem and managing the PIN. See the library reference pages for more information.

Changed lines 196-197 from:

char remoteNumber[20]={'1','2','1','2','5','5','5','1','2','1','2'};

to:

char remoteNumber[20]= "12125551212";

Changed lines 199-200 from:

char txtMsg[200]={'T','e','s','t'};

to:

char txtMsg[200]="Test";

Changed lines 254-257 from:

In addition to the SIM card, you will need some additional information from your cellular provider to connect to the internet. Every cellular provider has an Access Point Name (APN) that serves as a bridge between the cellular network and the internet.

You'll need to get this information from your service provider, as well as a username and password for the APN to access the internet.

to:

In addition to the SIM card, you will need some additional information from your cellular provider to connect to the internet. Every cellular provider has an Access Point Name (APN) that serves as a bridge between the cellular network and the internet. For example, to use the Bluevia SIM to connect to the internet, you would connect to XXXXX as the APN. XXX is the login and XXXX is the password.

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.

Changed line 416 from:
        // let the user know you're calling:
to:
        // show the number you're calling:
February 04, 2013, at 10:31 AM by Scott Fitzgerald -
Changed lines 40-43 from:

To use the shield, you'll need to insert a SIM card into the proper slot.

to:

To use the shield, you'll need to insert a SIM card into the holder. Slide the metal bracket away from the edge of the shield and lift the cradle up.

Insert the SIM in the plastic holder so the metal contacts are facing the shield, with the notch of the card at the top of the bracket.

Slide the SIM all the way into the bracket

Push the SIM to the board and slide the metal bracket towards the edge of the shield to lock it in place.

January 30, 2013, at 02:15 PM by Scott Fitzgerald -
Changed lines 32-33 from:

The Bluevia/Telefonica SIMS cards can send and receive SMS messages with each other, but not outside the Telefonica network.

to:

The Bluevia/Telefonica SIMS cards can send and receive SMS messages with each other, but not outside the Telefonica network. You cannot use the included SIM to place or receive voice calls.

January 30, 2013, at 10:51 AM by Scott Fitzgerald -
Changed line 439 from:

Now that you have tested the basic functionality of the board, refer to the built in examples and the GSM library reference page.

to:

Now that you have tested the basic functionality of the board,see the GSM library pages and hardware page.

January 30, 2013, at 07:59 AM by Scott Fitzgerald -
Changed lines 77-78 from:

This sketch will check the modem's IMEI number. This number is unique to each modem, and is used to identify valid devices that can connect to a GSM network. Once the number has been read from the modem, the modem will scan and print out the available frequency bands, the network carrier it is connected to, and the signal strength of the network.

to:

This sketch will check the modem's IMEI number. This number is unique to each modem, and is used to identify valid devices that can connect to a GSM network. Once the number has been read from the modem, the Arduino will print out the network carrier it is connected to, and the signal strength of the network over the serial port.

Changed lines 90-91 from:

GSMBand bandManager;

to:
Added lines 127-130:
  // currently connected carrier
  Serial.print("Current carrier: ");
  Serial.println(scannerNetworks.getCurrentCarrier());
Deleted lines 131-140:
  // get current band 
  GSM3GSMBand band;
  band=bandManager.getBand();
  Serial.print("Current band: ");
  Serial.println(bandManager.getBandName(band));

  // currently connected carrier
  Serial.print("Current carrier: ");
  Serial.println(scannerNetworks.getCurrentCarrier());
Changed lines 240-241 from:

The sketch below will connect to the internet, start a webserver and report back the IP address of the shield.

to:

The sketch below will connect to arduino.cc/latest.txt and print out the contents of that file.

Added line 245:

// in clude the GSM library

Changed line 248 from:

// PIN Number

to:

// PIN number if necessary

Changed lines 251-252 from:

// APN data

  1. define GPRS_APN "GPRS_APN" // replace your GPRS APN
to:

// APN information obrained from your network provider

  1. define GPRS_APN "GPRS_APN" // replace with your GPRS APN
Changed lines 256-257 from:

// initialize the library instance

to:

// initialize the library instances GSMClient client;

Changed lines 259-264 from:

GSM gsmAccess; // include a 'true' parameter for debug enabled GSMServer server(80); // port 80 (http default)

// timeout const unsigned long __TIMEOUT__ = 10*1000;

to:

GSM gsmAccess;

// This example downloads the URL "http://arduino.cc/latest.txt"

char server[] = "arduino.cc"; // the base URL char path[] = "/latest.txt"; // the path int port = 80; // the port, 80 for HTTP

Changed line 271 from:
to:
  Serial.println("Starting Arduino web client.");
Changed line 276 from:
  // If your SIM has PIN, pass it as a parameter of begin() in quotes
to:
  // pass the PIN of your SIM as a parameter of gsmAccess.begin()
Changed lines 288-297 from:
  Serial.println("Connected to GPRS network");

  // start server
  server.begin();

  //Get IP.
  IPAddress LocalIP = gprs.getIPAddress();
  Serial.println("Server IP address=");
  Serial.println(LocalIP);
to:
  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");
  }
Changed lines 308-309 from:

void loop(){

  // nothing to see here
to:

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);
  }
Added lines 318-328:
  // if the server's disconnected, stop the client:
  if (!client.available() && !client.connected())
  {
    Serial.println();
    Serial.println("disconnecting.");
    client.stop();

    // do nothing forevermore:
    for(;;)
      ;
  }
Added line 330:
January 29, 2013, at 01:03 PM by Scott Fitzgerald -
January 29, 2013, at 01:03 PM by Scott Fitzgerald -
Changed lines 28-29 from:

Activation of the SIM is handled by Bluevia, a Telefonica subsidiary. Detailed instructions on how to register and activate your SIM online and add credit are included on a small pamphlet that comes with your shield.

to:

Activation of the SIM is handled by Bluevia, a Telefonica subsidiary. Detailed instructions on how to register and activate your SIM online and add credit are included on a small pamphlet that comes with your shield. The SIM must be inserted into the shield, mounted on an Arduino, and powered on when you go online for activation.

Added lines 40-45:

To use the shield, you'll need to insert a SIM card into the proper slot.

Once the SIM is inserted, mount it on top of an Arduino board (e.g. the Uno).

Changed lines 48-49 from:

To use the shield, mount it on top of an Arduino board (e.g. the Uno). To upload sketches to the board, connect it to your computer with a USB cable as you normally would. Once the sketch has been uploaded, you can disconnect the board from your computer and power it with an external power supply.

to:

To upload sketches to the board, connect it to your computer with a USB cable as you normally would. Once the sketch has been uploaded, you can disconnect the board from your computer and power it with an external power supply.

January 29, 2013, at 12:50 PM by Scott Fitzgerald -
Changed lines 28-29 from:

Activation of the SIM is handled by Bluevia, a Telefonica subsidiary. Detailed instructions on how to register and activate your SIM online and add credit are included on a small pamphlet? that comes with your shield.

to:

Activation of the SIM is handled by Bluevia, a Telefonica subsidiary. Detailed instructions on how to register and activate your SIM online and add credit are included on a small pamphlet that comes with your shield.

January 29, 2013, at 12:49 PM by Scott Fitzgerald -
Changed lines 22-39 from:

Notes on the SIM card included with the shield

the Shield comes bundled with a SIM from Telefonica aimed at those of you creating M2M applications

the SIM cards include a world-wide roaming plan specifically aimed at data transfers

A SIM card comes with the GSM shield. It is not necessary to use this specific card with the shield. You may use any that works on a network in your area.

The included SIM from Telefonica is enabled for worldwide roaming. It can be used on any GSM network in the world. Activation of the SIM is handled by Bluevia, a Telefonica subsidiary. Detailed instructions on ow to register and activate your SIM are included on a small pamphlet with your shield.

These SIM card come without a PIN, but it is possible to set one using the GSM library.

the telefonica sims, send and receive SMS messages with each othr, but not outside the network.

You cannot accept incoming server connections from outside the network. they are behind a proxy, so they don't offer a public IP for e.g. interact in the public internet. Different network operators will have different policies. Foe example, two bluevia sims can communicate with each other on the same network.

if you're looking to use the sms and voice functionality of the shield, you may want to use a different SIM.

to:

Notes on the SIM included with the shield

The GSM shield comes bundled with a SIM from Telefonica that will work well for developing mobile to mobile applications. It is not necessary to use this specific card with the shield. You may use any SIM that works on a network in your area.

The SIM card includes a world-wide roaming plan specifically aimed at data transfers. It can be used on any GSM network in the world.

Activation of the SIM is handled by Bluevia, a Telefonica subsidiary. Detailed instructions on how to register and activate your SIM online and add credit are included on a small pamphlet? that comes with your shield.

These SIM card come without a PIN, but it is possible to set one using the GSM library's GSMPIN class.

The Bluevia/Telefonica SIMS cards can send and receive SMS messages with each other, but not outside the Telefonica network.

You cannot accept incoming server connections from outside the network, it's not possible to create a server that accepts incoming requests from the public internet. The SIM will, however, accept incoming requests from other SIM cards on the same network.

For using the voice, SMS, and server functionality of the shield outside of the Bluevia/Telefonica network, you'll need to find a different network provider and SIM. Different network operators will have different policies for their SIM cards, it's best to check directly with them to see what sort of connections are supported.

January 24, 2013, at 08:58 PM by Scott Fitzgerald -
Added lines 22-39:

Notes on the SIM card included with the shield

the Shield comes bundled with a SIM from Telefonica aimed at those of you creating M2M applications

the SIM cards include a world-wide roaming plan specifically aimed at data transfers

A SIM card comes with the GSM shield. It is not necessary to use this specific card with the shield. You may use any that works on a network in your area.

The included SIM from Telefonica is enabled for worldwide roaming. It can be used on any GSM network in the world. Activation of the SIM is handled by Bluevia, a Telefonica subsidiary. Detailed instructions on ow to register and activate your SIM are included on a small pamphlet with your shield.

These SIM card come without a PIN, but it is possible to set one using the GSM library.

the telefonica sims, send and receive SMS messages with each othr, but not outside the network.

You cannot accept incoming server connections from outside the network. they are behind a proxy, so they don't offer a public IP for e.g. interact in the public internet. Different network operators will have different policies. Foe example, two bluevia sims can communicate with each other on the same network.

if you're looking to use the sms and voice functionality of the shield, you may want to use a different SIM.

December 06, 2012, at 01:30 PM by Scott Fitzgerald -
Added lines 227-228:

NB: Some network operators block incoming IP traffic. You should be able to run client functions with no issues.

Changed lines 288-289 from:

Making voice calls

to:

Making voice calls

Changed lines 392-393 from:

Next steps

to:

Next steps

December 06, 2012, at 01:26 PM by Scott Fitzgerald -
Added lines 24-25:
December 01, 2012, at 03:39 PM by Scott Fitzgerald -
Added lines 5-6:
December 01, 2012, at 02:35 PM by Scott Fitzgerald -
Changed lines 43-44 from:

It's common for SIM cards to have a four-digit PIN number associated with them for security purposes. Keep note of this, as it's necessary for connecting to a network. If you lose the PIN associated with your SIM card, you will need to contact your network operator to retrieve it. Some SIM cards become permanently locked if an incorrect PIN is entered too many times. If you're unsure of what the PIN is, contact your network operator

to:

It's common for SIM cards to have a four-digit PIN number associated with them for security purposes. Keep note of this, as it's necessary for connecting to a network. If you lose the PIN associated with your SIM card, you may need to contact your network operator to retrieve it. Some SIM cards become permanently locked if an incorrect PIN is entered too many times. If you're unsure of what the PIN is, look at the documentation that came with your SIM.

Using a PUK (PIN Unlock Code), it is possible to reset a lost PIN with the GSM shield and an Arduino. The PUK number will come with your SIM card documentation. There is an example sketch on communicating with the SIM card in the "tools" folder of the library examples.

There are a few different sizes of SIM cards, the GSM shield accepts cards in the mini-SIM format (25mm long and 15mm wide).

November 30, 2012, at 04:53 PM by Scott Fitzgerald -
Deleted lines 21-22:
Added lines 24-27:

Digital pins 2, 3 and 7 are reserved for communication between the Arduino and modem and cannot be used.

Deleted lines 44-45:

Digital pins 2, 3 and 7 are reserved for communication between the Arduino and modem and cannot be used.

November 30, 2012, at 04:24 PM by Scott Fitzgerald -
Added lines 282-283:
November 30, 2012, at 03:31 PM by Scott Fitzgerald -
Changed lines 41-42 from:

It's common for SIM cards to have a four-digit PIN number associated with them for security purposes. Keep note of this, as it's necessary for connecting to a network.

to:

It's common for SIM cards to have a four-digit PIN number associated with them for security purposes. Keep note of this, as it's necessary for connecting to a network. If you lose the PIN associated with your SIM card, you will need to contact your network operator to retrieve it. Some SIM cards become permanently locked if an incorrect PIN is entered too many times. If you're unsure of what the PIN is, contact your network operator

November 27, 2012, at 09:46 PM by Scott Fitzgerald -
Changed lines 282-283 from:

On the underside of the shield, there are through-holes labeled MIC1P and MIC1N. These are the positive and negative voice input pins for a microphone. The through-holes labeled SPK1P and SPK1N are the positive and negative voice output pins, to which you need to connect a speaker.

to:

On the underside of the shield, there are through-holes labeled M1P and M1N. These are the positive and negative voice input pins for a microphone. The through-holes labeled S1P and S1N are the positive and negative voice output pins, to which you need to connect a speaker.

November 27, 2012, at 07:34 PM by Scott Fitzgerald -
Changed lines 16-17 from:

To access a network, a user must have a subscription with a mobile phone operator (either prepaid or contract), a GSM compliant device like the GSM shield or a mobile phone, and a Subscriber Identity Module (SIM) card. The network operator provides the user a SIM, which contains information like the mobile number and can store limited amounts of contacts and SMS.

to:

To access a network, a user must have a subscription with a mobile phone operator (either prepaid or contract), a GSM compliant device like the GSM shield or a mobile phone, and a Subscriber Identity Module (SIM) card. The network operator provides the user a SIM, which contains information like the mobile number, and can store limited amounts of contacts and SMS messages.

Changed lines 24-25 from:

To use the shield, mount it on top of an Arduino board (e.g. the Uno). To upload sketches to the board, connect it to your computer with a USB cable as you normally would. Once the sketch has been uploaded, you can disconnect the board from your computer and power it with an external power supply.

to:

To use the shield, mount it on top of an Arduino board (e.g. the Uno). To upload sketches to the board, connect it to your computer with a USB cable as you normally would. Once the sketch has been uploaded, you can disconnect the board from your computer and power it with an external power supply.

You must press the Power button on the shield for a few moments to turn the modem on. When the yellow status LED turns on, it means the modem is powered, and you can try connecting to the network.

Changed lines 45-48 from:

Testing the modem

This sketch will connect to a GSM network. It is a good way to check that the modem and SIM are working with your provider.

to:

Testing the modem and network connection

This sketch will check the modem's IMEI number. This number is unique to each modem, and is used to identify valid devices that can connect to a GSM network. Once the number has been read from the modem, the modem will scan and print out the available frequency bands, the network carrier it is connected to, and the signal strength of the network.

Added line 50:

// libraries

Changed lines 53-58 from:

// modem verification object

to:

// PIN Number

  1. define PINNUMBER ""

// initialize the library instance GSM gsmAccess(true); // include a 'true' parameter for debug enabled GSMScanner scannerNetworks;

Changed lines 60-61 from:

// IMEI variable

to:

GSMBand bandManager;

// Save data variables

Deleted line 65:

String oktext = "OK";

Added lines 72-73:
  Serial.println("GSM networks scanner");
  scannerNetworks.begin();
Changed lines 75-87 from:
  // start modem test (reset and check response)
  Serial.print("Starting modem test...");
  if(modemTest.begin())
    Serial.println(oktext);
  else
    Serial.println("ERROR, no modem answer.");

}

void loop() {

  // get modem IMEI
  Serial.print("Checking IMEI...");
  IMEI = modemTest.getIMEI();
to:
  // connection state
  boolean notConnected = true;
Changed lines 78-79 from:
  // check IMEI responsed
  if(IMEI != NULL)
to:
  // Start GSM shield
  // If your SIM has PIN, pass it as a parameter of begin() in quotes
  while(notConnected)
Changed lines 82-89 from:
    Serial.println(oktext);
    // show IMEI in serial monitor
    Serial.println("Modem's IMEI: " + IMEI);
    // reset modem for check booting
    Serial.print("Reseting modem...");
    modemTest.begin();
    // get and check IMEI one more time
    if(modemTest.getIMEI() != NULL)
to:
    if(gsmAccess.begin(PINNUMBER)==GSM_READY)
      notConnected = false;
    else
Changed lines 86-87 from:
      Serial.println(oktext);
      Serial.println("TEST COMPLETE!");
to:
      Serial.println("Not connected");
      delay(1000);
Deleted lines 88-91:
    else
    {
      Serial.println(errortext);
    }
Changed lines 90-94 from:
  else
  {
    Serial.println(errortext);
  }
  while(true);
to:
  // get modem parameters
  // IMEI, modem unique identifier
  Serial.print("Modem IMEI: ");
  IMEI = modemTest.getIMEI();
  IMEI.replace("\n","");
  if(IMEI != NULL)
    Serial.println(IMEI);

  // get current band 
  GSM3GSMBand band;
  band=bandManager.getBand();
  Serial.print("Current band: ");
  Serial.println(bandManager.getBandName(band));

  // currently connected carrier
  Serial.print("Current carrier: ");
  Serial.println(scannerNetworks.getCurrentCarrier());

  // returns strength and ber
  // signal strength in 0-31 scale. 31 means power > 51dBm
  // BER is the Bit Error Rate. 0-7 scale. 99=not detectable
  Serial.print("Signal Strength: ");
  Serial.print(scannerNetworks.getSignalStrength());
  Serial.println(" [0-31]");
Added lines 117-136:

void loop() {

  // scan for existing networks, displays a list of networks
  Serial.println("Scanning available networks. May take some seconds.");

  Serial.println(scannerNetworks.readNetworks());

    // currently connected carrier
  Serial.print("Current carrier: ");
  Serial.println(scannerNetworks.getCurrentCarrier());

  // returns strength and ber
  // signal strength in 0-31 scale. 31 means power > 51dBm
  // BER is the Bit Error Rate. 0-7 scale. 99=not detectable
  Serial.print("Signal Strength: ");
  Serial.print(scannerNetworks.getSignalStrength());
  Serial.println(" [0-31]");

}

Changed lines 139-146 from:

Connecting to the internet

In addition to the SIM card, you will need some additional information from your cellular provider to connect to the internet. Every cellular provider has an Access Point Name (APN) that serves as a bridge between the cellular network and the internet.

You'll need to get this information from your service provider, as well as a username and password fro the APN to access the internet.

The sketch below will connect to the internet, start a webserver and report back the IP address

to:

Sending a SMS message

Once you have connected to your network with the sketch above, you can test some of the other functionality of the board. This sketch will connect to a GSM network and send a SMS message to a phone number of your choosing.

Deleted line 145:

// PIN Number

Deleted lines 147-152:

// APN data

  1. define GPRS_APN "GPRS_APN" // replace your GPRS APN
  2. define GPRS_LOGIN "login" // replace with your GPRS login
  3. define GPRS_PASSWORD "password" // replace with your GPRS password

Changed lines 149-155 from:

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;

to:

GSM gsmAccess; // include a 'true' parameter for debug enabled GSM_SMS sms;

// char array of the telephone number to send SMS // change the number 1-212-555-1212 to a number // you have access to char remoteNumber[20]={'1','2','1','2','5','5','5','1','2','1','2'};

// char array of the message char txtMsg[200]={'T','e','s','t'};

Added lines 165-166:
  Serial.println("SMS Messages Sender");
Changed line 169 from:
to:
Changed lines 174-175 from:
    if((gsmAccess.begin(PINNUMBER)==GSM_READY) &
        (gprs.attachGPRS(GPRS_APN, GPRS_LOGIN, GPRS_PASSWORD)==GPRS_READY))
to:
    if(gsmAccess.begin(PINNUMBER)==GSM_READY)
Changed lines 182-191 from:
  Serial.println("Connected to GPRS network");

  // start server
  server.begin();

  //Get IP.
  IPAddress LocalIP = gprs.getIPAddress();
  Serial.println("Server IP address=");
  Serial.println(LocalIP);
to:
  Serial.println("GSM initialized");
  sendSMS();
Changed lines 186-188 from:

void loop(){

to:

void loop() { // nothing to see here

Added lines 190-208:

void sendSMS(){

  Serial.print("Message to mobile number: ");
  Serial.println(remoteNumber);

  // sms text
  Serial.println("SENDING");
  Serial.println();
  Serial.println("Message:");
  Serial.println(txtMsg);

  // send the message
  sms.beginSMS(remoteNumber);
  sms.print(txtMsg);
  sms.endSMS(); 
  Serial.println("\nCOMPLETE!\n");  

}

Added lines 211-382:
November 17, 2012, at 08:28 PM by Scott Fitzgerald -
Changed lines 48-49 from:

GSM gsm;

to:
  1. include <GSM.h>

// modem verification object GSMModem modemTest;

// IMEI variable String IMEI = "";

// serial monitor result messages String oktext = "OK"; String errortext = "ERROR";

Changed lines 65-70 from:
  // connection state
  boolean notConnected = true;

  // Start GSM shield
  // If your SIM has PIN, pass it as a parameter of begin() in quotes
  while(notConnected)
to:
  // start modem test (reset and check response)
  Serial.print("Starting modem test...");
  if(modemTest.begin())
    Serial.println(oktext);
  else
    Serial.println("ERROR, no modem answer.");

}

void loop() {

  // get modem IMEI
  Serial.print("Checking IMEI...");
  IMEI = modemTest.getIMEI();

  // check IMEI responsed
  if(IMEI != NULL)
Changed lines 82-84 from:
    if(gsm.begin(PINNUMBER)==GSM_READY)
      notConnected = false;
    else
to:
    Serial.println(oktext);
    // show IMEI in serial monitor
    Serial.println("Modem's IMEI: " + IMEI);
    // reset modem for check booting
    Serial.print("Reseting modem...");
    modemTest.begin();
    // get and check IMEI one more time
    if(modemTest.getIMEI() != NULL)
Changed lines 91-92 from:
      Serial.println("Not connected");
      delay(1000);
to:
      Serial.println(oktext);
      Serial.println("TEST COMPLETE!");
Added lines 94-97:
    else
    {
      Serial.println(errortext);
    }
Changed lines 99-105 from:
  // connection!
  Serial.println("GSM initialized");

  delay(1000);

  gsm.shutdown();
to:
  else
  {
    Serial.println(errortext);
  }
  while(true);
Deleted lines 105-108:

void loop() {

 // that's all folks!

}

November 17, 2012, at 08:21 PM by Scott Fitzgerald -
Changed lines 6-7 from:

Is an international standard for mobile telephones. It is an acronym that stands for Global System for Mobile Communications. It is also sometimes referred to as 2G, as it is a second-generation cellular network.

to:

GSM is an international standard for mobile telephones. It is an acronym that stands for Global System for Mobile Communications. It is also sometimes referred to as 2G, as it is a second-generation cellular network.

November 16, 2012, at 10:30 AM by Federico -
Changed lines 45-46 from:

This sketch will connect to a GSM network,. It is a good way to check that the modem and SIM are working with your provider.

to:

This sketch will connect to a GSM network. It is a good way to check that the modem and SIM are working with your provider.

November 16, 2012, at 03:19 AM by Scott Fitzgerald -
Deleted lines 4-5:

GSM In-Depth

November 16, 2012, at 03:19 AM by Scott Fitzgerald -
Added lines 5-21:

GSM In-Depth

What is GSM

Is an international standard for mobile telephones. It is an acronym that stands for Global System for Mobile Communications. It is also sometimes referred to as 2G, as it is a second-generation cellular network.

Among other things, GSM supports outgoing and incoming voice calls, Simple Message System (SMS or text messaging), and data communication (via GPRS).

What is GPRS

GPRS is a packet switching technology that stands for General Packet Radio Service. It can provide idealized data rates between 56-114 kbit per second.

A number of technologies such as SMS rely on GPRS to function. With the GSM shield, it is also possible to leverage the data communication to access the internet. Similar to the Ethernet and WiFi libraries, the GSM library allows the Arduino to act as a client or server, using http calls to send and receive web pages.

Network operator requirements

To access a network, a user must have a subscription with a mobile phone operator (either prepaid or contract), a GSM compliant device like the GSM shield or a mobile phone, and a Subscriber Identity Module (SIM) card. The network operator provides the user a SIM, which contains information like the mobile number and can store limited amounts of contacts and SMS.

To use GPRS for internet access, and for the Arduino to request or serve webpages, it's necessary to obtain the Access Point Name (APN) and a username/password from the network operator.

November 16, 2012, at 02:44 AM by Scott Fitzgerald -
Added lines 26-27:

Digital pins 2, 3 and 7 are reserved for communication between the Arduino and modem and cannot be used.

November 16, 2012, at 02:34 AM by Scott Fitzgerald -
Changed lines 72-136 from:

You'll need to get this information from your service provider, as well as a username and password fro the APN to access the internet.

to:
November 16, 2012, at 02:31 AM by Scott Fitzgerald -
November 16, 2012, at 02:30 AM by Scott Fitzgerald -
Changed lines 26-30 from:

Your first sketch

This sketch will connect to a GSM network, it is a good way to check that the modem and SIM are working with your provider.

to:

Testing the modem

This sketch will connect to a GSM network,. It is a good way to check that the modem and SIM are working with your provider.

Added lines 67-72:

Connecting to the internet

In addition to the SIM card, you will need some additional information from your cellular provider to connect to the internet. Every cellular provider has an Access Point Name (APN) that serves as a bridge between the cellular network and the internet.

You'll need to get this information from your service provider, as well as a username and password fro the APN to access the internet.

November 15, 2012, at 01:31 PM by Scott Fitzgerald -
Changed lines 7-8 from:
to:
Changed lines 19-20 from:

In addition to the shield and an arduino, you'll need a SIM card. The SIM represents a contract with a communications provider. The communications provider selling you the SIM has to either:

to:

In addition to the shield and an Arduino, you'll need a SIM card. The SIM represents a contract with a communications provider. The communications provider selling you the SIM has to either:

Changed lines 24-30 from:

..........

Settings

......

to:

It's common for SIM cards to have a four-digit PIN number associated with them for security purposes. Keep note of this, as it's necessary for connecting to a network.

Changed lines 28-67 from:

......

to:
November 13, 2012, at 07:50 PM by Scott Fitzgerald -
Changed lines 3-4 from:

The Arduino GSM shield allows an Arduino board to connect to the internet, sending and receiving SMS and making and getting voice calls using the GSM library.

to:

The Arduino GSM shield allows an Arduino board to connect to the internet, send and receive SMS, and make voice calls using the GSM library.

Changed lines 11-12 from:

The shield and the examples have been testd with:

to:

The shield and the examples have been tested with:

Changed lines 19-21 from:

Besides, the shield is of little use without a SIM card. The SIM represents a contract with a communications provider. The communications provider selling you the SIM has to either:

  • give GSM coverage in the zone you are working, or
to:

In addition to the shield and an arduino, you'll need a SIM card. The SIM represents a contract with a communications provider. The communications provider selling you the SIM has to either:

  • provide GSM coverage in the zone you are working, or
October 25, 2012, at 05:17 PM by David Cuartielles -
Changed lines 3-4 from:

The Arduino GSM shield allows an Arduino board to connect .. . .. ... . using the GSM library.

to:

The Arduino GSM shield allows an Arduino board to connect to the internet, sending and receiving SMS and making and getting voice calls using the GSM library.

Added lines 11-24:

The shield and the examples have been testd with:

  • Arduino UNO
  • Arduino Mega
  • Arduino Mega ADK

The shield should run in any world zone with GSM coverage. Before buying the shield please verify that there is this kind of coverage where you plan to use it.

Besides, the shield is of little use without a SIM card. The SIM represents a contract with a communications provider. The communications provider selling you the SIM has to either:

  • give GSM coverage in the zone you are working, or
  • have a roaming agreement with a company providing GSM coverage in your zone.

October 22, 2012, at 03:07 PM by Scott Fitzgerald -
Added lines 1-19:

Arduino GSM Shield

The Arduino GSM shield allows an Arduino board to connect .. . .. ... . using the GSM library.

Connecting the Shield

Attach:ArduinoWithGSMShield.jpg Δ

To use the shield, mount it on top of an Arduino board (e.g. the Uno). To upload sketches to the board, connect it to your computer with a USB cable as you normally would. Once the sketch has been uploaded, you can disconnect the board from your computer and power it with an external power supply.

..........

Settings

......

Your first sketch

......

Share