The global system for mobile communication (GSM) is a popular wireless network used worldwide. Various GSM modems are available in the market that can be interfaced with microcontrollers to learn and understand the general architecture of this network as well as apply it in various projects to communicate with a mobile.AT commands are the instructions which are used to control the GSM module.AT Commands for GSM Module are categorized into the test, read, set and execution commands.
Hardware
Setting up the hardware is very simple. The GSM modem requires a SIM card to send and receive data. The modem works like a mobile phone and has an IMEI number, mostly printed on top of the chip. To communicate with the microcontroller, the modem consists of a serial interface. Make sure of the power requirements of the GSM module before powering it. Some modems may work at voltages between 2.8v and 3v. Most of the microcontroller’s USART interface gives out 5v. So a level-shifter will be required to convert the microcontroller output to the required voltage level. Data is transmitted and received through radio waves. Hence, the GSM modem requires an antenna. Connectors will be provided on the modem to connect the antenna. Once all these are set up, the hardware assembly is complete.
AT Commands for GSM Module
There are a set of attention commands a.k.a.The AT commands are a special type of commands that are used to control machine to machine (M2M) communication. A GSM module functions under the same principle as a mobile station. A mobile station is your mobile phone with a SIM inserted. The module inside your handset is designed to send the AT commands and communicate with the mobile network. Or in other terms, it is a dedicated hardware for mobile network interface.
There are four types of AT commands that make up the GSM command set.
Test command
Not all manufacturers implement the same AT commands and command parameters. Sometimes, the behavior of the implemented AT commands may vary from the standard AT commands. So a test command is useful to verify the commands.
Syntax: AT<command name>=?
Eg: To test the ATtention Dial command: ATD=?
Read command
This type of commands is used to get the basic information about the mobile phone or the modem such as its settings to perform an operation.
Syntax: AT<command name>?
eg: AT+CGMI to get the name of the manufacturer or AT+CGMM to get the model number or AT+CGSN to get the IMEI number.
Set command
During particular operations, certain configurations must be modified. These commands are used to set or change the configurations of the mobile phone or the modem.
Syntax: AT<command name>=value1,value2,…valueN
Eg: AT+COPS to change the GSM network or AT+CBST to change bearer service type or AT+CSCA to change SMS center address.
Execution command
These commands are simply used to perform an operation.
Syntax:AT<command name>=parameter1,parameter2,…parameterN
Eg: AT+CMGS to send or AT+CMGW to write or AT+CMGD delete.
Take a look at a list of the most commonly used AT commands in the GSM module.
[fusion_table fusion_table_type=”1″ hide_on_mobile=”small-visibility,medium-visibility,large-visibility” class=”” id=”” animation_type=”” animation_direction=”left” animation_speed=”0.3″ animation_offset=””]
Command |
Description |
---|---|
Test Command |
|
AT | Checking the communication between the module and the computer. |
Call Control Command |
|
ATA | Answer command |
ATD | Dial command |
ATH | Hang up call |
SMS Text Mode Command |
|
AT+CMGL | List Messages |
AT+CMGR | Read Message |
AT+CMGS | Send Message |
AT+CMGW | Write message to memory |
AT+CMSS | Send message from storage |
AT+CMGD | Delete message |
AT+CRES | Restore settings |
[/fusion_table]