Базовые AT команды ESP8266

Добавлено9 июня 2018 в 09:01

ESP8266 в своей конфигурации по умолчанию загружается в режим последовательного модема. В этом режиме вы можете общаться с ним с помощью набора AT-команд. AT-команды ESP8266 можно разделить на три категории: базовые, уровень Wi-Fi и уровень TCP/IP. Ниже приведен список всех базовых AT команд, поддерживаемых ESP8266, с объяснением, что они делают, и как их использовать.

Модуль ESP-12E на базе ESP8266. Базовые AT команды ESP8266
Модуль ESP-12E на базе ESP8266

Варианты команд

Каждая команда имеет до 4 вариантов, изменяющих ее назначение. Вы можете выбирать между ними, добавляя одно из четырех возможных значений в конце основной команды. Эти четыре дополнения могут иметь следующие значения: "", =<parameter|[parameters]>, "?", =?.

Тип Формат команды Описание
Тест AT+<x>=? Запрос внутренних параметров и диапазона их значений для заданной команды.
Запрос AT+<x>? Возвращает текущее значение параметра.
Установка AT+<x>=<…> Установка параметров, заданных в команде пользователем, и запуск этой команды.
Выполнение AT+<x> Запуск команды без заданных пользователем параметров.

Примечание:

  • не все команды поддерживают все 4 варианта;
  • квадратные скобки [] обозначают значение по умолчанию; оно либо не требуется, либо может не отображаться;
  • строковые значения необходимо заключать в двойные кавычки, например, AT+CWSAP="ESP756290","21030826", 1,4;
  • скорость передачи данных по умолчанию равна 115200;
  • AT команды должны печататься заглавными буквами и оканчиваться новой строкой (CR LF).

Базовые AT команды

Список команд

Команда Описание
AT Проверить запуск AT
AT+RST Перезапустить модуль
AT+GMR Проверить информацию о версии
AT+GSLP Войти в режим глубокого сна
ATE Настроить эхо AT команд
AT+RESTORE Сбросить модуль на заводские настройки
AT+UART_CUR Текущая конфигурация UART
AT+UART_DEF Конфигурация UART по умолчанию, сохраненная во флеш-памяти
AT+SLEEP Настройка режимов сна
AT+WAKEUPGPIO Настройка GPIO для просыпания ESP8266 из режима легкого сна
AT+RFPOWER Установка максимального значения RF мощности передачи
AT+RFVDD Установка RF мощности передачи в соответствии с VDD33
AT+RFAUTOTRACE Установка подстройки радиочастоты
AT+SYSRAM Проверка доступного размера RAM
AT+SYSADC Проверка значения АЦП
AT+SYSIOSETCFG Установка конфигурации выводов ввода/вывода
AT+SYSIOGETCFG Получение конфигурации выводов ввода/вывода
AT+SYSGPIODIR Настройка направления выводов ввода/вывода общего назначения (GPIO)
AT+SYSGPIOWRITE Настройка выходного уровня GPIO
AT+SYSGPIOREAD Проверка входного уровня GPIO
AT+SYSMSG_CUR Текущая установка системных сообщений
AT+SYSMSG_DEF Установка системных сообщений по умолчанию

Команды

AT – проверить запуск AT
Команда выполнения AT
Отклик OK
Параметры
AT+RST – перезапустить модуль
Команда выполнения AT+RST
Отклик OK
Параметры
AT+GMR – проверить информацию о версии
Команда выполнения AT+GMR
Отклик <AT version info>
<SDK version info>
<compile time>

OK
Параметры
  • <AT version info> – информация о версии AT
  • <SDK version info> – информация о версии SDK
  • <compile time> – продолжительность времени компиляции BIN
AT+GSLP – войти в режим глубокого сна
Команда установки AT+GSLP=<time>
Отклик <time>

