Skip to content

Latest commit

 

History

History
executable file
·
255 lines (166 loc) · 15.6 KB

faq.rst

File metadata and controls

executable file
·
255 lines (166 loc) · 15.6 KB

AT FAQ

:link_to_translation:`zh_CN:[中文]`

If there is no released fimware for your module in the :doc:`AT_Binary_Lists/index` chapter, please consider the following options:

ESP-AT firmware is partially open-source. See esp-at for the open-source repository.
You can use the combine button of the Flash Download Tools.
.. only:: esp32

  Why is the error "flash read err,1000" printed on the serial port after powering up the newly purchased ESP32-WROVE-E module? How to use AT commands for this module?
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    - The ESP32-WROVER-E module is shipped without AT firmware, so the error "flash read err" appears.
    - If you want to use the AT command function of ESP32-WROVER-E, please refer to the following links to get the firmware and flash it.

      - :ref:`Download firmware <firmware-esp32-wrover-32-series>`;
      - :ref:`Connect hardware <hw-connection-esp32-wrover-series>`;
      - :ref:`Flash firmware <flash-at-firmware-into-your-device>`.

  • The "busy" prompt indicates that the previous command is being executed, and the system cannot respond to the current input. The processing mechanism of the AT commands is serial, i.e. one command at a time.
  • Any input through serial ports is considered to be a command input, so the system will also prompt "busy" or "ERROR" when there is any extra invisible character input.
    • Serial input AT+GMR (change character CR LF) (space character), because AT+GMR (change character CR LF) is already a complete AT command, the system will execute the command. At this time, if the system has not completed the AT+GMR operation, it has received the following space character, which will be regarded as a new command input, and the system will prompt "busy". But if the system has completed the AT+GMR operation, and then receives the following space character, the space character will be regarded as an error command, and the system will prompt "ERROR".
    • After the MCU sends AT+CIPSEND and receives the busy p.. response, the MCU needs to resend the data. Because busy p.. represents the previous command is being executed, the current input is invalid. It is recommended to wait for the response of the last AT command before the MCU sends a new command again.
ERR CODE:0x010b0000
busy p...
  • This message means that the previous command is being executed.
  • Normally only "busy p..." is displayed. The ERR CODE is displayed because the error code prompt is enabled.
  • If you receive this message after sending the first command on power-up, the possible reasons are: the command is followed by the unnecessary newline/space/other symbols; or two or more AT commands are sent in succession.
A terminator ("ATrn") must be added after an AT command when the host MCU sending AT commands to an {IDF_TARGET_NAME} device. Please see :ref:`check-whether-at-works`.
Currently, AT commands do not support ESP-WIFI-MESH.
Yes, the :ref:`AT+RFPOWER <cmd-RFPOWER>` command can set Bluetooth LE transmit power. {IDF_TARGET_NAME} Wi-Fi and Bluetooth LE share the same antenna.
.. only:: esp32

  Is it possible to set the ESP32-WROOM-32 module to HID keyboard mode with AT commands?
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    Yes, please refer to :doc:`Bluetooth LE AT Commands <AT_Command_Set/BLE_AT_Commands>`.

For example, if you need to support the WPA2 Enterprise function on the {IDF_TARGET_NAME} series, configure and compile the firmware by yourself. Open the WPA2 Enterprise function in menuconfig when compiling: ./build.py menuconfig > Component config > AT > [*]AT WPA2 Enterprise command support.
Please refer to the escape character syntax described in the :ref:`at-command-types` section.

Yes, you can use either of the two ways below to modify it:

  • Yes, you can configure it with :ref:`AT+SYSMSG <cmd-SYSMSG>`, i.e., set AT+SYSMSG=4. In this way, the serial port will report "WIFI DISCONNECTrn" when the connected hotspot is disconnected.
  • Note that this command is added after AT v2.1.0. It is not available for v2.1.0 and earlier versions.
