Tutorial: How to Send and Receive SMS using GSM Modem
It is very easy to incorporate SMS capability to any PC or Embedded Controller using Serial Port and any of your favourite programing language (C,C#,Basic,Pascal). Enfora GSM Modem provide a standard API set for communicating with Modem and setup for send and receive SMS. To understand and try out the varioius AT Command to send and receive SMS so that you can incorporate these into your own software project you will need a serial port (WINXP has built in hyperterminal or else for vista you can download third party serial terminal program from web). PC that does not have any serial Commport can buy standard off the shelves USB to serial converter from any computer peripheral shops (such as ATEN UC-232A)
A PC with serial comm Port (or a USB to Serial Adaptor)
A Serial Terminal Program (in this case, we had chosen to use the free Hypterminal that is present on WIN9x/WINXP)
Setting Up Hypterminal
1) Run Start -> All Program -> Accessories -> Communication -> Hypterminal
2) In a dialog Box, it ask for a connection name. Just type a description (for example T115K). Select a Comport where the COMx is the communication port that the Enfora GSM Modem is physcically conneted to.
3) Next in the configure button, click on it to set up the comport property. Set up the COMport for 115.2Kbps, 8 Databit, No Parity, 1 stop bit and Non Flow Control (or Hardware Flow Control). Apply and Save. Pls note that if you install a USB to serial ComPort Adaptor, typically the COMPORT will be in a different COMx Number. Make sure that you select the correct COMx Number, and also ensure the USB to Serial Port Aaptor is always connected to the same comport that you installed the driver initially.
4) Now click on the icon to connect the ComPort by using the Connect.
5) Now folllowing the following steps by typing on the Hypterminal.
1). Type AT and press <ENTER> the modem should respond with OK. This will verify that you are communicating with the modem. If you cannot see characters entered on the screen, enter ATE1V1.
2). The following examples provide the AT commands and responses for setting modem parameters. For more information about the commands and response codes, see the GSM0107AT001 – Enfora Enabler IIG AT Command Set.
3). Please refer to Application Note GSM0000AN005 - Enabler-G Automated Network Connection Configuration and Use, to set the appropriate network connection.
4). To be able to send SMS text messages, the Enfora Enabler-G module must be initialized with the proper SMS mode. The following examples provide the AT commands and responses for initializing the SMS mode.
5) The following command initializes the Enfora Enabler-G module by setting the text mode parameters.
AT+CSMP=17,167,0,0Set text mode parameters:
<fo>=17 Sets reply pat, user data header, status report request, validity period format, reject duplicates and message type.
<vp>=167 Sets validity period.
<pid>=0 Higher layer protocol indicator.
<dcs>=0 Information encode format.
6). After initializing the module with the proper SMS mode, query the module for the correct service center. The service center is required fro proper routing of an SMS through the network. The service center is programmed into the SIM by the network service provider. The following command queries the service center.
AT+CSCA?Query service center.
+CSCA: "+12063130004"Modem Response. (VoiceStream – USA)
7). If no service center is entered, then contact your service provider for correct service center. To enter the correct service center, enter the following command:
AT+CSCA="+12063130004"Sets the service center. (VoiceStream – USA)
8). The following command selects TEXT mode for SMS messages.
AT+CMGF=1Set message format to TEXT mode.
9). The following command sets the indicators for receiving an SMS message.
AT+CNMI=1,1,0,0,0Set the new message indicators.
<mode>=1 discard unsolicited result codes indication when TA – TE link is reserved.
<mt>=1 SMS-DELIVERs are delivered to the SIM and routed using unsolicited code.
<bm>=0 no CBM indications are routed to the TE.
<ds>=0 no SMS-STATUS-REPORTs are routed.
<bfr>=0 TA buffer of unsolicited result codes defined within this command is flushed to the TE.
10). The following command saves the SMS settings. Once the SMS commands have been saved, the initialization commands do not need to be sent again until they are changed.
AT+CSASSave SMS settings. This may take up to 10 seconds.
11) For more advanced SMS options, see theGSM0107AT001 – Enfora Enabler IIG AT Command Set for the following AT commands:
AT+CSMSSelect message service.
AT+CSDHShow text mode parameters.
12) . After the Enfora Enabler-G module has been initialized, the following commands demonstrate the transmission of an SMS message to a GSM mobile number.
AT+CMGS="12017572673"Send a message to the telephone number.
>Ready to enter a message.
This is a test message^ZEnter the text message. End the message with Control Z.
+CMGS: 1Successful transmission. The number will increment with each SMS sent.
13) . For an incoming SMS with the above initialization settings, the following indication will be displayed over the serial port:
+CMTI: "SM",1Incoming message indication stored in message location 1.
GSM0000AN004 Page 3
14). To read the above message, enter the following:
AT+CMGR=1Read SMS message in SIM location 1.
+CMGR: 1,"REC READ","12145551212",,"02/08/01,14:24:41+08", 145,4,0,0,"12063130004",145,5
This is a test message
OKModem response. See GSM0107AT001 – Enfora Enabler IIG AT Command Set for parameter details.
15) To store an SMS message on the SIM for later retrieval, enter the following:
AT+CMGW="12017572673"Store a message on the SIM.
>Ready to enter a message.
This is a stored message^ZEnter the text message. End the message with Control Z.
+CMGW: 2Successfully stored in memory location 2.
16). To send a message previously stored on the SIM, enter the following:
AT+CMSS=2Send message from memory location 2.
+CMSS:2Successful transmission. The number will increment with each SMS sent.
17) To list all of the messages stored on the SIM, enter the following:
AT+CMGL="ALL"List messages on the SIM.
+CMGL: 1,"REC UNREAD","12145551212",,"02/08/01,14:24:41+08",145,5This is a test message
+CMGL: 2,"STO SENT","17192326602",,,129,22
This is a stored message
OKModem response. See Enfora Enabler IIG AT Command Set for parameter details.
18). The following command deletes a message from the SIM location specified.
AT+CMGD=1Delete SMS message in SIM location 1.
OKModem response upon successful delete.
Link: Documentation and AT Command Set for Enfora GSM Modem
Back to Enfora Main Page |
Back to Testech Home Page
| Wireless Modules
Back to Enfora Main Page | Back to Testech Home Page | Wireless Modules