With the Arduino GSM Shield, this library enables an Arduino board to do most of the operations you can do with a GSM phone: place and receive voice calls, send and receive SMS, and connect to the internet over a GPRS network.
The GSM shield has a modem that transfers data from a serial port to the GSM network. The modem executes operations via a series of AT commands. The library abstracts low level communications between the modem and SIM card. It relies on the Software Serial library for communication between the moden and Arduino.
Typically, each individual command is part of a larger series necessary to execute a particular function. The library can also receive information and return it to you when necessary.
As the library enables multiple types of functionality, there are a number of different classes.
Ethernet library compatibility
The library tries to be as compatible as possible with the current Ethernet library. Porting a program from an Arduino Ethernet or WiFi library to an Arduino with the GSM Shield should be fairly easy. While it is not possible to simply run Ethernet-compatible code on the GSM shield as-is, some minor, library specific, modifications will be necessary, like including the GSM and GPRS specific libraries and getting network configuration settings from your cellular network provider.
There are two groups of examples for the GSM shield. There are examples to illustrate the possibilities of the shield, like how to send SMS messages and connect to the internet. There is also set of example tools that you can use to debug the functionality of the library and the hardware at lower level.
This class prepares the functions that will communicate with the modem.
Enables voice communication through the modem. A microphone and speaker need to be added for full use.
Facilitates sending and receiving Short Message Service (SMS) messages.
This class is responsible for including the files that are part of the library that involve TCP communication.
The client class creates clients that can connect to servers and send and receive data.
The Server class creates servers which can send data to and receive data from connected clients (programs running on other computers or devices).
The GSMModem class facilitates diagnostic communication with the modem.
The GSMScanner class provides diagnostic information about the network and carrier.
The GSMPIN class has utilities for communicating with the SIM card.
The GSMBand class provides information about the frequency band the modem connects to. There are also methods for setting the band.
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.