As explained in a previous post in this series, a GSM modem can let you send SMS messages from a PC. There are two basic ways to do this: text mode and PDU mode.
You can play around with your GSM modem using a terminal program like HyperTerminal (which came with Windows XP, but is no longer there in Windows Vista). The commands I mention can just be entered in the terminal window when connected to the modem. You can try the following basic commands, any modem should support these:
|ATI||Returns general modem identification|
|ATD<phone number>||Dials the phone number you supplied (don’t enter the <> brackets)|
|ATH||Hang-up the phone (useful after the previous command).|
The following commands are specific for GSM modems. If you get an error response (e.g. ‘+ERR’), your modem probably isn’t a GSM modem or it doesn’t support the extensions specific for GSM modems.
|AT+CGMI||Returns the modem’s manufacturer|
|AT+CGMM||Returns the modem’s model|
The command to find out which of the modes are supported by your GSM modem is ‘AT+CMGF=?’. Send this string to your modem (followed by a newline) and the phone will answer ‘0’ for PDU mode and ‘1’ for text mode or ‘0,1’ if it supports both modes.
If you want to send an SMS message in text mode your modem needs to support it and you need to make sure the modem is in text mode first. The command ‘AT+CMGF?’ will tell you which mode is currently active. The command ‘AT+CMGF=1’’ will set the mode in text mode (if supported).
In text mode sending a text message is easy. The command is:
AT+CMGS=<phone-number><CR> Text to be sent<Crtl-Z>
The <CR> and <Ctrl-Z> refer to the enter key and the Control-Z key combination respectively. There are some details regarding character sets, but if you stick to normal alpha-numeric texts (without accents or special characters), it should work as expected.
A followup post will elaborate a little more on text mode.