OK
Параметры <time> – продолжительность сна ESP8266. Единицы измерения: миллисекунды. После указанного времени ESP8266 выйдет из режима глубокого сна.
Примечание Перед входом модуля в режим глубокого сна необходимо выполнить небольшую настройку, т.е. подключить XPD_DCDC к EXT_RSTB с помощью 0-омного резистора.
ATE – включение/выключение эхо
Команда выполнения ATE
Отклик OK
Параметры
  • ATE0 – выключает эхо.
  • ATE1 – включает эхо.
Примечание Данная команда ATE используется для вызова эхо. Это означает, что при использовании команды ATE введенные команды могут быть возвращены эхом назад отправителю. Возможны два параметра. Команда возвращает OK в нормальном случае и ERROR, когда был указан параметр, отличающийся от 0 или 1.
AT+RESTORE – сброс на заводские настройки
Команда выполнения AT+RESTORE
Отклик OK
Примечание Выполнение этой команды сбросит все параметры, сохраненные во флеш-памяти, и восстановит заводские настройки модуля. После выполнения команды чип будет перезапущен.
AT+UART_CUR – текущая конфигурация UART, не сохраненная во флеш-памяти
Команда Команда запроса:
AT+UART_CUR?
Команда установки:
AT+UART_CUR=<baudrate>,<databits>,<stopbits>,<parity>,<flow control>
Отклик +UART_CUR=<baudrate>,<databits>,<stopbits>,<parity>,<flow control>

OK
OK
Примечание Команда AT+UART_CUR? вернет фактическое значение параметров конфигурации UART, которое может иметь допустимую ошибку по сравнению с установленным значением из-за деления тактовой частоты.

Например, если скорость передачи данных UART установлена равной 115200, то скорость, возвращаемая командой AT+UART_CUR?, может быть равна 115273.
 
Параметры
  • <baudrate> – скорость передачи данных UART;
  • <databits> – биты данных
    • 5 – 5 битов данных
    • 6 – 6 битов данных
    • 7 – 7 битов данных
    • 8 – 8 битов данных
  • <stopbits> – стоповые биты
    • 1 – 1 стоповый бит
    • 2 – 1,5 стоповых бита
    • 3 – 2 стоповых бита
  • <parity> – бит четности
    • 0 – нет
    • 1 – нечетность
    • 2 – четность
  • <flow control> – управление потоком
    • 0 – управление потоком выключено
    • 1 – включен RTS
    • 2 – включен CTS
    • 3 – включены и RTS, и CTS
Примечания
  1. Изменения конфигурации НЕ сохраняются во флеш-памяти.
  2. Использование управления потоком требует поддержки от аппаратных средств:
    • MTCK – это UART0 CTS;
    • MTDO – это UART0 RTS.
  3. Передача данных поддерживается на скоростях в диапазоне 110 – 115200*40.
Пример AT+UART_CUR=115200,8,1,0,3
AT+UART_DEF – конфигурация UART по умолчанию, сохраненная во флеш-памяти
Команда Команда запроса:
AT+UART_DEF?
Команда установки:
AT+UART_DEF=<baudrate>,<databits>,<stopbits>,<parity>,<flow control>
Отклик +UART_DEF=<baudrate>,<databits>,<stopbits>,<parity>,<flow control>

OK
OK
Параметры
  • <baudrate> – скорость передачи данных UART;
  • <databits> – биты данных
    • 5 – 5 битов данных
    • 6 – 6 битов данных
    • 7 – 7 битов данных
    • 8 – 8 битов данных
  • <stopbits> – стоповые биты
    • 1 – 1 стоповый бит
    • 2 – 1,5 стоповых бита
    • 3 – 2 стоповых бита
  • <parity> – бит четности
    • 0 – нет
    • 1 – нечетность
    • 2 – четность
  • <flow control> – управление потоком
    • 0 – управление потоком выключено
    • 1 – включен RTS
    • 2 – включен CTS
    • 3 – включены и RTS, и CTS
Примечания
  1. Изменения конфигурации сохраняются в области пользовательских параметров во флеш-памяти, и будут по-прежнему действительны, когда чип будет снова включен.
  2. Использование управления потоком требует поддержки от аппаратных средств:
    • MTCK – это UART0 CTS;
    • MTDO – это UART0 RTS.
  3. Передача данных поддерживается на скоростях в диапазоне 110 – 115200*40.
