Short Message Service (SMS) or TXT messaging is a technology that enables users to send and receive text messages via mobile phones. Apart for personal usage, SMS can also be used for business purpose, such as sending products promotions to customers, receiving customers feedback, informing customers about upcoming events, and even more sophisticated tasks like hosting SMS survey or contest.
In order to perform these business operations, there is a need to have a solution that supports sending/receiving of SMS via computers. Such a solution can be achieved by using a gsm modem that connect to the computer, and a relevant software that can communicate with the gsm modem.
To communicate with the gsm modem, one would need to transmit standard AT commands via serial port. In this article, I will show the most basic AT commands required for sending and receiving of SMS in text mode.
1.Set preferred message format (+CMGF)
There are two message formats supported: text mode and PDU mode. In this article, I shall illustrate the easier text mode.
To set the preferred message format as text mode:
Possible response from the gsm modem: OK
2.Send SMS (+CMGS)
To send an SMS in text mode:
AT+CMGS=”da”"CR”"text to be sent”"Ctrl-Z”
is destination address, the recipients number you want to send your sms to
is carriage return
is the text message you want to send
is the character 0x1A, or pressing Ctrl key and Z key together
For example, to send the message How are you? to the number 12345678, you key in:
The gsm modem will response with the character >. Then you key in your text:
>How are you?
The gsm modem will respond with the following if successful:
is the message reference, which is a number from 0 to 255 returned by the gsm modem. This number begins with 0 and is incremented by one for each outgoing message.
3.Receive SMS (+CMGR)
When a new sms arrived, the gsm modem would send the following byte stream:
To read the message, the computer/software needs to send the command:
The gsm modem will respond with something similar to the following:
+CMGR: REC UNREAD,12345678, 08/10/01 18:20:35+00,
How are you?
The first part is the command +CMGR, the second part is the status of the message (in this case it is UNREAD), the third portion is the senders mobile number, the forth portion is the base station time-stamp, followed by the the carriage return and line feed characters, the message content, and finally the OK terminating character.
This article aims to provide an introductory guide to how to send/receive sms using computer. The AT commands and packing of PDU mode are much more complex and will not be discussed in this article.