1. Introduction to ESP8266
The ESP8266 is a low-power, highly integrated WiFi SoC chip launched by Espressif Technology. It has a built-in TCP/IP protocol stack and supports STA (Station), AP (Access Point), and STA+AP mixed modes, allowing it to function independently as a master MCU or in conjunction with other controllers (such as STM32 or Arduino) via serial communication.
Common module versions include:
-
ESP-01: The simplest module, exposing only a few GPIOs.
-
ESP-12: More GPIOs, suitable for integration into development boards.
-
NodeMCU: A development board package with USB-to-serial integration for easy debugging.
2. Communication Principles of ESP8266
The ESP8266 typically connects to the master MCU (such as STM32) via serial communication (UART). During communication, the master sends AT commands to control the ESP8266, enabling network connections, data transmission, and other functions.
The communication process is briefly outlined as follows:
-
Serial InitializationThe master MCU configures the UART baud rate (commonly 115200 or 9600) to initialize serial communication.
-
Module Testing and RestartSend a test command
<span>AT</span>, which should return<span>OK</span>; you can send<span>AT+RST</span>to restart the module. -
Set Operating Mode
-
<span>AT+CWMODE=1</span>: Set to STA mode (connect to router) -
<span>AT+CWMODE=2</span>: Set to AP mode (itself as a hotspot) -
<span>AT+CWMODE=3</span>: STA+AP dual mode
Connect to WiFi NetworkUse the command <span>AT+CWJAP="SSID","PASSWORD"</span> to connect to the target router, returning <span>WIFI CONNECTED</span> indicates success.
Establish TCP/UDP ConnectionUse the command <span>AT+CIPSTART="TCP","192.168.1.100",8080</span> to establish a TCP connection.
Send Data
-
Command
<span>AT+CIPSEND=length</span>starts sending data -
After the module returns
<span>> </span>, send the actual data
Receive DataThe ESP8266 will actively send data through the serial port when it receives data, such as <span>+IPD,len:data,station</span>
Close ConnectionUse <span>AT+CIPCLOSE</span> to close the current connection
3. Common Usage Methods of ESP8266
1. Using AT Command Mode
This method is suitable for use with a master MCU, where the master sends commands to control:
-
Advantages: The master is flexible, and program development is simple.
-
Disadvantages: Dependent on external master control, functionality is limited by firmware.
Common commands are organized as follows:
| Function | Command | Description |
|---|---|---|
| Test Module | <span>AT</span> |
Returns <span>OK</span> |
| Restart Module | <span>AT+RST</span> |
Restarts the ESP8266 |
| Set Mode | <span>AT+CWMODE=1</span> |
STA mode |
| Connect to WiFi | <span>AT+CWJAP="ssid","pwd"</span> |
Connects to AP |
| Enable Multiple Connections | <span>AT+CIPMUX=1</span> |
Supports multiple TCP connections |
| Establish Connection | <span>AT+CIPSTART="TCP","ip",port</span> |
Connects to server |
| Send Data | <span>AT+CIPSEND=length</span> |
Sends data |
| Close Connection | <span>AT+CIPCLOSE</span> |
Disconnects TCP connection |