ESP32 Ethernet AT Commands
AT+CIPETHMAC: Query/Set the MAC address of the ESP32 Ethernet.
AT+CIPETH: Query/Set the IP address of the ESP32 Ethernet.
Introduction
Important
The default AT firmware does not support the AT commands listed on this page. If you need ESP32 to support Ethernet commands, please refer to How to Enable ESP-AT Ethernet documentation and Compile ESP-AT Project Locally.
Prerequisite
Before you run any Ethernet AT Commands, please make the following preparations:
Note
This prerequisite takes ESP32-Ethernet-Kit as an example. If you use other modules or development boards, please refer to corresponding datasheets for RX/TX pins.
Change AT UART pins (because default AT UART pins are in conflict with the Ethernet function pins):
Open factory_param_data.csv file.
In the row of module
WROVER-32
, changeuart_tx_pin
from GPIO22 to GPIO2,uart_rx_pin
from GPIO19 to GPIO4,uart_cts_pin
from GPIO15 to GPIO1, anduart_rts_pin
from GPIO14 to GPIO1 (flow control is optional and is not used here). See How to Set AT Port Pins for more information.
Enable
AT ethernet support
. See How to Enable ESP-AT Ethernet for more information.Compile and flash the project onto ESP32-Ethernet-Kit.
Connect your hardware:
Connect Host MCU (PC with USB to serial converter) to GPIO2 (TX) and GPIO4 (RX) of ESP32-Ethernet-Kit when the flow control function is not enabled.
Connect ESP32-Ethernet-Kit with Ethernet network.
AT+CIPETHMAC: Query/Set the MAC Address of the ESP32 Ethernet
Query Command
Function:
Query the MAC address of the ESP32 Ethernet.
Command:
AT+CIPETHMAC?
Response:
+CIPETHMAC:<"mac">
OK
Set Command
Function:
Set the MAC address of the ESP32 Ethernet.
Command:
AT+CIPETHMAC=<"mac">
Response:
OK
Parameter
<”mac”>: string parameter showing the MAC address of the Ethernet interface.
Notes
The default firmware does not support Ethernet AT commands (see ESP-AT Firmware Differences), but you can enable it by
./build.py menuconfig
>Component config
>AT
>AT ethernet support
and compile the project (see Compile ESP-AT Project Locally).The configuration changes will be saved in the NVS area if AT+SYSSTORE=1.
Please make sure the MAC address of Ethernet interface you set is different from those of other interfaces.
Bit0 of the ESP32 MAC address CANNOT be 1. For example, a MAC address can be “1a:…” but not “15:…”.
FF:FF:FF:FF:FF:FF
and00:00:00:00:00:00
are invalid MAC addresses and cannot be set.
Example
AT+CIPETHMAC="1a:fe:35:98:d4:7b"
AT+CIPETH: Query/Set the IP Address of the the ESP32 Ethernet
Query Command
Function:
Query the IP address of the ESP32 Ethernet.
Command:
AT+CIPETH?
Response:
+CIPETH:ip:<ip>
+CIPETH:gateway:<gateway>
+CIPETH:netmask:<netmask>
OK
Set Command
Function:
Set the IP address of the ESP32 Ethernet.
Command:
AT+CIPETH=<ip>[,<gateway>,<netmask>]
Response:
OK
Parameters
<ip>: string parameter showing the IP address of the ESP32 Ethernet.
[<gateway>]: gateway.
[<netmask>]: netmask.
Notes
The default firmware does not support Ethernet AT commands (see ESP-AT Firmware Differences), but you can enable it by
./build.py menuconfig
>Component config
>AT
>AT ethernet support
and compile the project (see Compile ESP-AT Project Locally).The configuration changes will be saved in the NVS area if AT+SYSSTORE=1.
This Set Command correlates with DHCP commands, such as AT+CWDHCP:
If static IP is enabled, DHCP will be disabled.
If DHCP is enabled, static IP will be disabled.
The last configuration overwrites the previous configuration.
Example
AT+CIPETH="192.168.6.100","192.168.6.1","255.255.255.0"