The :ref:`AT+BLEADVDATA <cmd-BADVD>` command supports up to 32 bytes of ADV broadcast parameters. If you need to set a bigger parameter, please use command :ref:`AT+BLESCANRSPDATA <cmd-BSCANR>`.
.. only:: esp32

  How does the {IDF_TARGET_NAME} AT communicate through the UART0 port?
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    The default AT firmware communicates through the UART1 port. If you want to communicate through UART0, please download and compile the ESP-AT project.

    - Refer to :doc:`Compile_and_Develop/How_to_clone_project_and_compile_it` to set up the compiling environment;
    - Modify the module's UART pins in your :component_file:`factory_param_data.csv <customized_partitions/raw_data/factory_param/factory_param_data.csv>`, i.e. change uart_tx_pin to GPIO1, and uart_tx_pin to GPIO3;
    - Configure your esp-at project: ./build.py menuconfig > Component config > Common ESP-related > UART for console output(Custom) > Uart peripheral to use for console output(0-1)(UART1) > (1)UART TX on GPIO# (NEW) > (3)UART TX on GPIO# (NEW).

.. list::

  :esp32: - For {IDF_TARGET_NAME}, the error log is output through the download port. By default, UART0 is GPIO1 and GPIO3.
  :esp32c3: - For {IDF_TARGET_NAME}, the error log is output through the download port. By default, UART0 is GPIO21 and GPIO20.
  - See :doc:`Get_Started/Hardware_connection` for more details.

  • In an office scenario, the connection time is 5 seconds. However, in actual practice, Wi-Fi connection time depends on the router performance, network environment, module antenna performance, etc.
  • The maximum timeout time can be set by the <jap_timeout> parameter of :ref:`AT+CWJAP <cmd-JAP>`.
  • Currently, it cannot be changed by AT commands, but you can configure and compile the ESP-AT project to generate a new firmware.
  • You can configure the menuconfig parameter: Component config > LWIP > TCP > Default send buffer size.
  • Many factors are affecting the AT throughput test. It is recommended to use the iperf example in esp-idf for testing. While testing, please use the passthrough mode, adjust the data length to 1460 bytes, and send data continuously.
  • If the test rate does not meet your requirements, please refer to :doc:`Compile_and_Develop/How_to_optimize_throughput`.
.. only:: esp32

  What is the maximum rate of {IDF_TARGET_NAME} AT default firmware Bluetooth LE UART transparent transmission?
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    In an open office environment, when the serial port baud rate is 2000000, the average transmission rate of ESP-AT Bluetooth is 0.56 Mbps, and the average transmission rate of ESP-AT Bluetooth LE is 0.101 Mbps.

.. list::

  :esp32: - {IDF_TARGET_NAME} can transmit AT commands through UART and SDIO.
  :esp32c3: - {IDF_TARGET_NAME} can transmit AT commands through UART and SPI.
  - The default firmware uses UART for transmission. If you need SDIO or SPI interface to transmit AT commands, you can configure it through ``./build.py menuconfig -> Component config -> AT`` when compiling the ESP-AT project by yourself.
  - See :project_file:`AT through SDIO <main/interface/sdio/README.md>`, :project_file:`AT through SPI <main/interface/hspi/README.md>`, or :project_file:`AT through socket <main/interface/socket/README.md>` for more details.

.. only:: esp32

  How to use the Ethernet function of the {IDF_TARGET_NAME} AT?
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    The Ethernet function is disable in AT default firmware, if you need to enable the Ethernet function, please refer to :doc:`How to Enable ESP-AT Ethernet <Compile_and_Develop/How_to_enable_ESP_AT_Ethernet>`.

Please contact Espressif for solutions.
When compiling the esp-at project, you can disable the unwanted versions in the ./build.py menuconfig -> Component config -> mbedTLS.
  • At present, the maximum number of TCP connections of the AT default firmware is 5.
  • The {IDF_TARGET_NAME} AT supports a maximum of 16 TCP connections, which can be configured in menuconfig as follows:
    • ./build.py menuconfig---> Component config---> AT---> (16)AT socket maximum connection number
    • ./build.py menuconfig---> LWIP---> (16)Max number of open sockets