How to Send and Receive SMS from GSM modem Using AT commands

This AT command tutorial is written to support our Teltonika T-ModemUSB, a USB2.0 GSM modem based on the Nokia 12i GSM module - fast EDGE technology is supported. Some of the most popular applications are SMS based telemetry, security and news broadcasting.
And, Published by LinktoHow.



After succesfully sending and receiving SMS using AT commands via the HyperTerminal, developers can 'port' the ASCII instructions over to their programming environment, eg. Visual Basic, C/C++ or Java and also programmically parse ASCII messages from modem.

1. Setting up your GSM modem

Most GSM modems comes with a simple manual and necessary drivers. To setup your T-ModemUSB, download the USB GSM Modem Quick Start ( Windows ) guide (460kB PDF). You would be able to send SMS from the Windows application and also setup GPRS connectivity. The GSM modem will map itself as a COM serial port on your computer.
T-ModemUSB Windows Control Tool and SMS sending application
Windows based control panel to setup GSM modem, GPRS and send SMS

2. Using the HyperTerminal

Hint :: By developing your AT commands using HyperTerminal, it will be easier for you to develop your actual program codes in VB, C, Java or other platforms.

Go to START\Programs\Accessories\Communications\HyperTerminal (Win 2000) to create a new connection, eg. "My USB GSM Modem". Suggested settings ::

 - COM Port :: As indicated in the T-Modem Control Tool
 - Bits per second :: 230400 ( or slower )
 - Data Bits : 8
 - Parity : None
 - Stop Bits : 1
 - Flow Control : Hardware

You are now ready to start working with AT commands. Type in "AT" and you should get a "OK", else you have not setup your HyperTerminal correctly. Check your port settings and also make sure your GSM modem is properly connected and the drivers installed.

3. Initial setup AT commands

We are ready now to start working with AT commands to setup and check the status of the GSM modem.
ATReturns a "OK" to confirm that modem is working
AT+CPIN="xxxx"  To enter the PIN for your SIM ( if enabled )
AT+CREG?A "0,1" reply confirms your modem is connected to GSM network
AT+CSQIndicates the signal strength, 31.99 is maximum.

4. Sending SMS using AT commands

We suggest try sending a few SMS using the Control Tool above to make sure your GSM modem can send SMS before proceeding. Let's look at the AT commands involved ..
AT+CMGF=1To format SMS as a TEXT message
AT+CSCA="+xxxxx"  Set your SMS center's number. Check with your provider.

To send a SMS, the AT command to use is AT+CMGS ..

AT+CMGS="+yyyyy" <Enter>
> Your SMS text message here <Ctrl-Z>

The "+yyyyy" is your receipent's mobile number. Next, we will look at receiving SMS via AT commands.

5. Receiving SMS using AT commands
The GSM modem can be configured to response in different ways when it receives a SMS.

a) Immediate - when a SMS is received, the SMS's details are immediately sent to the host computer (DTE) via the +CMT command
AT+CMGF=1To format SMS as a TEXT message
AT+CNMI=1,2,0,0,0  Set how the modem will response when a SMS is received

When a new SMS is received by the GSM modem, the DTE will receive the following ..

+CMT :  "+61xxxxxxxx" , , "04/08/30,23:20:00+40"
This the text SMS message sent to the modem

Your computer (DTE) will have to continuously monitor the COM serial port, read and parse the message.

b) Notification - when a SMS is recieved, the host computer ( DTE ) will be notified of the new message. The computer will then have to read the message from the indicated memory location and clear the memory location.

AT+CMGF=1To format SMS as a TEXT message
AT+CNMI=1,1,0,0,0  Set how the modem will response when a SMS is received
When a new SMS is received by the GSM modem, the DTE will receive the following ..
+CMTI: "SM",3Notification sent to the computer. Location 3 in SIM memory
AT+CMGR=3 <Enter> AT command to send read the received SMS from modem

The modem will then send to the computer details of the received SMS from the specified memory location ( eg. 3 ) ..

+CMGR: "REC READ","+61xxxxxx",,"04/08/28,22:26:29+40"
This is the new SMS received by the GSM modem

After reading and parsing the new SMS message, the computer (DTE) should send a AT command to clear the memory location in the GSM modem ..

AT+CMGD=3 <Enter>   To clear the SMS receive memory location in the GSM modem

If the computer tries to read a empty/cleared memory location, a +CMS ERROR : 321 will be sent to the computer.

6. Using a computer program to send and receive SMS

Once we are able to work the modem using AT commands, we can use high-level programming ( eg. VB, C, Java ) to send the AT ASCII commands to and read messages from the COM serial port that the GSM modem is attached to.
0 Comments
Disqus
Fb Comments
Comments :

0 comments:

Post a Comment