{"id":749,"date":"2020-10-02T14:48:09","date_gmt":"2020-10-02T07:48:09","guid":{"rendered":"https:\/\/www.makeriot2020.com\/?p=749"},"modified":"2020-10-02T14:50:54","modified_gmt":"2020-10-02T07:50:54","slug":"esp8266-and-esp32-at-commands","status":"publish","type":"post","link":"https:\/\/www.makeriot2020.com\/index.php\/2020\/10\/02\/esp8266-and-esp32-at-commands\/","title":{"rendered":"ESP8266 and ESP32 AT Commands"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" data-src=\"http:\/\/144.126.248.244\/wp-content\/uploads\/2020\/10\/20201002_141351-1-768x1024.jpg\" alt=\"\" class=\"wp-image-756 lazyload\" width=\"487\" height=\"649\" data-srcset=\"https:\/\/www.makeriot2020.com\/wp-content\/uploads\/2020\/10\/20201002_141351-1-768x1024.jpg 768w, https:\/\/www.makeriot2020.com\/wp-content\/uploads\/2020\/10\/20201002_141351-1-scaled-600x800.jpg 600w, https:\/\/www.makeriot2020.com\/wp-content\/uploads\/2020\/10\/20201002_141351-1-225x300.jpg 225w, https:\/\/www.makeriot2020.com\/wp-content\/uploads\/2020\/10\/20201002_141351-1-1152x1536.jpg 1152w, https:\/\/www.makeriot2020.com\/wp-content\/uploads\/2020\/10\/20201002_141351-1-1536x2048.jpg 1536w, https:\/\/www.makeriot2020.com\/wp-content\/uploads\/2020\/10\/20201002_141351-1-scaled.jpg 1920w\" data-sizes=\"(max-width: 487px) 85vw, 487px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 487px; --smush-placeholder-aspect-ratio: 487\/649;\" \/><figcaption>NodeMCU V3, ESP8266<\/figcaption><\/figure>\n\n\n\n<p>In this tutorial, I\u2019ll show you some of the important and frequently used ESP8266 AT Commands or AT Instruction Set. &nbsp;<\/p>\n\n\n\n<p>ESP8266 WiFi Module offers complete networking solutions to our DIY (Do-it-yourself) and IoT (Internet of Things) projects. It provides WiFi connectivity to any microcontroller through its full TCP\/IP Stack. <br><br>This means that you can use the ESP8266\/ESP32 like a WiFi Modem, this is especially handy when you don&#8217;t want to reprogram an entire module for a project, or if you already have a working project on an Arduino type board, and just want to add WiFi connectivity to the project. <\/p>\n\n\n\n<p><br><br>It is however important to tell you that it is sometimes better to write your own code to achieve exactly what you want. The AT Commands, in my opinion, is however extremely useful to quickly test something, or do a very simple integration. Your opinion and or milage will definitely vary on this one, feel free to comment and make suggestions as always \ud83d\ude42<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"768\" data-src=\"http:\/\/144.126.248.244\/wp-content\/uploads\/2020\/09\/20200908_183054-1024x768.jpg\" alt=\"\" class=\"wp-image-659 lazyload\" data-srcset=\"https:\/\/www.makeriot2020.com\/wp-content\/uploads\/2020\/09\/20200908_183054-1024x768.jpg 1024w, https:\/\/www.makeriot2020.com\/wp-content\/uploads\/2020\/09\/20200908_183054-scaled-600x450.jpg 600w, https:\/\/www.makeriot2020.com\/wp-content\/uploads\/2020\/09\/20200908_183054-300x225.jpg 300w, https:\/\/www.makeriot2020.com\/wp-content\/uploads\/2020\/09\/20200908_183054-768x576.jpg 768w, https:\/\/www.makeriot2020.com\/wp-content\/uploads\/2020\/09\/20200908_183054-1536x1152.jpg 1536w, https:\/\/www.makeriot2020.com\/wp-content\/uploads\/2020\/09\/20200908_183054-2048x1536.jpg 2048w\" data-sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/768;\" \/><figcaption>Kidbright 32, based on the ESP32 WROOM Chip<\/figcaption><\/figure>\n\n\n\n<p>Let us get started then<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Please NOTE:<\/h2>\n\n\n\n<p><strong><em><span class=\"has-inline-color has-vivid-red-color\">The AT Command Set will ONLY function on a NEW ESP8266\/ESP32 Module that you have not loaded custom firmware onto, OR on a module that you have re-flashed with the AT Command Firmware. This means that, If you have used the Arduino IDE to upload custom code to your ESP8266\/ESP32 module, these commands will NOT work for you,<br>UNLESS you flash the module with ESPRESSIF AT Command Firmware!<\/span><\/em><\/strong><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>The ESP8266 WiFi module and the microcontroller can be interfaced through the UART and with the help of a wide range of AT Commands, the Microcontroller can then control the ESP Module.<\/p>\n\n\n\n<p>The AT Commands of the ESP8266 WiFi Module are responsible for controlling all the operations of the module like restarting, connecting to WiFi, changing the mode of operation and so forth. <\/p>\n\n\n\n<p>Basically, the ESP8266 AT Commands can be classified into four types:<\/p>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<ul class=\"wp-block-list\"><li>Test<\/li><li>Query<\/li><li>Set<\/li><li>Execute<\/li><\/ul>\n<\/div><\/div>\n\n\n\n<p>In the following table, I will give you an example of the different types of AT Commands. I will use a sample command of  \u201cTEST\u201d to demonstrate the differences between the different type of commands.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>Command Type<\/strong><\/td><td><strong>Command Format<\/strong><\/td><td><strong>Command Function<\/strong><\/td><\/tr><tr><td>Test<\/td><td>AT+TEST=?<\/td><td>Returns a value or a range of parameters<\/td><\/tr><tr><td>Query<\/td><td>AT+TEST?<\/td><td>Returns the current value of a certain parameter<\/td><\/tr><tr><td>Set<\/td><td>AT+TEST=parameter1, parameter2, \u2026<\/td><td>Set configuration of a certain parameter of group of parameters<\/td><\/tr><tr><td>Execute<\/td><td>AT+TEST<\/td><td>Executes an action<\/td><\/tr><\/tbody><\/table><figcaption>Types of AT Commands for ESP8266 or ESP32<\/figcaption><\/figure>\n\n\n\n<p><strong>Test Commands:<\/strong>&nbsp;The Test AT Commands of ESP8266 WiFi Module are used to get the parameters of a command and their range.<\/p>\n\n\n\n<p><strong>Query Commands:<\/strong>&nbsp;The Query Commands returns the present value of the parameters of a command.<\/p>\n\n\n\n<p><strong>Set Commands:<\/strong>&nbsp;The Set Commands are used set the values of the parameters in the commands and also runs the commands.<\/p>\n\n\n\n<p><strong>Execute Commands:<\/strong>&nbsp;The Execute Commands will run the commands without parameters. &nbsp;<\/p>\n\n\n\n<p><strong>NOTE:<\/strong>\u00a0Not all of  the ESP8266 AT Commands support all the four command types.<\/p>\n\n\n\n<p>The ESP8266 AT Commands Set is divided into three categories. They are:<\/p>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<ul class=\"wp-block-list\"><li>Basic AT Commands&nbsp;<\/li><li>WiFi AT Commands&nbsp;<\/li><li>TCP\/IP AT Commands&nbsp;<\/li><\/ul>\n<\/div><\/div>\n\n\n\n<p>There are a total of 88 AT Commands for ESP8266 WiFi Module. We will however only look at a few of the most important ones.<\/p>\n\n\n\n<p>If you want to know the details of all the ESP8266 AT Commands, then I suggest that you visit the official documentation page provided by Espressif Systems (the manufacturer of ESP8266EX SoC), \u00a0<a rel=\"noreferrer noopener\" href=\"https:\/\/www.espressif.com\/sites\/default\/files\/documentation\/4a-esp8266_at_instruction_set_en.pdf\" target=\"_blank\"><strong>here<\/strong><\/a>.\u00a0 \u00a0<\/p>\n\n\n\n<p><strong>NOTE<\/strong>: The Parameters mentioned in [] are optional.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Basic ESP8266 AT Commands<\/h3>\n\n\n\n<p>As per the official documentation from Espressif Systems, there are a total of 23 Basic AT Commands.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>Basic AT Commands<\/strong><\/td><\/tr><tr><td>AT<\/td><\/tr><tr><td>AT+RST<\/td><\/tr><tr><td>AT+GMR<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>AT<\/strong><\/p>\n\n\n\n<p>This is the basic command that tests the AT start up i.e. if the AT System is working correctly or not. If the AT start up is successful, then the response is OK.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>Command<\/strong><\/td><td><strong>Response<\/strong><\/td><\/tr><tr><td>AT<\/td><td>OK<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>AT+RST<\/strong><\/p>\n\n\n\n<p>This command can be used to restart (reset) the ESP8266 WiFi Module. &nbsp;&nbsp;&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>Command<\/strong><\/td><td><strong>Response<\/strong><\/td><\/tr><tr><td>AT+RST<\/td><td>OK<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>AT+GMR<\/strong><\/p>\n\n\n\n<p>This command is used to check the version information of the firmware and SDK. The response consists of three things: the AT Firmware version, the SDK version and the compilation time of the BIN file.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>Command<\/strong><\/td><td><strong>Response<\/strong><\/td><\/tr><tr><td>AT+GMR<\/td><td>&lt;AT Version&gt;&lt;SDK Version&gt;&lt;Compile Time&gt;OK<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Other important Basic AT Commands: AT+GSLP, ATE and AT+UART.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">WiFi AT Commands<\/h3>\n\n\n\n<p>The WiFi AT Commands are useful in controlling the WiFi features of the ESP8266 Module like setting up the WiFi Mode of operation, get the list of WiFi Networks, connect to a WiFi Network, setup the Access Point (AP), control DHCP, WPS, MAC Address, IP Address etc.<\/p>\n\n\n\n<p>As per the official documentation, there are 40 WiFi AT Commands for ESP8266 Module. Let me introduce a few important AT Commands.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>WiFi AT Commands<\/strong><\/td><\/tr><tr><td>AT+CWMODE<\/td><\/tr><tr><td>AT+CWJAP<\/td><\/tr><tr><td>AT+CWLAP<\/td><\/tr><tr><td>AT+CWQAP<\/td><\/tr><tr><td>AT+CIPSTA<\/td><\/tr><tr><td>AT+CWSAP<\/td><\/tr><tr><td>AT+CWLIF<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>AT+CWMODE<\/strong><\/p>\n\n\n\n<p>This command is used to set the WiFi Mode of operation as either Station mode, Soft Access Point (AP) or a combination of Station and AP. The CWMODE command supports Test, Query and Set type commands.<\/p>\n\n\n\n<p>The syntax, response and parameters (in Set command) of this command are given in the following table.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>AT+CWMODE<\/strong><\/td><\/tr><tr><td>Command Type<\/td><td>Test<\/td><td>Query<\/td><td>Set<\/td><\/tr><tr><td>Format<\/td><td>AT+CWMODE=?<\/td><td>AT+CWMODE?<\/td><td>AT+CWMODE=&lt;mode&gt;<\/td><\/tr><tr><td>Response<\/td><td>+CWMODE:&lt;mode&gt;OK<\/td><td>+CWMODE:&lt;mode&gt;&nbsp;OK<\/td><td>OK<\/td><\/tr><tr><td>Parameters<\/td><td>&lt;mode&gt;1: Station2: Soft Access Point (AP)3: Station+SoftAP<\/td><\/tr><tr><td>Function<\/td><td>&nbsp;<\/td><td>Returns current WiFi Mode<\/td><td>Sets WiFi Mode<\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>AT+CWLAP<\/strong><\/p>\n\n\n\n<p>This command lists out all the available WiFi Networks in the reach of ESP8266. It has both Set and Execute Command types.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>AT+CWLAP<\/strong><\/td><\/tr><tr><td>Command Type<\/td><td>Set<\/td><td>Execute<\/td><\/tr><tr><td>Format<\/td><td>AT+CWLAP[=&lt;ssid&gt;,&lt;mac&gt;,&lt;channel&gt;,&lt;scan_type&gt;,&lt;scan_time_min&gt;,&lt;scan_time_max&gt;]<\/td><td>AT+CWLAP<\/td><\/tr><tr><td>Response<\/td><td>+CWLAP:&lt;ecn&gt;,&lt;ssid&gt;,&lt;rssi&gt;,&lt;mac&gt;,&lt;channel&gt;,&lt;freq&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; offset&gt;,&lt;freq&nbsp;&nbsp; cali&gt;,&lt;pairwise_cipher&gt;,&lt;group_cipher&gt;,&lt;bgn&gt;,&lt;wps&gt;OK<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>NOTE:<\/strong>&nbsp;For more information on Parameters, please refer to the original documentation.<\/p>\n\n\n\n<p><strong>AT+CWJAP<\/strong><\/p>\n\n\n\n<p>This command is to connect to an Access Point (like a router).<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>AT+CWJAP<\/strong><\/td><\/tr><tr><td>Command Type<\/td><td>Query<\/td><td>Set<\/td><\/tr><tr><td>Format<\/td><td>AT+CWJAP?<\/td><td>AT+CWJAP=&lt;ssid&gt;,&lt;pwd&gt;[,&lt;bssid&gt;]<\/td><\/tr><tr><td>Response<\/td><td>+CWJAP:&lt;ssid&gt;,&lt;bssid&gt;,&lt;channel&gt;,&lt;rssi&gt;OK<\/td><td>OKor+CWJAP:&lt;error&gt;FAIL<\/td><\/tr><tr><td>Parameters<\/td><td>&lt;ssid&gt;: SSID of the Access Point.&lt;pwd&gt;: Password.[&lt;bssid&gt;]: MAC Address of AP (usedwhen multiple APs have the same SSID.)&lt;error&gt;1: Connection timeout.2: Wrong password.3: Cannot find the target AP.4: Connection failed.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>AT+CWQAP<\/strong><\/p>\n\n\n\n<p>This command is used to disconnect the ESP8266 from an Access Point.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>Command<\/strong><\/td><td><strong>Response<\/strong><\/td><\/tr><tr><td>AT+CWQAP<\/td><td>OK<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>AT+CIPSTA<\/strong><\/p>\n\n\n\n<p>This command is used to set a static IP Address to the ESP8266 WiFi Module in Station Mode. This command has both Query and Set type commands.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>AT+CIPSTA<\/strong><\/td><\/tr><tr><td>Command Type<\/td><td>Query<\/td><td>Set<\/td><\/tr><tr><td>Format<\/td><td>AT+CIPSTA?<\/td><td>AT+CIPSTA=&lt;ip&gt;[,&lt;gateway&gt;,&lt;netmask&gt;]<\/td><\/tr><tr><td>Response<\/td><td>+CIPSTA:&lt;ip&gt;+CIPSTA:&lt;gateway&gt;+CIPSTA:&lt;netmask&gt;&nbsp;OK<\/td><td>OK<\/td><\/tr><tr><td>Parameters<\/td><td>&lt;ip&gt;: IP Address&lt;gateway&gt;: Gateway&lt;netmask&gt;: Netmask<\/td><\/tr><tr><td>Function<\/td><td>Returns the IP address, Gateway and Netmask.<\/td><td>Sets IP Address, Gateway and Netmask.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>AT+CWSAP<\/strong><\/p>\n\n\n\n<p>This command is used to configure the ESP8266 WiFi Module in Soft Access Point (AP) Mode. Both Query and Set types are available for this command.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>AT+CWSAP<\/strong><\/td><\/tr><tr><td>Command Type<\/td><td>Query<\/td><td>Set<\/td><\/tr><tr><td>Format<\/td><td>AT+CWSAP?<\/td><td>AT+CWSAP =&lt;ssid&gt;,&lt;pwd&gt;,&lt;chl&gt;,&lt;ecn&gt;[,&lt;maxconn&gt;][,&lt;ssid&nbsp; hidden&gt;]<\/td><\/tr><tr><td>Response<\/td><td>+CWSAP:&lt;ssid&gt;,&lt;pwd&gt;,&lt;chl&gt;,&lt;ecn&gt;,&lt;max conn&gt;,&lt;ssid hidden&gt;<\/td><td>OKorERROR<\/td><\/tr><tr><td>Parameter<\/td><td>&lt;ssid&gt;: SSID of AP.&lt;pwd&gt;: Password.&lt;chl&gt;: Channel ID.&lt;ecn&gt;: Encryption method.0: OPEN2: WPA_PSK3: WPA2_PSK4: WPA_WPA2_PSK&lt;max conn&gt;: Max # of Stations&lt;ssid hidden&gt;:0: SSID is broadcasted. (default)1: SSID is not broadcasted.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>AT+CWLIF<\/strong><\/p>\n\n\n\n<p>Using this command, you can get the IP addresses of Stations that are connected to ESP8266, which is configured in SoftAP Mode.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>AT+CWLIF<\/strong><\/td><\/tr><tr><td>Format (Execute Command)<\/td><td>AT+CWLIF<\/td><\/tr><tr><td>Response<\/td><td>&lt;ip addr&gt;,&lt;mac&gt;OK<\/td><\/tr><tr><td>Parameters<\/td><td>&lt;ip address&gt;: IP Address of the Station&lt;mac&gt;: MAC Address of the station<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">TCP\/IP AT Commands<\/h3>\n\n\n\n<p>The TCP\/IP AT Commands are responsible for communication over the internet. There are a total of 25 TCP\/IP AT Commands for ESP8266 WiFi Module. Some of the important ones are mentioned here.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>TCP\/IP<\/strong>&nbsp;<strong>Commands<\/strong><\/td><\/tr><tr><td>AT+CIPSTATUS<\/td><\/tr><tr><td>AT+CIPSTART<\/td><\/tr><tr><td>AT+CIFSR<\/td><\/tr><tr><td>AT+CIPMUX<\/td><\/tr><tr><td>AT+CIPSERVER<\/td><\/tr><tr><td>AT+CIUPDATE<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>AT+CIPSTATUS<\/strong><\/p>\n\n\n\n<p>This TCP\/IP AT Command of the ESP8266 WiFi Module get the information or status of the connection. Only the Execute type command is available.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>AT+CIPSTATUS<\/strong><\/td><\/tr><tr><td>Command Type<\/td><td>Execute<\/td><\/tr><tr><td>Format<\/td><td>AT+CIPSTATUS<\/td><\/tr><tr><td>Response<\/td><td>STATUS:&lt;stat&gt;+CIPSTATUS:&lt;linkID&gt;,&lt;type&gt;,&lt;remoteIP&gt;,&lt;remoteport&gt;,&lt;localport&gt;,&lt;tetype&gt;<\/td><\/tr><tr><td>Parameter<\/td><td>&lt;stat&gt;:2: Connected to an AP and its IP is obtained.3: Created a TCP or UDP transmission.4: Disconnected.5: Does NOT connect.&lt;linkID&gt;: ID of the connection.&lt;type&gt;: \u201cTCP\u201d or \u201cUDP\u201d.&lt;remoteIP&gt;: Remote IP address.&lt;remoteport&gt;: Remote port number.&lt;localport&gt;: Local port number.&lt;tetype&gt;:0: Client.1: Server.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>AT+CIPSTART<\/strong><\/p>\n\n\n\n<p>This AT Command is used to establish one of the three connections: TCP, UDP or SSL. Depending on the type of TCP Connection (single or multiple), the format of the Set command will vary.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>AT+CIPSTART<\/strong><\/td><\/tr><tr><td>Command Type<\/td><td>Set<\/td><\/tr><tr><td>Format<\/td><td>Single TCP Connection<\/td><td>Multiple TCP Connection<\/td><\/tr><tr><td>AT+CIPSTART=&lt;type&gt;,&lt;remoteIP&gt;,&lt;remoteport&gt;[,&lt;TCPkeepalive&gt;]<\/td><td>AT+CIPSTART=&lt;linkID&gt;,&lt;type&gt;,&lt;remoteIP&gt;,&lt;remoteport&gt;[,&lt;TCPkeepalive&gt;]<\/td><\/tr><tr><td>Response<\/td><td>OKorERROR(Response when TCP connection is already established:ALREADY CONNECTED)<\/td><\/tr><tr><td>Parameters<\/td><td>&lt;link&nbsp;&nbsp;&nbsp; ID&gt;: ID of connection.&lt;type&gt;: \u201cTCP\u201d, \u201cUDP\u201d or \u201cSSL\u201d.&lt;remoteIP&gt;: Remote IP address.&lt;remoteport&gt;: Remote port number.[&lt;TCPkeepalive&gt;]: detection time interval<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>NOTE:<\/strong>&nbsp;The above table shows command for only establishing the TCP Connection. For establishing UDP and SSL Connections, please refer to the official documentation.<\/p>\n\n\n\n<p><strong>AT+CIFSR<\/strong><\/p>\n\n\n\n<p>This AT Command is used to obtain the IP Address of the ESP8266 WiFi Module.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>AT+CIFSR<\/strong><\/td><\/tr><tr><td>Command Type<\/td><td>Execute<\/td><\/tr><tr><td>Format<\/td><td>AT+CIFSR<\/td><\/tr><tr><td>Response<\/td><td>+CIFSR:APIP,&lt;SoftAPIPaddress&gt;+CIFSR:APMAC,&lt;SoftAPMACaddress&gt;+CIFSR:STAIP,&lt;StationIPaddress&gt;+CIFSR:STAMAC,&lt;StationMACaddress&gt;OK<\/td><\/tr><tr><td>Parameters<\/td><td>&lt;SoftAPIPaddress&gt;: IP address of the ESP8266 SoftAP;&lt;SoftAPMACaddress&gt;: MAC address of the ESP8266 SoftAP&lt;StationIPaddress&gt;: IP address of the ESP8266 Station.&lt;StationMACaddress&gt;: MAC address of the ESP8266 Station<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>AT+CIPMUX<\/strong><\/p>\n\n\n\n<p>This AT Command is used to enable or disable multiple TCP Connections.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>AT+CIPMUX<\/strong><\/td><\/tr><tr><td>Command Type<\/td><td>Query<\/td><td>Set<\/td><\/tr><tr><td>Format<\/td><td>AT+CIPMUX?<\/td><td>AT+CIPMUX=&lt;mode&gt;<\/td><\/tr><tr><td>Response<\/td><td>+CIPMUX:&lt;mode&gt;OK<\/td><td>OK<\/td><\/tr><tr><td>Parameters<\/td><td>&lt;mode&gt;:0: Single connection1: Multiple connections<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>AT+CIPSERVER<\/strong><\/p>\n\n\n\n<p>This AT Command is used to create or delete a TCP Server.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>AT+CIPSERVER<\/strong><\/td><\/tr><tr><td>Command Type<\/td><td>Set<\/td><\/tr><tr><td>Format<\/td><td>AT+CIPSERVER=&lt;mode&gt;[,&lt;port&gt;]<\/td><\/tr><tr><td>Response<\/td><td>OK<\/td><\/tr><tr><td>Parameters<\/td><td>&lt;mode&gt;:0: Delete Server.1: Create Server.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>NOTE:<\/strong>&nbsp;A TCP Server can be created only when AT+CIPMUX=1 i.e. multiple connections are enabled.<\/p>\n\n\n\n<p><strong>AT+CIUPDATE<\/strong><\/p>\n\n\n\n<p>This AT Command is used update the software through WiFi Connection i.e. for over the air (OTA) updates.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>AT+CIUPDATE<\/strong><\/td><\/tr><tr><td>Command Type<\/td><td>Execute<\/td><\/tr><tr><td>Format<\/td><td>AT+CIUPDATE<\/td><\/tr><tr><td>Response<\/td><td>+CIPUPDATE:&lt;n&gt;OK<\/td><\/tr><tr><td>Parameters<\/td><td>&lt;n>:<br>1: Find the Server<br>2: Connect to the Server<br>3: Get the Software Version<br>4: Start Update<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>I have included a PDF file with the complete AT command Set for download below.<\/p>\n\n\n\n<div class=\"wp-block-file\"><a href=\"http:\/\/144.126.248.244\/wp-content\/uploads\/2020\/10\/4a-esp8266_at_instruction_set_en.pdf\">esp8266_at_instruction_set_en<\/a><a href=\"http:\/\/144.126.248.244\/wp-content\/uploads\/2020\/10\/4a-esp8266_at_instruction_set_en.pdf\" class=\"wp-block-file__button\" download>Download<\/a><\/div>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this tutorial, I\u2019ll show you some of the important and frequently used ESP8266 AT Commands or AT Instruction Set. &nbsp; ESP8266 WiFi Module offers complete networking solutions to our DIY (Do-it-yourself) and IoT (Internet of Things) projects. It provides WiFi connectivity to any microcontroller through its full TCP\/IP Stack. This means that you can &hellip; <a href=\"https:\/\/www.makeriot2020.com\/index.php\/2020\/10\/02\/esp8266-and-esp32-at-commands\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;ESP8266 and ESP32 AT Commands&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[40],"tags":[22,82,42,81,55],"class_list":["post-749","post","type-post","status-publish","format-standard","hentry","category-esp32","tag-arduino-ide","tag-at-command-set","tag-esp32","tag-esp8266","tag-iot"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.makeriot2020.com\/index.php\/wp-json\/wp\/v2\/posts\/749","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.makeriot2020.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.makeriot2020.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.makeriot2020.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.makeriot2020.com\/index.php\/wp-json\/wp\/v2\/comments?post=749"}],"version-history":[{"count":0,"href":"https:\/\/www.makeriot2020.com\/index.php\/wp-json\/wp\/v2\/posts\/749\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.makeriot2020.com\/index.php\/wp-json\/wp\/v2\/media?parent=749"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.makeriot2020.com\/index.php\/wp-json\/wp\/v2\/categories?post=749"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.makeriot2020.com\/index.php\/wp-json\/wp\/v2\/tags?post=749"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}