Пример AT+UART_DEF=115200,8,1,0,3
AT+SLEEP – настройка режимов сна
Команда Команда запроса:
AT+SLEEP?
Команда установки:
AT+SLEEP=<sleep mode>
Отклик +SLEEP:<sleep mode>

OK
OK
Параметр <sleep mode>:
  • 0 – режим сна выключен
  • 1 – режим легкого сна
  • 2 – модемный режим сна
Примечания Данная команда может использоваться только в режиме станции. Режим сна по умолчанию – это модемный режим сна.
Пример AT+SLEEP=0
AT+WAKEUPGPIO – настройка GPIO для просыпания ESP8266 из режима легкого сна
Команда установки AT+WAKEUPGPIO=<enable>,<trigger_GPIO>,<trigger_level>[,<awake_GPIO>,<awake_level>]
Отклик OK
Параметры
  • <enable>
    • 0 – ESP8266 НЕ может быть выведен из режима легкого сна с помощью GPIO
    • 1 – ESP8266 может быть выведен из режима легкого сна с помощью GPIO
  • <trigger_GPIO>
    • устанавливает GPIO, который будет будить ESP8266; значение в диапазоне [0...15]
  • <trigger_level>
    • 0 – GPIO будит ESP8266 при низком уровне
    • 1 – GPIO будит ESP8266 при высоком уровне
  • [<awake_GPIO>]
    • необязательно; данный параметр используется для выбора GPIO в качестве флага о просыпании ESP8266 из режима легкого сна; значение в диапазоне [0...15]
  • [<awake_level>]
    • необязательно
    • 0 – GPIO устанавливается в низкий уровень после процесса пробуждения
    • 1 – GPIO устанавливается в высокий уровень после процесса пробуждения
Примечания
  • Поскольку системе требуется некоторое время для выхода из режима легкого сна, предполагается, что перед отправкой следующей AT команды необходимо подождать минимум 5 мс.
  • Значения <trigger_GPIO> и <awake_GPIO> в команде должны быть разными.
  • После пробуждения с помощью <trigger_GPIO> из режима легкого сна, когда ESP8266 пытается уснуть снова, это можно проверить по состоянию <trigger_GPIO>:
    • если он всё еще в состоянии пробуждения, ESP8266 войдет в модемный режим сна;
    • если он НЕ в состоянии пробуждения, ESP8266 войдет в режим легкого сна.
Пример
  • Настроить ESP8266 на пробуждение из режима легкого сна, когда на GPIO0 низкий уровень:
    AT+WAKEUPGPIO=1,0,0
  • Настроить ESP8266 на пробуждение из режима легкого сна, когда на GPIO0 высокий уровень. После пробуждения на GPIO13 установить высокий уровень.
    AT+WAKEUPGPIO=1,0,1,13,1
  • Выключить функцию, которая будит ESP8266 из режима легкого сна с помощью GPIO.
    AT+WAKEUPGPIO=0
AT+RFPOWER – установка максимального значения RF мощности передачи
Команда установки AT+RFPOWER=<TX Power>
Отклик OK
Параметры <TX Power> – максимальное значение RF мощности передачи; значение в диапазоне [0...82]; единица: 0,25 дБм.
Примечание Данная команда устанавливает максимальное значение RF мощности передачи ESP8266; это неточно. Реальное значение может быть меньше, чем установленное значение.
Пример AT+RFPOWER=50
AT+RFVDD –установка RF мощности передачи в соответствии с VDD33
Команда Команда запроса:
AT+RFVDD?
Назначение: проверяет значение на VDD33 ESP8266.
Команда установки:
AT+RFVDD=<VDD33>
Назначение: устанавливает RF мощность передаи в соответствии с <VDD33>.
Команда выполнения:
AT+RFVDD
Назначение: автоматически устанавливает RF мощность передачи.
Отклик +RFVDD:<VDD33>

