如何修改 AT port
管脚¶
在 esp-at
工程中,默认使用了两个 UART: UART0 和 UART1. 在有些情况下,用户可能想要修改管脚配置已满足自己的产品需求. 由于 esp-at
当前可支持 ESP8266 和 ESP32 两个平台,另个平台硬件有些差异,所以 UART 的配置方式也有少许差异.
ESP32 平台¶
ESP32 的 UART 管脚可以通过管脚映射的方式进行修改, 具体请参见 ESP32 技术参考手册, 在官方 release 固件中,UART0 作为 Log 的打印,默认管脚为
TX ---> GPIO1
RX ---> GPIO3
可以通过 ./build.py menuconfig
> Component config
> Common ESP-related
> UART for console output
进行修改.
UART1 作为 AT 命令通讯使用(只能为 UART1, 但管脚可修改),默认管脚配置在 factory_param.bin
中, 可以在 customized_partitions/raw_data/factory_param/factory_param_data.csv 文件中修改,不同的模组固件可能管脚不同,关于 factory_param_data.csv
的含义描述,可参阅 ESP_AT_Factory_Parameter_Bin.md
.
比如 WROOM-32
模组
Parameter | Value |
---|---|
platform | PLATFORM_ESP32 |
module_name | WROOM-32 |
magic_flag | 0xfcfc |
version | 1 |
reserved1 | 0 |
tx_max_power | 78 |
uart_port | 1 |
start_channel | 1 |
channel_num | 13 |
country_code | CN |
uart_baudrate | 115200 |
uart_tx_pin | 17 |
uart_rx_pin | 16 |
uart_ctx_pin | 15 |
uart_rts_pin | 14 |
tx_control_pin | -1 |
rx_control_pin | -1 |
发送命令的 AT port 管脚分别为
TX ---> GPIO17
RX ---> GPIO16
CTS ---> GPIO15
RTX ---> GPIO14
如果想要使用 GPIO1 (TX)、GPIO3 (RX) 同时作为 Log 打印和 AT 命令输入,可以采用如下操作:
打开 customized_partitions/raw_data/factory_param/factory_param_data.csv 文件
修改
WROOM-32
模组的uart_port
为 0,uart_tx_pin
为 1 以及uart_rx_pin
为 3,如下Parameter Value platform PLATFORM_ESP32 module_name WROOM-32 magic_flag 0xfcfc version 1 reserved1 0 tx_max_power 78 uart_port 0 start_channel 1 channel_num 13 country_code CN uart_baudrate 115200 uart_tx_pin 1 uart_rx_pin 3 uart_ctx_pin -1 uart_rts_pin -1 tx_control_pin -1 rx_control_pin -1 然后保存,重新编译固件,并完全烧录固件即可.注意:一定要同时烧录对应的
factory_param.bin
.
ESP8266 平台¶
ESP8266
共有两组 UART
口,分别为:UART0
和 UART1
,其中,UART1
只有TX
功能(GPIO2
)。所以只能使用 UART0 作为命令输入口. 由于 ESP8266 UART pin 并不能像 ESP32 那样任意映射,只能使用 GPIO15 作为 TX、GPIO13 作为 RX, 或者使用 GPIO1 作为 TX、GPIO3 作为 RX. 默认 LOG UART 为 UART1, TX 为 GPIO2; AT port UART 为 UART0, TX 为 GPIO15, RX 为 GPIO13.
如果想要使用 GPIO1 (TX)、GPIO3 (RX) 同时作为 Log 打印和 AT 命令输入,可以采用如下操作(WROOM-02 为例):
./build.py menuconfig
>Component config
>ESP8266-specific
>UART for console output
>Default: UART0
修改 customized_partitions/raw_data/factory_param/factory_param_data.csv 文件中
WROOM-02
模组的uart_tx_pin
和uart_rx_pin
分别为 1 和 3,如下Parameter Value platform PLATFORM_ESP8266 module_name WROOM-02 magic_flag 0xfcfc … … uart_baudrate 115200 uart_tx_pin 1 uart_rx_pin 3 uart_ctx_pin -1 uart_rts_pin -1 … … 然后保存,重新编译固件,并完全烧录固件即可.注意:一定要同时烧录对应的
factory_param.bin
.
ESP32-C3 平台¶
ESP32-C3 的 UART 管脚可以通过管脚映射的方式进行修改, 具体请参见 ESP32-C3 系列芯片技术规格书, 在官方 release 固件中,UART0 作为 Log 的打印,默认管脚为
TX ---> GPIO21
RX ---> GPIO20
可以通过 ./build.py menuconfig
> Component config
> Common ESP-related
> Channel for console output
进行修改.
UART1 作为 AT 命令通讯使用(只能为 UART1, 但管脚可修改),默认管脚配置在 factory_param.bin
中, 可以在 customized_partitions/raw_data/factory_param/factory_param_data.csv 文件中修改,不同的模组固件可能管脚不同,关于 factory_param_data.csv
的含义描述,可参阅 ESP_AT_Factory_Parameter_Bin.md
.
比如 MINI-1
模组
Parameter | Value |
---|---|
platform | PLATFORM_ESP32C3 |
module_name | MINI-1 |
magic_flag | 0xfcfc |
version | 2 |
module_id | 1 |
tx_max_power | 78 |
uart_port | 1 |
start_channel | 1 |
channel_num | 13 |
country_code | CN |
uart_baudrate | 115200 |
uart_tx_pin | 7 |
uart_rx_pin | 6 |
uart_cts_pin | 5 |
uart_rts_pin | 4 |
tx_control_pin | -1 |
rx_control_pin | -1 |
发送命令的 AT port 管脚分别为
TX ---> GPIO7
RX ---> GPIO6
CTS ---> GPIO5
RTX ---> GPIO4
如果想要使用 GPIO21 (TX)、GPIO20 (RX) 同时作为 Log 打印和 AT 命令输入,可以采用如下操作:
打开 customized_partitions/raw_data/factory_param/factory_param_data.csv 文件
修改
MINI-1
模组的uart_port
为 0,uart_tx_pin
为 21 以及uart_rx_pin
为 20,如下Parameter Value platform PLATFORM_ESP32C3 module_name MINI-1 magic_flag 0xfcfc version 2 module_id 1 tx_max_power 78 uart_port 0 start_channel 1 channel_num 13 country_code CN uart_baudrate 115200 uart_tx_pin 21 uart_rx_pin 20 uart_cts_pin -1 uart_rts_pin -1 tx_control_pin -1 rx_control_pin -1 然后保存,重新编译固件,并完全烧录固件即可.注意:一定要同时烧录对应的
factory_param.bin
.