- Modem AT commands. This page covers modem AT commands commonly used/provided by leading GSM/HF/CDMA/LTE modem manufacturers. It includes AT,AT+CFUN,ATD,ATA,ATH,AT+CGDCONT,AT+COPS,AT+CGMR,AT+CGATT and more. AT commands are very popular to configure/monitor and put modem in various functionalities/modem.
- 21.2 AT+CGPSINFO. 21.12 AT+CGPS 22.1 AT+CSVM 22.2 Indication of Voice Mail 23.1 Indication of EONS 24.1 AT+COTADPHONENUMBER. Add this command.
Serial Programming: Introduction and OSI Network Model-- RS-232 Wiring and Connections-- Typical RS232 Hardware Configuration-- 8250 UART-- DOS-- MAX232 Driver/Receiver Family-- TAPI Communications In Windows-- Linux and Unix-- Java-- Hayes-compatible Modems and AT Commands-- Universal Serial Bus (USB)-- Forming Data Packets-- Error Correction Methods-- Two Way Communication-- Packet Recovery Methods-- Serial Data Networks-- Practical Application Development-- IP Over Serial Connections
Hayes-compatable Modems and AT Commands References:-- Special AT Commands and Character Sequences-- AT Commands A - M-- AT Commands N - Z-- AT& Commands |
GSMSTKATCommandsManualV1.0 GSMSTKATCommandsManualV1.0 - 10 - Parsed data for GET INPUT. Proactive command: D0 Proactive SIM command tag 1E Length Command details: type of command 23 - Get input. † TS 27.007 AT command set for User Equipment (UE) † TS 27.005 Use of Data Terminal Equipment ‐‐ Data Circuit terminating Equipment (DTE‐DCE) interface for Short Message Service (SMS) and Cell Broadcast Service (BSE) The proprietary AT commands are supplemental to the standard AT commands.
This module provides a reference to the Hayes-compatible AT commands which start with an &. The following list only contains the original Hayes commands. Different modems use slightly different commands. However, this list is supposed to be as 'generic' as possible, and should not be extended with modem-specific commands. Instead it is recommended to provide such command lists in an Appendix.
AT& commands are in no way special, compared to other AT commands. It is just that Hayes at some point ran out of the 26 single-letter commands (ATA ... ATZ), so they introduced double-character commands. In order to avoid that these clash with single-letter commands, these double-character commands got a common prefix, the &.
Command Description Template[edit]
To be removed when all commands are documented
Syntax:
Description:
<Description of the command, including information about the purpose and effects>
Result Codes:
Code | Description |
---|---|
OK | Parameter was valid <description of success> |
ERROR | Otherwise <description of failure> |
Related Commands and Registers:
- <Link list of related commands and registers>
&B: V.32 Auto Retrain Options[edit]
Command Description Template
Syntax:
Description:
<Description of the command, including information about the purpose and effects>
Result Codes:
Code | Description |
---|---|
OK | Parameter was valid <description of success> |
ERROR | Otherwise <description of failure> |
Related Commands and Registers:
- <Link list of related commands and registers>
&C: Data Carrier Detect Options[edit]
Syntax:
Description:
This option controls the behaviour of the DCD (Data Carrier Detect, alias RLSD) RS-232 output line of the modem. The modem can either be told to keep the line always on (parameter 0), or that the line should really follow the state of the carrier on the phone line (parameter 1, default). The carrier on the phone line is the basic signal on which then (later) the data is modulated on. It is like the carrier frequency of some radio station. Carrier detection indicates if the two paired modems have been 'tuned in'.
In case the RS-232 DCD line is configured to be driven by the modem following the state of the carrier (parameter 1), the DTE can use this information for flow control, display progress information to the user, etc.
On the other side, setting DCD to be on all the time (parameter 0) can be used if the DTE software, e.g. some terminal program, does not handle DCD correctly, or if the DTE ignores it. However, letting DCD follow the carrier state is usually the better configuration.
- AT&C
or
- AT&C0
- Always keep DCD on.
- AT&C1
- DCD follows carrier state (default).
Result Codes:
Code | Description |
---|---|
OK | Parameter was valid (either 0 or 1) |
ERROR | Otherwise (parameter was not 0 or 1) |
Related Commands and Registers:
- <Link list of related commands and registers>
&D: Data Terminal Ready Options[edit]
Syntax:
Description:
The &D command specifies how the modem should react to an on-to-off transition on its DTR (data terminal ready) input line. The DTE can use this line as part of some hardware-handshake. The exact behavior of the &D command depends on other settings, as outlined below:
Qualcomm At Commands Pdf Reader
&D | &Q | Description |
---|---|---|
0 | 0, 5, or 6 | DTR is assumed to be always on. This allows communication with DTEs which do not provide DTR information, or wrong information. |
0 | 1, or 4 | When the DTE drops DTR (on-off transition) the modem hangs up. This does not affect auto-answer behavior. |
0 | 2, or 3 | When the DTE drops DTR (on-off transition) the modem hangs up. Auto-answer is blocked. |
1 | 0, 1, 4, 5, or 6 | A DTR on-off transition is interpreted as if the asynch. escape sequence has been entered. The modem goes in command mode but keeps the connection. |
1 | 2, or 3 | When the DTE drops DTR (on-off transition) the modem hangs up. Auto-answer is blocked. |
2 | 0, 1, 2, 3, 4, 5, or 6 | When the DTE drops DTR (on-off transition) the modem hangs up. Auto-answer is blocked. This is the default setting. |
3 | 0, 1, 4, 5, 6 | A DTR on-off transition causes the modem to perform a soft-reset as if the Z command was received. The &Y setting determines which configuration profile the modem will load during the reset. |
3 | 2, or 3 | When the DTE drops DTR (on-off transition) the modem hangs up. Auto-answer is blocked. |
Typically, more special rules apply if the modem supports additional features like Fax. This is out of the scope of this generic Hayes command description.
Result Codes:
Code | Description |
---|---|
OK | Parameter was valid (0 to 3) |
ERROR | Otherwise |
Related Commands and Registers:
&F: Recall Factory Profile[edit]
Command Description Template
Syntax:
Description:
The modem loads the factory profile 0 (default) or the factory profile 1. The factory profiles are fixed modem condigurations as provided by the modem manufacturer
Result Codes:
Code | Description |
---|---|
OK | Profile loaded (modem was previously off-line) |
ERROR | Modem is on-line. |
Related Commands and Registers:
- <Link list of related commands and registers>
&G: Guard Tone Selection[edit]
Syntax:
Description:
In some telephone systems it is necessary to transmit an additional guard tone in order to disable echo supressors in the phone system. Echo supressors do interfere with data communication, because they alter (in good faith) the transmited signal, e.g. by changing the signal's delay, phase and amplitude. This disturbes the modem's signal modulation and introduces communication errors.
A guard tone tells an echo supressor (and possibly other equipment) to not alter the transmitted signal. Guard tones are standardised in telecom standards.
- 0
- Do not use a guard tone (default)
- 1
- Set guard tone on answering modem to 550Hz. Note, this feature is rarely implemented in todays consumer modems.
- 2
- Use 1800Hz guard tone.
Result Codes:
Code | Description |
---|---|
OK | Parameter was valid (0, 1, or 2) |
ERROR | Otherwise. |
&J: Jack Type Selection (Auxiliary Relay Options)[edit]
Syntax:
Description:
Hayes modems supported different jacks to connect the modem to a telephone or leased line. The '&J' command allows to select the type of jack which should be used. Typically, this command is not fully implemented in today's modems. Usually, the command just sets some registers and does nothing otherwise.
- 0
- Jack type RJ-11, RJ41S, or RJ-45S type phone jack (default)
- 1
- Jack type RJ-12 or RJ-13 type phone jack
Result Codes:
Code | Description |
---|---|
OK | Parameter was valid (0, 1) |
ERROR | Otherwise. |
&K: Local Flow Control Options[edit]
Command Description Template
Syntax:
Description:
<Description of the command, including information about the purpose and effects>
Result Codes:
Code | Description |
---|---|
OK | Parameter was valid <description of success> |
ERROR | Otherwise <description of failure> |
Related Commands and Registers:
- <Link list of related commands and registers>
&L: Line Type Selection (Dialup/Leased)[edit]
Command Description Template
Syntax:
Description:
<Description of the command, including information about the purpose and effects>
Result Codes:
Code | Description |
---|---|
OK | Parameter was valid <description of success> |
ERROR | Otherwise <description of failure> |
Related Commands and Registers:
- <Link list of related commands and registers>
&O: PAD Channel Selection[edit]
Command Description Template
Syntax:
Description:
<Description of the command, including information about the purpose and effects>
Result Codes:
Code | Description |
---|---|
OK | Parameter was valid <description of success> |
ERROR | Otherwise <description of failure> |
Related Commands and Registers:
- <Link list of related commands and registers>
&Q: Communications Mode Options[edit]
Command Description Template
Syntax:
Description:
<Description of the command, including information about the purpose and effects>
Result Codes:
Code | Description |
---|---|
OK | Parameter was valid <description of success> |
ERROR | Otherwise <description of failure> |
Related Commands and Registers:
- <Link list of related commands and registers>
&R: RTS/CTS Options[edit]
Syntax:
AT&R[0|1]
Description:
This option controlls the behavior of the CTS (clear to send) RS-232 input line of the modem. The modem can either be told to use it for hardware handshaking (parameter 0), or ignore it (parameter 1).
- AT&R0
- Use CTS signal from DTE for hardware flow control
- AT&R1
- Ignore CTS from DTE (always send)
Result Codes:
Code | Description |
---|---|
OK | Parameter was valid <description of success> |
ERROR | Otherwise <description of failure> |
Related Commands and Registers:
- <Link list of related commands and registers>
&S: Data Set Ready Options[edit]
Command Description Template
Syntax:
Description:
<Description of the command, including information about the purpose and effects>
Result Codes:
Code | Description |
---|---|
OK | Parameter was valid <description of success> |
ERROR | Otherwise <description of failure> |
Related Commands and Registers:
- <Link list of related commands and registers>
&T: Test Options[edit]
Command Description Template
Syntax:
Description:
<Description of the command, including information about the purpose and effects>
Result Codes:
Code | Description |
---|---|
OK | Parameter was valid <description of success> |
ERROR | Otherwise <description of failure> |
Related Commands and Registers:
- <Link list of related commands and registers>
&U: Trellis Coding Options[edit]
Command Description Template
Syntax:
Description:
<Description of the command, including information about the purpose and effects>
Result Codes:
Code | Description |
---|---|
OK | Parameter was valid <description of success> |
ERROR | Otherwise <description of failure> |
Related Commands and Registers:
- <Link list of related commands and registers>
&V: View Configuration Profiles[edit]
Command Description Template
Syntax:
Description:
<Description of the command, including information about the purpose and effects>
Result Codes:
Code | Description |
---|---|
OK | Parameter was valid <description of success> |
ERROR | Otherwise <description of failure> |
Related Commands and Registers:
- <Link list of related commands and registers>
&W: Write Active Profile to Memory[edit]
Command Description Template
Syntax:
Description:
<Description of the command, including information about the purpose and effects>
Result Codes:
Code | Description |
---|---|
OK | Parameter was valid <description of success> |
ERROR | Otherwise <description of failure> |
Related Commands and Registers:
- <Link list of related commands and registers>
&X: Synchronous Transmit Clock Source[edit]
Command Description Template
Syntax:
Description:
<Description of the command, including information about the purpose and effects>
Result Codes:
Code | Description |
---|---|
OK | Parameter was valid <description of success> |
ERROR | Otherwise <description of failure> |
Related Commands and Registers:
- <Link list of related commands and registers>
&Y: Select Stored Profile For Hard Reset[edit]
Command Description Template
Syntax:
Description:
<Description of the command, including information about the purpose and effects>
Result Codes:
Code | Description |
---|---|
OK | Parameter was valid <description of success> |
ERROR | Otherwise <description of failure> |
Related Commands and Registers:
- <Link list of related commands and registers>
&Zn=x: Store Telephone Number[edit]
Syntax:
Description:
The &Z
command allows to store up to four telephone number dial strings into the modem's NVRAM.
This feature is rarely used by modem communication software these days. DTE software preferes to keep an own list of possible phone numbers (e.g. a list of bulletin board system numbers), which can be much more than just four different numbers.
The feature is still useful in automated systems, and e.g. in cases where the DTE software is not (end user) configurable. For example, some embedded controller might be capable of running a modem communication with generic Hayes-compatible commands to allert a remote site in case of problems (burgler alarm, machine maintenance request, etc.). But for cost or other reasons the embedded system might provide no way for the end user to configure the embedded system. Instead the embedded system will use ATDS=0 (or another index) to dial and relie on the modem's setup to have a phone number stored at index 0 (or another index).
- n = 0 ... 3
- Index of the dial string
- <x>
- A dial string. This can be a simple number, but it can also contain dial modifiers as listed for the ATD (dial) command. Typically, the size of a single dial string can not extend 34 characters.
Example:
To store the number 00155512345 into register 0 for tone dialing (T
) use:
AT&Z0=T00155512345<CR>
Result Codes:
Code | Description |
---|---|
OK | Index was valid (0 ... 3), and dial string less than 35 characters. |
ERROR | Otherwise. |
Related Commands and Registers:
Serial Programming: Introduction and OSI Network Model-- RS-232 Wiring and Connections-- Typical RS232 Hardware Configuration-- 8250 UART-- DOS-- MAX232 Driver/Receiver Family-- TAPI Communications In Windows-- Linux and Unix-- Java-- Hayes-compatible Modems and AT Commands-- Universal Serial Bus (USB)-- Forming Data Packets-- Error Correction Methods-- Two Way Communication-- Packet Recovery Methods-- Serial Data Networks-- Practical Application Development-- IP Over Serial Connections
Hayes-compatable Modems and AT Commands References:-- Special AT Commands and Character Sequences-- AT Commands A - M-- AT Commands N - Z-- AT& Commands |
Overview
ESP8266 offers a complete and self-contained Wi-Fi networking solution, allowing it to either host the application or to offload all Wi-Fi networking functions from another application processor.When ESP8266 hosts the application, and when it is the only application processor in the device, it is able to boot up directly from an external flash. It has integrated cache to improve the performance of the system in such applications, and to minimize the memory requirements.
Alternately, serving as a Wi-Fi adapter, wireless internet access can be added to any microcontroller-based design with simple connectivity through UART interface or the CPU AHB bridge interface.
ESP8266 on-board processing and storage capabilities allow it to be integrated with the sensors and other application specific devices through its GPIOs with minimal development up-front and minimal loading during runtime. With its high degree of on-chip integration, which includes the antenna switch balun, power management converters, it requires minimal external circuitry, and the entire solution, including front-end module, is designed to occupy minimal PCB area.
Sophisticated system-level features include fast sleep/wake context switching for energy-efficient VoIP, adaptive radio biasing for low-power operation, advance signal processing, and spur cancellation and radio co-existence features for common cellular, Bluetooth, DDR, LVDS, LCD interference mitigation.
Go shopping ESP8266 Serial WIFI Module(IM140905002)
Features
- 802.11 b/g/n protocol
- Wi-Fi Direct (P2P), soft-AP
- Integrated TCP/IP protocol stack
- Integrated TR switch, balun, LNA, power amplifier and matching network
- Integrated PLL, regulators, and power management units
- +19.5dBm output power in 802.11b mode
- Integrated temperature sensor
- Supports antenna diversity
- Power down leakage current of < 10uA
- Integrated low power 32-bit CPU could be used as application processor
- SDIO 2.0, SPI, UART
- STBC, 1×1 MIMO, 2×1 MIMO
- A-MPDU & A-MSDU aggregation & 0.4s guard interval
- Wake up and transmit packets in < 2ms
- Standby power consumption of < 1.0mW (DTIM3)
Electronic Characteristics
1.Current Consumption
The following current consumption is based on 3.3V supply, and 25℃ ambient, using internal regulators. Measurements are done at antenna port without SAW filter. All the transmitter’s measurements are based on 90% duty cycle, continuous transmit mode.
Mode | Min | Typ | Max | Unit |
Transmit 802.11b, CCK 1Mbps, POUT=+19.5dBm | 215 | mA | ||
Transmit 802.11b, CCK 11Mbps, POUT=+18.5dBm | 197 | mA | ||
Transmit 802.11g, OFDM 54Mbps, POUT =+16dBm | 145 | mA | ||
Transmit 802.11n, MCS7, POUT=+14dBm | 135 | mA | ||
Receive 802.11b, packet length=1024 byte, -80dBm | 60 | mA | ||
Receive 802.11g, packet length=1024 byte, -70dBm | 60 | mA | ||
Receive 802.11n, packet length=1024 byte, -65dBm | 62 | mA | ||
Standby | 0.9 | mA | ||
Deep sleep | 10 | uA | ||
Power save mode DTIM 1 | 1.2 | mA | ||
Power save mode DTIM 3 | 0.86 | mA | ||
Total shutdown | 0.5 | uA |
2.RF Performance
The following are measured under room temperature conditions with 3.3V and 1.1V power supplies.
Description | Min | Typical | Max | Unit |
Input frequency | 2412 | 2484 | MHz | |
Input impedance | 50 | Ω | ||
Input reflection | -10 | dB | ||
Output power of PA for 72.2Mbps | 14 | 15 | 16 | dBm |
Output power of PA for 11b mode | 17.5 | 18.5 | 19.5 | dBm |
Sensitivity | ||||
CCK, 1Mbps | -98 | dBm | ||
CCK, 11Mbps | -91 | dBm | ||
6Mbps (1/2 BPSK) | -93 | dBm | ||
54Mbps (3/4 64-QAM) | -75 | dBm | ||
HT20, MCS7 (65Mbps, 72.2Mbps) | -71 | dBm |
Hardware
Schematic
Application Notes
- Smart power plugs
- Home automation
- Mesh network
- Industrial wireless control
- Baby monitors
- IP Cameras
- Sensor networks
- Wearable electronics
- Wi-Fi location-aware devices
- Security ID tags
- Wi-Fi position system beacons
AT Commands
Format
- Baud rate at 57600
- x is the commands
(Click the picture to zoom in)
Set | Inquiry | Test | Execute |
---|---|---|---|
AT+<x>=<…> | AT+<x>? | AT+<x>=? | AT+<x> |
AT+CWMODE=<mode> | AT+CWMODE? | AT+CWMODE=? | - |
Set the network mode | Check current mode | Return which modes supported | - |
Commands
- carefully there are must be no any spaces between the ' and IP address or port
Commands | Description | Type | Set/Execute | Inquiry | test | Parameters and Examples |
---|---|---|---|---|---|---|
AT | general test | basic | - | - | - | - |
AT+RST | restart the module | basic | - | - | - | - |
AT+GMR | check firmware version | basic | - | - | - | - |
AT+CWMODE | wifi mode | wifi | AT+CWMODE=<mode> | AT+CWMODE? | AT+CWMODE=? | 1= Sta, 2= AP, 3=both, Sta is the default mode of router, AP is a normal mode for devices |
AT+CWJAP | join the AP | wifi | AT+ CWJAP =<ssid>,< pwd > | AT+ CWJAP? | - | ssid = ssid, pwd = wifi password |
AT+CWLAP | list the AP | wifi | AT+CWLAP | |||
AT+CWQAP | quit the AP | wifi | AT+CWQAP | - | AT+CWQAP=? | |
AT+ CWSAP | set the parameters of AP | wifi | AT+ CWSAP= <ssid>,<pwd>,<chl>, <ecn> | AT+ CWSAP? | ssid, pwd, chl = channel, ecn = encryption; eg. Connect to your router: AT+CWJAP='www.electrodragon.com','helloworld'; and check if connected: AT+CWJAP? | |
AT+CWLIF | check join devices' IP | wifi | AT+CWLIF | - | - | |
AT+ CIPSTATUS | get the connection status | TCP/IP | AT+ CIPSTATUS | <id>,<type>,<addr>,<port>,<tetype>= client or server mode | ||
AT+CIPSTART | set up TCP or UDP connection | TCP/IP | 1)single connection (+CIPMUX=0) AT+CIPSTART= <type>,<addr>,<port>; 2) multiple connection (+CIPMUX=1) AT+CIPSTART= <id><type>,<addr>, <port> | - | AT+CIPSTART=? | id = 0-4, type = TCP/UDP, addr = IP address, port= port; eg. Connect to another TCP server, set multiple connection first: AT+CIPMUX=1; connect: AT+CIPSTART=4,'TCP','X1.X2.X3.X4',9999 |
AT+CIPMODE | set data transmission mode | TCP/IP | AT+CIPMODE=<mode> | AT+CIPSEND? | 0 not data mode, 1 data mode; return 'Link is builded' | |
AT+CIPSEND | send data | TCP/IP | 1)single connection(+CIPMUX=0) AT+CIPSEND=<length>; 2) multiple connection (+CIPMUX=1) AT+CIPSEND= <id>,<length> | AT+CIPSEND=? | eg. send data: AT+CIPSEND=4,15 and then enter the data. | |
AT+CIPCLOSE | close TCP or UDP connection | TCP/IP | AT+CIPCLOSE=<id> or AT+CIPCLOSE | AT+CIPCLOSE=? | ||
AT+CIFSR | Get IP address | TCP/IP | AT+CIFSR | AT+ CIFSR=? | ||
AT+ CIPMUX | set mutiple connection | TCP/IP | AT+ CIPMUX=<mode> | AT+ CIPMUX? | 0 for single connection 1 for multiple connection | |
AT+ CIPSERVER | set as server | TCP/IP | AT+ CIPSERVER= <mode>[,<port> ] | mode 0 to close server mode, mode 1 to open; port = port; eg. turn on as a TCP server: AT+CIPSERVER=1,8888, check the self server IP address: AT+CIFSR=? | ||
AT+ CIPSTO | Set the server timeout | AT+CIPSTO=<time> | AT+CIPSTO? | <time>0~28800 in second | ||
+IPD | received data | For Single Connection mode(CIPMUX=0): + IPD, <len>: |
Download
Instruction
Upgrading ESP8266 Firmware
How to upgrade ESP8266 firmware?
We use NodeMCU flasher here, the download links:
- English version: https://github.com/nodemcu/nodemcu-flasher
Note: use nodemcu flasher to flash Firmware to ESP8266, its default firmware is Lau language. If you want to flash AT Commands firmware, go to ESP8266 forum to get one.
Qualcomm At Commands Pdf Download
- Chinese version: File:ESP8266Flasher-x86-v0.9.2.3.zip
1. Connect your ESP8266 module as follows:
- Vcc = 3.3V (needs around 300-400mA peak)
- Gnd = -ve ground
- CH_PD = Chip enable so always +ve
- RST = Leave floating or ground to reset
- GPIO0 = Normally floating but this needs to be grounded when you start the update.
- GPIO2 = high level
- UTXD = Tx data connect to RX on FTDI/Serial interface
- URXD = Rx data connect to TX of FTDI/Serial interface
English Version: Please refer to the NodeMCU flasher user guide.
Chinese Version: Please see the next step below
2. Open the software, choose the right COM and click the button that is circled in the following picture. When a tick appears in the bottom-left corner, it suggests that the firmware upgrade successfully.
3. This software contains an existing firmware, but if you want to upgrade other ESP8266 firmware, please click the button that is circled in the following picture, and only two file paths are available to choose.
Other ways of ESP8266 firmware upgrading
Qualcomm At Commands Pdf Viewer
Useful Link
Reference:
Example
- The ESP8266 Becomes a Terrible Browser - http://hackaday.io/project/3072/instructions
- New Working GCC for ESP8266 - http://www.esp8266.com/viewtopic.php?f=9&t=224
- SDK for ESP8266 - http://hackaday.com/2014/10/25/an-sdk-for-the-esp8266-wifi-chip/
- An ESP8266 Based Smartmeter - http://hackaday.com/2014/10/25/an-sdk-for-the-esp8266-wifi-chip/
Demos for ESP8266
Library for ESP8266