OK
OK OK
Параметр <VDD33> – напряжение питания на VDD33 ESP8266; единица: 1/1024 вольта. <VDD33> – напряжение питания на VDD33 ESP8266; диапазон значений: [1900...3300].
Примечание Данная команда должна использоваться, только когда вывод TOUT висит в воздухе, иначе возвращаемое значение будет неправильным.   Для правильного измерения напряжения на VDD33 вывод TOUT должен висеть в воздухе.
Пример AT+RFVDD=2800
AT+RFAUTOTRACE – установка подстройки радиочастоты
Команда Команда запроса:
AT+RFAUTOTRACE?
Команда установки:
AT+RFAUTOTRACE=<enable>
Отклик +RFAUTOTRACE:<enable>

OK
OK
Параметры <enable>
  • 0 – подстройка RF частоты выключена
  • 1 – подстройка RF частоты включена
Примечания
  • Функция подстройки RF частоты по умолчанию включена.
  • Конфигурация будет сохранена в области пользовательских параметров во флеш-памяти и вступит в силу после перезагрузки чипа.
Пример AT+RFAUTOTRACE=0
AT+RST
AT+SYSRAM – проверка доступного размера RAM
Команда запроса AT+SYSRAM?
Отклик +SYSRAM:<remaining RAM size>

OK
Параметр <remaining RAM size> – оставшееся пространство ОЗУ, единица: байт.
AT+SYSADC – проверка значения АЦП
Команда запроса AT+SYSADC?
Отклик +SYSADC:<ADC>

OK
Параметр <ADC> – значение АЦП; единица: 1/1024 вольта.
AT+SYSIOSETCFG – установка конфигурации выводов ввода/вывода
Команда установки AT+SYSIOSETCFG=<pin>,<mode>,<pull-up>
Отклик OK
Параметры
  • <pin> – номер IO вывода
  • <mode> – рабочий режим IO вывода
  • <pull-up>
    • 0 – выключить подтяжку
    • 1 – включить подтяжку на IO выводе
Примечание Для использования команд AT+SYSIO... посмотрите список выводов ESP8266.
Пример AT+SYSIOSETCFG=12,3,1 // настроить GPIO12 для работы в качестве GPIO
AT+SYSIOGETCFG – проверить режим работы выводов ввода/вывода
Команда установки AT+SYSIOGETCFG=<pin>
Отклик +SYSIOGETCFG:<pin>,<mode>,<pull-up>

OK
Параметр
  • <pin> – номер IO вывода
  • <mode> – рабочий режим IO вывода
  • <pull-up>
    • 0 – подтяжка выключена
    • 1 – подтяжка на IO выводе включена
Примечание Для использования команд AT+SYSIO... посмотрите список выводов ESP8266.
AT+SYSGPIODIR – настройка направления выводов ввода/вывода общего назначения (GPIO)
Команда установки AT+SYSGPIODIR=<pin>,<dir>
Отклик
  • Если настройка успешна, то команда вернет
    OK
  • Если IO вывод не в режиме GPIO, команда вернет
    NOT GPIO MODE!
    ERROR
Параметры
  • <pin> – номер GPIO вывода
  • <dir>
    • 0 – настраивает GPIO как вход
    • 1 – настраивает GPIO как выход
Примечание Для использования команд AT+SYSIO... посмотрите список выводов ESP8266.
Пример AT+SYSIOSETCFG=12,3,1   // настраивает GPIO12 для работы как GPIO
AT+SYSGPIODIR=12,0         // настраивает GPIO12 для работы как вход
AT+SYSGPIOWRITE – настройка выходного уровня GPIO
Команда установки AT+SYSGPIOWRITE=<pin>,<level>
Отклик
  • Если настройка успешна, то команда вернет
    OK
  • Если IO вывод не в режиме выхода, команда вернет
    NOT OUTPUT!
    ERROR
Параметры
  • <pin> – номер GPIO вывода
  • <level>
    • 0 – низкий уровень
    • 1 – высокий уровень
