v3.2.0.0
xcguang
released this
28 Jul 12:10
·
18 commits
to release/v3.2.0.0
since this release
v3.2.0.0 Release Notes
v3.2.0.0 is released for ESP32 and ESP32-C3. The changes since the previous version are as follows.
ESP32-AT
Documentation for Release v3.2.0.0 is available at https://docs.espressif.com/projects/esp-at/en/release-v3.2.0.0/esp32/index.html
ESP32-AT v3.2.0.0 is a major update for ESP32-AT v2.4.0.0.
The firmwares:
- ESP32-WROOM-32-AT-V3.2.0.0.zip
- ESP32-SOLO-AT-V3.2.0.0.zip
- ESP32-PICO-D4-AT-V3.2.0.0.zip
- ESP32-MINI-1-AT-V3.2.0.0.zip
- ESP-AT will not release firmwares for ESP32 WROVER series
This is the list of changes since release v2.4.0.0:
Breaking Changes
esp-idf
version updated to release/v5.0 (24b9d38a)AT+SYSFLASH
: If you previously used v2.4.0.0 firmware and now directly flash v3.2.0.0 firmware, and MCU reads/writes parameters throughAT+SYSFLASH
command, the two versions will return different data, causing incompatibility (because v2.4.0.0 reads/writes parameters using partition method, while v3.2.0.0 uses NVS method). You can choose any of the following methods to resolve the compatibility issue:- Modify MCU code. For v2.4.0.0 firmware version, use
AT+SYSFLASH
command to read/write parameters; for v3.2.0.0 firmware version, useAT+SYSMFG
command to read/write parameters. - Upgrade to v3.2.0.0 firmware using
AT+USEROTA
orAT+CIUPDATE
command instead of directly flashing firmware. - Customize AT firmware. In the firmware released with v2.4.0.0, replace the esp-at.bin file with the esp-at.bin file from v3.1.0.0, and recompile it into a new 4MB firmware.
- Modify MCU code. For v2.4.0.0 firmware version, use
AT+RFPOWER
: The default value of ble tx power changed from 2 to 0
1. Feature
1.1 Wi-Fi
AT+CWSTAPROTO
andAT+CWAPPROTO
commands addedWIFI_PROTOCOL_LR
support- Added the
AT+CWINIT
command to init or deinit Wi-Fi AT+WEBSERVER
: Wi-Fi provisioning supports special characters in SSIDs and passwords
1.2 TCP/IP
- Added the
AT+CIPFWVER?
command to query firmware versions AT+CIUPDATE
: Added CDN network support- Added the
AT+TRANSINTVL
command to support configurable intervals in passthrough mode
1.3 Application Layer
- Added the
AT+MQTTLONGCLIENTID
command to set MQTT client ID - Added the
AT+MQTTLONGUSERNAME
command to set MQTT username - Added the
AT+MQTTLONGPASSWORD
command to set MQTT password - Added the
AT+HTTPCHEAD
commands to set more request headers - Added
AT+HTTPCPUT
command to put HTTP data of specified length AT+HTTPGETSIZE
: Added tx_size, rx_size, timeout parameters- Added WebSocket AT commands
AT+WEBSERVER
: Added the customized partition upgrade functionAT+CIPSNTPCFG
: Added timezone query and timezone set when SNTP was disabled
1.4 System
- Added the
AT+SYSMSGFILTER
andAT+SYSMSGFILTERCFG
commands to filter system messages - Added the
AT+USERWKMCUCFG
andAT+USERMCUSLEEP
commands to wake up MCU - Added
esp_at_get_para_as_float()
API to get the float type parameter
1.5 Bluetooth
AT+BLUFI
: BluFi supports getting AP lists and sending custom dataAT+BLEWL
: Added ble whitelist commandAT+BLUFINAME
: Modified maximum length of BluFi name to 29 bytesAT+SAVETRANSLINK
: Support Bluetooth LE passthrough modeAT+BLERDRSSI
: Support reading the RSSI of Bluetooth LE connection- Support sending exchange MTU requests when init server role
2. Bugfix
2.1 Wi-Fi
- Fixed that Wi-Fi mode was changed after waking up from deep sleep (
AT+GSLP
) - Fixed that
AT+CWQIF
fails to disconnect the station if connected by multiple stations - Fixed that
AT+CWJAP
returned the wrong reason code sometimes - Fixed the crash caused by frequently enabling and disabling web server (
AT+WEBSERVER
) - Fixed that Wi-Fi stopped reconnection if
AT+BLUFI
command was sent - Fixed the issue of occasional network configuration failure in smartconfig (due to the lack of SSID validity check, which resulted in incorrect Wi-Fi auto-connection after power-up, further terminating the smartconfig network configuration).
- Fixed a potential issue that SoftAP could not work if powered down when saving the SoftAP configurations
AT+CWJEAP
: Fixed the issue that theEAP-TLS
method does not work due to the last byte of PKI was not NULL terminated- Fixed that
AT+RFPOWER
command could not set ble tx power when Wi-Fi mode was 0
2.2 TCP/IP
- Fixed that
AT+CIPSTO
could not work in passthrough mode - Fixed that
AT+CIPTCPOPT
cannot work if AT works as a server - Fixed that
AT+CIPTCPOPT
query command may return the wrong keep-alive value - Added a workaround that
AT+CIPCLOSE
might block forever if ESP-AT works as a TCP client andSO_LINGER
option is set (due to the LwIP SO_LINGER issue in some cases) - Fixed that
AT+CIPRECVDATA
may cause a busy p issue - Fixed that
AT+CIPSSLCCONF
,AT+CIPSSLCCN
,AT+CIPSSLCSNI
,AT+CIPSSLCALPN
,AT+CIPSSLCPSK
,AT+CIPTCPOPT
returns multiple items in single connection - Fixed a type and remote host parameter unmatched issue in
AT+CIPSTART
command - Fixed a potential crash if the hostname length is bigger than 64 bytes in
AT+CIPSTART
command AT+CIPSEND
: Fixed a data sent issue due to the changed link_id- Fixed that
AT+CIUPDATE
returned ERROR if the OTA server returned too many OTA versions - Fixed that
AT+CIPSTART
could not establish multiple UDP transmissions on the same port - Fixed the issue of TLS connection failures caused by incorrect CN settings
- Fixed the issue of returning OK when setting
AT+CIPSERVER
twice
2.3 Application Layer
- Fixed that
AT+HTTPURLCFG?
returned the wrong URL - Fixed that
rx_size
parameter could not work when set to 0 inAT+HTTPCGET
command - Fixed that
AT+HTTPCPOST
response returns the wrong command name if appended more post data - Fixed the issue of AT blocking when MQTT broker actively closed MQTT client connection
2.4 System
- Fixed that busy p issue if an SSL connection was established and data was read in a weak network
- Fixed that GPIO32/GPIO33 could not work as UART pins due to conflict with the external 32 KHz crystal oscillator configuration
- Fixed that
esp_at_port_write_data()
crashed if input length < 0 - Fixed the high power consumption in light sleep if set the wake-up source
- Fixed the memory leak issue of
AT+FS
command SPI
: Fixed a global issue where incorrect length was returned when reading data by SPI (For example, AT+HTTPCPOST command cannot read out all the data from SPI due to wanted data length being returned instead of the actual data length)
2.5 Bluetooth
- Fixed that device name was missing in adv packets
- Fixed some BluFi issues
- Fixed the issue of occasional restart caused by the AT+BLEGATTCPRIMSRV=0 command
- Fixed the ble tx power set fail issue
2.6 Tools
- Fixed that factory firmware cannot be generated on Windows OS
build.py
: Installed compilation environment depends on the targetbuild.py
: Used the python of esp-idf environment instead of external deprecated pythonat.py
Support modifying manufacturing NVS
3. Optimization
- Refactored the storage mode of factory parameters to use the manufacturing NVS operation instead of partition operation. (see Why are we using manufacturing nvs way on the master? for more details)
- Simplified GitHub CI workflow
- Enabled power_management for the station when disconnected (Chip will do modem-sleep when rf module is not in use any more)
- Disable PMF to improve Wi-Fi compatibility when AT works in SoftAP mode
- Used Python to generate fatfs.bin instead of the deprecated mkfatfs component
- Support jihulab redirects in
build.py
- Migrated AT firmware resources from
download.espressif.com
server todl.espressif.com
server - Enhanced the documentation with the addition of more and detailed descriptions and addressed some document errors.
ESP32C3-AT
Documentation for Release v3.2.0.0 is available at https://docs.espressif.com/projects/esp-at/en/release-v3.2.0.0/esp32c3/index.html
ESP32C3-AT v3.2.0.0 is a major update for ESP32C3-AT v2.4.2.0.
The firmwares:
This is the list of changes since release v2.4.2.0:
Breaking Changes
esp-idf
version updated to release/v5.0 (24b9d38a)AT+SYSFLASH
: If you previously used v2.4.0.0 firmware and now directly flash v3.2.0.0 firmware, and MCU reads/writes parameters throughAT+SYSFLASH
command, the two versions will return different data, causing incompatibility (because v2.4.0.0 reads/writes parameters using partition method, while v3.2.0.0 uses NVS method). You can choose any of the following methods to resolve the compatibility issue:- Modify MCU code. For v2.4.0.0 firmware version, use
AT+SYSFLASH
command to read/write parameters; for v3.2.0.0 firmware version, useAT+SYSMFG
command to read/write parameters. - Upgrade to v3.2.0.0 firmware using
AT+USEROTA
orAT+CIUPDATE
command instead of directly flashing firmware. - Customize AT firmware. In the firmware released with v2.4.0.0, replace the esp-at.bin file with the esp-at.bin file from v3.1.0.0, and recompile it into a new 4MB firmware.
- Modify MCU code. For v2.4.0.0 firmware version, use
AT+RFPOWER
: The default value of ble tx power changed from 10 to 11
1. Feature
1.1 Wi-Fi
AT+CWSTAPROTO
andAT+CWAPPROTO
commands addedWIFI_PROTOCOL_LR
support- Added the
AT+CWINIT
command to init or deinit Wi-Fi AT+WEBSERVER
: Wi-Fi provisioning supports the special character in SSID and password
1.2 TCP/IP
AT+CIUPDATE
: Added CDN network support- Added the
AT+TRANSINTVL
command to support configurable intervals in passthrough mode
1.3 Application Layer
- Added the
AT+HTTPCHEAD
commands to set more request headers - Added
AT+HTTPCPUT
command to put HTTP data of specified length AT+HTTPGETSIZE
: Added tx_size, rx_size, timeout parameters- Added WebSocket AT commands
AT+WEBSERVER
: Added the customized partition upgrade functionAT+CIPSNTPCFG
: Added timezone query and timezone set when SNTP was disabled- Added RainMaker AT Commands and Firmware
1.4 System
- Added the
AT+SYSMSGFILTER
andAT+SYSMSGFILTERCFG
commands to filter system messages - Added the
AT+RST
setup command to set the chip to enter normal running mode or firmware downloading mode - Enable the external 32 KHz oscillator option by default and it works regardless of whether a 32K crystal oscillator is connected or not
1.5 Bluetooth
AT+BLUFI
: BluFi supports getting AP lists and sending custom dataAT+BLEWL
: Added Bluetooth LE whitelist commandAT+BLUFINAME
: Modified maximum length of Blu-Fi name to 29 bytesAT+SAVETRANSLINK
: Support Bluetooth LE passthrough modeAT+BLERDRSSI
: Support reading the RSSI of Bluetooth LE connection- Support sending exchange MTU requests when init server role
2. Bugfix
2.1 Wi-Fi
- Fixed that
AT+CWQIF
fails to disconnect the station if connected by multiple stations - Fixed that
AT+CWJAP
returned the wrong reason code sometimes - Fixed a crash caused by frequently enabling and disabling web server (
AT+WEBSERVER
) - Fixed that Wi-Fi stopped reconnection if sent
AT+BLUFI
command - Fixed the issue of occasional network configuration failure in smartconfig (due to the lack of SSID validity check, which resulted in incorrect Wi-Fi auto-connection after power-up, further terminating the smartconfig network configuration).
- Fixed a potential issue that SoftAP cannot work if powered down when saving the SoftAP configurations
AT+CWJEAP
: Fixed the issue that theEAP-TLS
method does not work due to the last byte of PKI not NULL terminated- Fixed that
AT+RFPOWER
command cannot set ble tx power when Wi-Fi mode is 0
2.2 TCP/IP
- Added a workaround that
AT+CIPCLOSE
might block forever if ESP-AT works as a TCP client andSO_LINGER
option is set (due to the LwIP SO_LINGER issue in some cases) - Fixed that
AT+CIPRECVDATA
may cause a busy p issue - Fixed that
AT+CIPSSLCCONF
,AT+CIPSSLCCN
,AT+CIPSSLCSNI
,AT+CIPSSLCALPN
,AT+CIPSSLCPSK
,AT+CIPTCPOPT
returns multiple items in single connection - Fixed a type and remote host parameter unmatched issue in
AT+CIPSTART
command - Fixed a potential crash if hostname length is bigger than 64 bytes in
AT+CIPSTART
command AT+CIPSEND
: Fixed a data sent issue due to changed link_id- Fixed that
AT+CIUPDATE
returns ERROR if the OTA server returned too many ota versions - Fixed that
AT+CIPSTART
cannot establish multiple UDP transmissions on the same port - Fixed the issue of TLS connection failures caused by incorrect CN settings
- Fixed the issue of returning OK when setting
AT+CIPSERVER
twice
2.3 Application Layer
- Fixed that
AT+HTTPCPOST
response returns the wrong command name if appended more post data - Fixed an issue of AT blocking when the MQTT broker actively closes MQTT client connection
- Fixed a memory leak issue when using
AT+MQTTLONGCLIENTID
,AT+MQTTLONGUSERNAME
, orAT+MQTTLONGPASSWORD
command
2.4 System
- Fixed that busy p issue if established an SSL connection and read data in a weak network
- Fixed the high power consumption in light sleep if set the wake-up source
- Fixed the memory leak issue of
AT+FS
command SPI
: Fixed a global issue where incorrect length was returned when reading data by SPI (For example, AT+HTTPCPOST command cannot read out all the data from SPI due to wanted data length being returned instead of the actual data length)
2.5 Bluetooth
- Fixed that the second BluFi net config failed if BluFi net config failed the first time
- Fixed the ble tx power set fail issue
2.6 Tools
build.py
: Installed compilation environment depends on the targetbuild.py
: Used the python of esp-idf environment instead of external deprecated pythonat.py
Support modifying manufacturing NVS
3. Optimization
- Refactored the storage mode of factory parameters to use the manufacturing NVS operation instead of partition operation. (see Why are we using manufacturing nvs way on the master? for more details)
- Simplified GitHub CI workflow
- Disable PMF to improve Wi-Fi compatibility when AT works in SoftAP mode
- Used Python to generate fatfs.bin instead of the deprecated mkfatfs component
- Support jihulab redirects in
build.py
- Migrated AT firmware resources from
download.espressif.com
server todl.espressif.com
server - Disabled the JTAG function to support flashing the firmware by USB
- Enhanced the documentation with the addition of more and detailed descriptions and addressed some document errors.