Базовые 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
OKOK
Параметр<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 модульОтладочная плата

На сайте работает сервис комментирования DISQUS, который позволяет вам оставлять комментарии на множестве сайтов, имея лишь один аккаунт на Disqus.com.

В случае комментирования в качестве гостя (без регистрации на disqus.com) для публикации комментария требуется время на премодерацию.