Примечание Для использования команд AT+SYSIO... посмотрите список выводов ESP8266.
Пример AT+SYSIOSETCFG=12,3,1   // настраивает GPIO12 для работы как GPIO
AT+SYSGPIODIR=12,1         // настраивает GPIO12 для работы как выход
AT+SYSGPIOWRITE=12,1 // устанавливает на выходе GPIO12 высокий уровень
AT+SYSGPIOREAD – прочитать входной уровень на GPIO
Команда установки AT+SYSGPIOREAD=<pin>
Отклик
  • Если конфигурация успешна, команда вернет
    +SYSGPIOREAD:<pin>,<dir>,<level>
    OK
  • Если IO вывод не в режиме GPIO, команда вернет
    NOT GPIO MODE!
    ERROR
Параметры
  • <pin> – номер GPIO вывода
  • <dir>
    • 0 – GPIO настроен как вход
    • 1 – GPIO настроен как выход
  • <level>
    • 0 – низкий уровень
    • 1 – высокий уровень
Примечание Для использования команд AT+SYSIO... посмотрите список выводов ESP8266.
Пример AT+SYSIOSETCFG=12,3,1   // настраивает GPIO12 для работы как GPIO
AT+SYSGPIODIR=12,0         // настраивает GPIO12 для работы как вход
AT+SYSGPIOREAD=12
AT+SYSMSG_CUR – текущая установка системных сообщений
Команда установки AT+SYSMSG_CUR=<n>
Отклик OK
Параметры <n>
  • бит 0 – настраивает сообщение о прекращении сквозной передачи WiFi-UART
    • если бит 0 равен 0, то при прекращении сквозной передачи WiFi-UART нет сообщения; по умолчанию 0;
    • если бит 0 равен 1, то при выходе из скозной передачи WiFi-UART будет сообщение
      +QUITT // выход из прозрачной передачи
  • бит 1 – настраивает сообщение об установлении сетевой передачи
    • если бит 1 равен 0, то при установлении сетевого соединения будет выдано сообщение
      <Link_ID>,CONNECT
      по умолчанию 0;
    • если бит 1 равен 1, при установлении сетевого соединения будет выдано сообщение
      +LINK_CONN:<status_type>,<link_id>,"UDP/TCP/SSL",<c/s>,<remote_ip>,
      <remote_port>,<local_port>
      • <status_type>
        • 0 – соединение установлено успешно
        • 1 – неудача при установлении соединения
      • <c/s>
        • 0 – ESP работает как клиент
        • 1 – ESP работает как сервер
Примечание Изменения конфигурации НЕ сохраняются во флеш-памяти.
Пример AT+SYSMSG_CUR=3
AT+SYSMSG_DEF – установка системных сообщений по умолчанию
Команда установки AT+SYSMSG_DEF=<n>
Отклик OK
Параметры <n>
  • бит 0 – настраивает сообщение о прекращении сквозной передачи WiFi-UART
    • если бит 0 равен 0, то при прекращении сквозной передачи WiFi-UART нет сообщения; по умолчанию 0;
    • если бит 0 равен 1, то при выходе из скозной передачи WiFi-UART будет сообщение
      +QUITT // выход из прозрачной передачи
  • бит 1 – настраивает сообщение об установлении сетевой передачи
    • если бит 1 равен 0, то при установлении сетевого соединения будет выдано сообщение
      <Link_ID>,CONNECT
      по умолчанию 0;
    • если бит 1 равен 1, при установлении сетевого соединения будет выдано сообщение
      +LINK_CONN:<status_type>,<link_id>,"UDP/TCP/SSL",<c/s>,<remote_ip>,
      <remote_port>,<local_port>
      • <status_type>
        • 0 – соединение установлено успешно
        • 1 – неудача при установлении соединения
      • <c/s>
        • 0 – ESP работает как клиент
        • 1 – ESP работает как сервер
Примечание Изменения конфигурации сохраняются в области пользовательских параметров во флеш-памяти.
Пример AT+SYSMSG_DEF=3

Теги

AT командаESP8266Wi-FiWi-Fi модульОтладочная плата