Contents
- 1 Test command
- 2 Reset
- 3 Get firmware version
- 4 WiFi mode
- 5 List APs
- 6 Connect to AP
- 7 Disconnect from AP
- 8 Enable Multiple Connections
- 9 Configure SoftAP
- 10 Show Clients Connected to SoftAP
- 11 Set IP Address in SoftAP Mode
- 12 Set IP Address in Station Mode
- 13 Set MAC Address in Station Mode
- 14 Set MAC Address in SoftAP Mode
- 15 Get Connection Status
- 16 Start Connection
- 17 Send Data
- 18 Close Connection
- 19 Enter deep-sleep mode
- 20 Enable/Disable echo:
- 21 Enable/Disable DHCP
- 22 Get Local IP Address
- 23 Configure Device as Server
- 24 Set Max Connections to the Server
- 25 Set Transmission Mode
- 26 Ping
- 27 Typical AT Command Sequence for Getting a Webpage
Test command
Command | Response | Parameter |
---|---|---|
AT | OK | - |
Reset
Command | Response | Parameter |
---|---|---|
AT+RST | OK | - |
Get firmware version
Command | Response | Parameter |
---|---|---|
AT+GMR | VERSION:<Param>
OK |
Param : firmware version |
WiFi mode
Command | Response | Parameter |
---|---|---|
AT+CWMODE=? | +CWMODE:(1-3)
OK |
- |
AT+CWMODE? | +CWMODE: <Param>
OK |
Param:
1 -- station mode (client) 2 -- AP mode (host) 3 -- AP+station mode |
AT+CWMODE=<Param> | OK | Same as above |
List APs
Command | Response | Parameter |
---|---|---|
AT+CWLAP | AT+CWLAP: <Param1>,<Param2>,<Param3>,<Param4>,<Param5>
OK |
Param1 -- auth (authentication)
0 -- OPEN 1 -- WEP 2 -- WPA_PSK 3 -- WPA2_PSK 4 -- WPA_WPA2_PSK Param2 -- ssid Param3 -- rssi (signal strength) Param4 -- mac (MAC address) |
AT+CWLAP=<Param1>,<Param2>,<Param3> | AT+CWLAP: <Param1>,<Param2>,<Param3>,<Param4>,<Param5>
OK |
Same as above |
Example Response:
+CWLAP:(3,”this_is_my_wifi”,-65,”40-8D-5C-E8-EB-49”,11)
Connect to AP
Command | Response | Parameter |
---|---|---|
AT+CWJAP? | +CWJAP: <Param1>
OK |
Param1 -- ssid
Param2 -- password |
AT+CWJAP=<Param1>,<Param2> | OK | Same as above |
Example:
AT+CWJAP=”this_is_my_wifi”,”1234”[the_ad id="3059"]
Disconnect from AP
Command | Response | Parameter |
---|---|---|
AT+CWQAP | OK | - |
Enable Multiple Connections
Command | Response | Parameter |
---|---|---|
AT+CIPMUX=<Param> | OK | Param -- mode
0 -- single connection 1 -- multiple connection (up to 4) |
AT+CIPMUX? | +CIFSR:<Param>
OK |
Same as above |
Configure SoftAP
Command | Response | Parameter |
---|---|---|
AT+CWSAP? | +CWSAP: <Param1>, <Param2>, <Param3>,<Param4>
OK |
Param1 -- ssid
Param2 -- password Param3-- channel Param4 -- auth 0 -- OPEN 2 -- WPA_PSK 3 -- WPA2_PSK 4 -- WPA_WPA2_PSK |
AT+CWSAP=<Param1>,<Param2>, <Param3>, <Param4> | OK | Same as above |
Example:
AT+CWSAP=”this_is_my_wifi”,”1234”,11,3[the_ad id="3059"]
Show Clients Connected to SoftAP
Command | Response | Parameter |
---|---|---|
AT+CWLIF | [<Param1>, <Param2>]
OK |
Param1 -- IP address
Param2 -- mac address (32-bit for ESP-01, 8-bit for ESP-12) |
Example Response:
AT+CWLIF 192.168.1.5, 3fff5040:3fff508D:3fff505C:3fff50E8:3fff50EB:3fff5049
Set IP Address in SoftAP Mode
Command | Response | Parameter |
---|---|---|
AT+CIPAP? | +CIPAP?: <Param1>
+CIPAP?: <Param2> +CIPAP?: <Param3> OK |
Param1 -- IP address
Optional: Param2 -- gateway address Param3 -- netmask address |
AT+CIPAP=<Param1>,[<Param2>,<Param3>] | OK | Same as above |
Example:
AT+CIPAP=”192.168.1.5”,”192.168.1.1”,”255.255.255.0”
Set IP Address in Station Mode
Command | Response | Parameter |
---|---|---|
AT+CIPSTA? | +CIPSTA?: <Param1>
+CIPSTA?: <Param2> +CIPSTA?: <Param3> OK |
Param1 -- IP address
Optional: Param2 -- gateway address Param3 -- netmask address |
AT+CIPSTA=<Param1>,[<Param2>,<Param3>] | OK | Same as above |
Example:
AT+CIPSTA=”192.168.1.3”,”192.168.1.1”,”255.255.255.0”[the_ad id="3059"]
Set MAC Address in Station Mode
Command | Response | Parameter |
---|---|---|
AT+CIPSTAMAC? | +CIPSTAMAC?: <Param>
OK |
Param -- mac address |
AT+CIPSTAMAC=<Param> | OK | Same as above |
Example:
AT+CIPSTAMAC=”40-8C-5C-E8-EA-48”
Notes:
- When setting the MAC address of the ESP8266, make sure that LSB (bit 0) of each byte is not 1 (see example MAC address above)
- The SoftAP MAC address must be different from the Station Mode MAC address
Set MAC Address in SoftAP Mode
Command | Response | Parameter |
---|---|---|
AT+CIPAPMAC? | +CIPSTAMAC?: <Param>
OK |
Param -- mac address |
AT+CIPAPMAC=<Param> | OK | Same as above |
Example:
AT+CIPAPMAC=”40-8C-5C-E8-EA-48”
See same notes on previous command
Get Connection Status
Command | Response | Parameter |
---|---|---|
AT+CIPSTATUS | STATUS: <Param1>
+CIPSTATUS: <Param2>, <Param3>, <Param4>, <Param5>, <Param6> OK |
Param1 -- status
2 -- Has IP 3 -- Connected 4 -- Not Connected Param2 -- id (0 to 4) Param3 -- type (“TCP” or “UDP”) Param4 -- IP address Param5 -- port number Param6 -- tetype 0 -- running as client 1 -- running as server |
AT+CIPSTATUS=? | OK | - |
Start Connection
Command | Response | Parameter |
---|---|---|
Single TCP Connection (AT+CIPMUX=0):
AT+CIPSTART=<Param1>,<Param2>,<Param3>,[<Param4>] |
OK
or ERROR or Already Connected |
Param1 -- type (“TCP or UDP”)
Param2 -- IP address Param3 -- port number Optional: Param4 -- TCP keep alive 0 -- disable TCP keep alive 1 -- 1-7200 seconds detection time interval |
Multiple TCP Connection (AT+CIPMUX=1):
AT+CIPSTART=<Param1>,<Param2>,<Param3>,<Param4>,[<Param5>] |
OK
or ERROR or Already Connected |
Param1 -- link ID (0 to 4)
Param2 -- type (“TCP or UDP”) Param3 -- IP address Param4 -- port number Optional: Param5 -- TCP keep alive 0 -- disable TCP keep alive 1 -7200 -- seconds detection time interval |
Single UDP Connection (AT+CIPMUX=1):
AT+CIPSTART=<Param1>,<Param2>,[<Param3>,<Param4>] |
OK
or ERROR or Already Connected |
Param1 -- type (“TCP or UDP”)
Param2 -- IP address Param3 -- port number Optional: Param4 -- UDP local port Param5 -- UDP mode |
Multiple UDP Connection (AT+CIPMUX=1):
AT+CIPSTART=<Param1>,<Param2>,<Param3>,[<Param4>,<Param5>] |
OK
or ERROR or Already Connected |
Param1 -- link ID (0 to 4)
Param2 -- type (“TCP or UDP”) Param3 -- IP address Param4 -- port number Optional: Param5 -- UDP local port Param6 -- UDP mode |
Example:
AT+CIPSTART=”TCP”,”teachmemicro.com”,8080
AT+CIPSTART=”TCP”,”172.180.2.3”,80,5000
AT+CIPSTART=”UDP”,192.168.10.110”,1000,1001,1
Send Data
Command | Response | Parameter |
---|---|---|
Single Connection (AT+CIPMUX=0):
AT+CIPSEND=<Param> |
Wrap return > after the Set Command. Begin
receiving serial data. When data length defined by <length> is met, the transmission of data starts. If the connection cannot be established or gets disrupted during data transmission, the system returns: ERROR If data is transmitted successfully, the system returns: SEND OK If it failed, the system returns: SEND FAIL |
Param -- data length (up to 2048 bytes) |
Multiple Connection (AT+CIPMUX=1):
AT+CIPSEND=<Param1>,<Param2> |
Same response as above | Param1 -- link ID (0 to 4)
Param2 -- data length (up to 2048 bytes) |
Close Connection
Command | Response | Parameter |
---|---|---|
Single Connection:
AT+CIPCLOSE |
OK | - |
Multiple Connection:
AT+CIPCLOSE=<Param> |
OK | Param -- id of connection to close. Id = 5 closes all connection |
Enter deep-sleep mode
Command | Response | Parameter |
---|---|---|
AT+GLSP=<Param> | <Param>
OK |
Param : time in milliseconds |
Example:
AT+GLSP=1000
Note: Reset pin should be high
Enable/Disable echo:
Command | Response | Parameter |
---|---|---|
ATE0 | OK | - |
ATE1 | OK | - |
Note: turning on echo sends back the command you sent
Enable/Disable DHCP
Command | Response | Parameter |
---|---|---|
AT+CWDHCP=<Param1>, <Param2> | OK | Param1 -- mode:
0 -- set as SoftAP 1 -- set as station 2 -- set as SoftAP + station Param2 -- enable: 0 -- enable DHCP 1 -- disable DHCP |
Get Local IP Address
Command | Response | Parameter |
---|---|---|
AT+CIFSR | +CIFSR:<Param>
OK |
Param -- IP address |
Configure Device as Server
Command | Response | Parameter |
---|---|---|
AT+CIPSERVER = <Param1>,[<Param2>] | OK | Param1 -- mode
0 -- delete server 1 -- create server Optional: Param2 -- port number (default:333) |
Note: Server creation is allowed only if multiple connections is enabled (AT+CIPMUX=1)
Set Max Connections to the Server
Command | Response | Parameter |
---|---|---|
AT+CIPSERVERMAXCONN = <Param> | OK | Param -- number of connections (1 to 5) |
Set Transmission Mode
Command | Response | Parameter |
---|---|---|
AT+CIPMODE = <Param> | OK | Param -- mode
0 -- normal transmission 1 -- transparent transmission (UART-WiFi passthrough) |
Note: Setting transmission mode is allowed only for single TCP connection or UDP mde where both remote IP and port do not change
Ping
Command | Response | Parameter |
---|---|---|
AT+PING = <Param> | +<time>
OK |
Param -- IP address or host name
time -- response time of ping |
Example:
AT+PING = “teachmemicro.com”
Typical AT Command Sequence for Getting a Webpage
AT+CIPMUX=1 AT+CWMODE=3 AT+CWJAP=”this_is_my_wifi”,”1234” AT+CIPSTART=0,"TCP","teachmemicro.com","80” AT+CIPSEND=0,16 >GET / HTTP/1.1