Базовые AT команды ESP8266
ESP8266 в своей конфигурации по умолчанию загружается в режим последовательного модема. В этом режиме вы можете общаться с ним с помощью набора AT-команд. AT-команды ESP8266 можно разделить на три категории: базовые, уровень Wi-Fi и уровень TCP/IP. Ниже приведен список всех базовых AT команд, поддерживаемых 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>
OKOK Примечание Команда 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
Примечания - Изменения конфигурации НЕ сохраняются во флеш-памяти.
- Использование управления потоком требует поддержки от аппаратных средств:
- MTCK – это UART0 CTS;
- MTDO – это UART0 RTS.
- Передача данных поддерживается на скоростях в диапазоне 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>
OKOK Параметры <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
Примечания - Изменения конфигурации сохраняются в области пользовательских параметров во флеш-памяти, и будут по-прежнему действительны, когда чип будет снова включен.
- Использование управления потоком требует поддержки от аппаратных средств:
- MTCK – это UART0 CTS;
- MTDO – это UART0 RTS.
- Передача данных поддерживается на скоростях в диапазоне 110 – 115200*40.
Пример AT+UART_DEF=115200,8,1,0,3
AT+SLEEP
– настройка режимов снаКоманда Команда запроса: AT+SLEEP?
Команда установки: AT+SLEEP=<sleep mode>
Отклик +SLEEP:<sleep mode>
OKOK Параметр <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>
OKOK 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>
OKOK Параметры <enable>
- 0 – подстройка RF частоты выключена
- 1 – подстройка RF частоты включена
Примечания - Функция подстройки RF частоты по умолчанию включена.
- Конфигурация будет сохранена в области пользовательских параметров во флеш-памяти и вступит в силу после перезагрузки чипа.
Пример AT+RFAUTOTRACE=0
AT+RSTAT+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 для работы в качестве GPIOAT+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 для работы как GPIOAT+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 для работы как GPIOAT+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 для работы как GPIOAT+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 работает как сервер
- <status_type>
- если бит 1 равен 0, то при установлении сетевого соединения будет выдано сообщение
Примечание Изменения конфигурации НЕ сохраняются во флеш-памяти. Пример AT+SYSMSG_CUR=3
- бит 0 – настраивает сообщение о прекращении сквозной передачи WiFi-UART
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 работает как сервер
- <status_type>
- если бит 1 равен 0, то при установлении сетевого соединения будет выдано сообщение
Примечание Изменения конфигурации сохраняются в области пользовательских параметров во флеш-памяти. Пример AT+SYSMSG_DEF=3
- бит 0 – настраивает сообщение о прекращении сквозной передачи WiFi-UART