General Packet Radio Service (GPRS) is the mobile data network provided to users of the Global System for Mobile Communications (GSM) cellular phone network. GPRS can be used for text and multimedia messaging and Internet connectivity. GPRS is included in the 3G standards (http://www.three-g.net/3g_standards.html) for mobile communications. 2G devices which additionally support GPRS are often called 2.5G devices.
GPRS is a packet switched network. This means that multiple users share the same data channel, but only utilise it when they have data to send or receive. Packet switching improves the bandwidth utilisation for activities such as web browsing, email, and text messaging, which require only intermittent transfers. Packet switching also allows transfers to be billed on a per kilobyte basis, rather than a connection time basis.
The GSM Association (GSMA) represent several hundred GSM providers from countries all over the world. From their website (http://www.gsmworld.com/):
The primary goals of the GSMA are to ensure mobile phones and wireless services work globally and are easily accessible, enhancing their value to individual customers and national economies, while creating new business opportunities for operators and their suppliers. The Association's members serve more than 2 billion customers – over 82% of the world's mobile phone users.
GPRS is typically used via a Hayes compatible modem using the 'AT' command set (http://kb.iu.edu/data/aaqc.html).
GSM modems can be used to send text messages using the Short Message Service (SMS). The following example shows how to send the text message "A test SMS message" to the phone number "+12345789" using a serial communication tool on the GPRS serial port. Text shown in bold is entered by the user.
> A test SMS message
Developing software tools to support these functions is very easy. For example an application running on an embedded device with GPRS functionality could send status information as a text message to an operators cellphone. There are a number of open source tools and libraries which can be used to send and receive SMS messages, including the SMS Server Tools (http://smstools.meinemullemaus.de/) and GSMlib (http://www.pxh.de/fs/gsmlib/). In addition to text messages it is also possible to send and receive multimedia messages via GPRS using the Multimedia Message Service (MSM).
Under Linux, the Point-to-Point Protocol (PPP) tool can be used to connect to the Internet using an embedded GPRS capable modem. The upper bandwidth limit for GPRS is around 170Kbps, although typical download speeds are around 40Kbps. While this is fast enough for email and basic web browsing, it is unsuitable for bandwidth intensive technologies such as streaming media. Wi-Fi provides much higher bandwidth for wireless Internet connections.
A typical chat script (found in /etc/chatscripts/gprs for example) for connecting to the Internet using a GSM is modem looks like:
The first three lines define the behaviour of the modem. The last three lines are the commands used to establish the connection. When the text on the left is seen, the command on the right will be sent. The 'AT' (attention) command is sent to check that the modem is responding. When the response 'OK' is received, the 'ATZ' (reset) command is sent. After the next 'OK' is received, the command 'ATD*99#' is sent to dial the modem. The phone number is a magic number which tells the modem to connect to the Internet. Other numbers can be used to specify different GPRS configurations. The magic number may be different depending on the provider. Using the above script, an Internet connection can be established by typing 'pppd call gprs' at the command line.
Comparison of GPRS and Wi-Fi
GPRS and Wi-Fi both provide a means to establish a wireless connection to the Internet from a mobile device.
- GPRS is a global standard. A device with GPRS emebedded can work almost anywhere in the world. Wi-Fi devices, on the other hand, are largely dependant on the availability of hot-spots.
- Features such as text messaging (SMS) and voice communication are a direct part of the GPRS standards. These features are also possible using Wi-Fi, but may require additional paid services for support.
- GPRS can use existing infrastructure provided by a telecommunications company.
- GPRS has lower bandwidth, and typically higher prices per megabyte than Wi-Fi.
- Bandwidth intensive activities, such as streaming high quality media and large data transfers, are generally not feasible with GPRS.
End user applications
GPRS is essential for embedded devices which have mobile phone functionality. Embedded GPRS is a often better choice than WiFi for devices, such as PDAs, which need to be able to browse the web and send email from anywhere the world. The text messaging feature of GPRS is a useful way for embedded devices to send small status reports to an operators cellphone, or a central server.
Cellphones are the most common GPRS enabled devices. Many cellphones use GPRS for text or picture messaging. 3G enabled phones can also use GPRS to use email, browse the Internet, or use web applications.
Many new vending machines use embedded GPRS to communicate data about the vending machine to a centralised server. Some of the information sent to the server includes:
- Real-time updates of the stock in the machine. This can help operators identify which products sell best, and also allows the machines to be quickly restocked when supplies are low.
- Information about malfunctions, vandalism or fraud attempts.
- Allows payment for items to be made via a cellphone.
Similar technology has been used to GPRS enable parking meters.
Bluewater Systems Experience
Bluewater Systems have developed several projects which incorporate GPRS technology. Some of these projects include:
- Vehicle tracking device which integrates an embedded GPRS modem, GPS, Bluetooth, 1GB storage, a wide range of I/O options and Snapper CL15 into a tiny unit intended for vehicle mounted operation (project name 'Dory'). A Telit module provides both GPRS and GPS services. The Telit module can be seen in the upper left corner of the photo.
GPRS on Snapper/Rig 200
The Rig 200 Location Plus Module include GPRS technology among other features. This connects to Rig 200 using the Module interface. The GPRS function appears as a serial port accessible using standard Linux drivers. The GPRS module used on Rig 200 is made by Telit, an Italian manufacturer of GSM cellular modules and equipment. The module used on Rig 200 also has GPS functionality to enable accessing global positioning data.
In order to use GPRS technology with Rig 200 you will need:
- Rig 200 base board
- Rig 200 Location Plus Module
- A SIM card and an account with a mobile connections provider.