8-900-374-94-44
[email protected]
Slide Image
Меню

Команды esp8266: ESP8266 AT команды v0.22 – esp8266

Содержание

ESP8266 AT команды v0.22 – esp8266

ATПроверка модулябазоваяAT-Если модуль успешно стартовал, то отвечает "OK"
AT+RSTПерезапуск модулябазоваяAR+RST-После успешного перезапуска возвращает "OK"
AT+GMRОтобразить версию прошивки. базоваяAT+GMR-Версия отображается в виде 8 цифр. Первая группа 4 цифры - версия AT (например, 0022), вторая группа 4 - версия SDK (например, 0100)
AT+GSLPПереход в режим пониженного энергопотреблениябазоваяAT+GSLP=Пример: AT+GSLP=5000 (5сек)
Для того, чтобы модуль вышел из режима сна, необходимо соединить выводы XPD_DCDC и EXT_RSTB
ATEвключить/выключить эхобазоваяATE0
ATE1
Замечание: ATE без 0 или 1 приводит к ошибке.
AT+RESTOREСбросить на заводские настройкибазоваяAT+RESTOREПримечание: после сброса настроек произойдет перезагрузка модуля
AT+UART_CUR
Настройка последовательного интерфейса для текущего сеанса (current, т.е. без сохранения во flash память)
базоваяAT+ UART_CUR= baudrate, databits, stopbits,
parity, flow control
скорость 4400-4608000
биты данных
5:5 бит
6:6 бит
7:7 бит
8:8 бит
стоп биты
1:1 стоп бит
2:1.5 стоп бит
3:2 стоп бит контроль четности
0: нет
1:Odd
2:EVEN
flow control
0:flow control отключен
1:включен RTS
2:включен CTS
3:включены оба RTS и CTS
(MTCK - UART0 CTS , MTDO - UART0 RTS)
Пример:
AT+UART=115200,8,1,0,0
AT+UART_DEFКоманда полностью аналогична AT+UART_CURбазоваяПараметры команды сохраняются во флеш память и загружаются при следующем старте модуля.
AT+CWMODE_CURПереключение режима wifi для текущего сеанса (current, т.е. без сохранения во flash память)wifiAT+CWMODE_CUR=AT+CWMODE_CUR?
AT+CWMODE_CUR=?
1=Station (WiFi клиент), 2=SoftAP (точка доступа), 3=Оба режима (Station+SoftAP)
Например, AT+CWMODE_CUR=1
AT+CWMODE_DEFКоманда полностью аналогична AT+CWMODE_CURwifiПараметры команды сохраняются во флеш память и загружаются при следующем старте модуля.
AT+CWJAP_CURПодключение к AP, точке доступа (current, т.е. без сохранения во flash память)wifiAT+CWJAP_CUR =,AT+CWJAP_CUR?
Возвращает имя сети, к которой подключены
Возвращает OK или ERROR.
SSID WiFi сети и пароль указываются в двойных кавычках, пароль до 64 символов ASCII. Команда недоступна в режиме SoftAP (точка доступа).
Данные сети НЕ сохраняются во флеш памяти. В случае наличия в SSID или пароле специальных символов (’,’、’“’ и’\’) их необходимо экранировать обратным слешем. Например,
если SSID “ab\,c”
и пароль “0123456789”\” то команда примет вид
AT+CWJAP_CUR =“ab\\\,c”,“0123456789\”\\”
AT+CWJAP_DEFКоманда полностью аналогична AT+CWJAP_CURwifiПараметры команды сохраняются во флеш память и загружаются при следующем старте модуля.
AT+CWLAPОтобразить список доступных точек доступаwifiAT+CWLAP показывает все доступные точки доступаAT+CWLAP=ssid,mac,ch
показывает точки доступа, только соответствующие заданным параметрам
Выводит SSID, метод шифрования, силу сигнала, MAC адрес, номер канала. Типы шифрования: 0:Open, 1: WEP, 2:WPA_PSK, 3:WPA2_PSK, 4:WPA_WPA2_PSK
Примеры: AT+CWLAP="wifi","ca:d7:19:d8:a6:44",6
или поиск WiFi сети с именем "home"
AT+CWLAP="home",""
AT+CWQAPОтключение от точки доступаwifiAT+CWQAPAT+CWQAP=? тест команды-
AT+CWSAP_CURСоздать SoftAP (точку доступа) для текущего сеансаwifiAT+CWSAP_CUR= ,,, AT+CWSAP_CUR? возвращает текущие параметры точки доступаКоманда доступна только когда модуль находится в режиме SoftAP (точка доступа). Требуется AT+RST.
SSID и пароль указываются в двойных кавычках. Пароль не более 64 символов. Типы шифрования: 0:Open, 2:WPA_PSK, 3:WPA2_PSK, 4:WPA_WPA2_PSK (Шифрование WEP недоступно в этой версии)
Пример: AT+CWSAP_CUR="ESP8266","1234567890",5,3
AT+CWSAP_DEFКоманда полностью аналогична AT+CWSAP_CURwifiПараметры команды сохраняются во флеш память и загружаются при следующем старте модуля.
AT+CWLIFОтобразить IP адреса станций, подключенных к ESP8266 SoftAP точке доступаwifiAT+CWLIF-(только для режимов 2-SoftAP и 3-Station+SoftAP)
AT+CWDHCP_CURВключить или выключить DHCP сервер для текущего сеанса
wifiAT+CWDHCP_CUR=,
0 : ESP8266 SoftAP
1 : ESP8266 station
2 : SoftAP и station
0 : Выключить DHCP
1 : Включить DHCP
Пример: AT+CWDHCP_CUR=0,1
AT+CWDHCP_DEFКоманда полностью аналогична AT+CWDHCP_CURwifiПараметры команды сохраняются во флеш память и загружаются при следующем старте модуля.
AT+CWAUTOCONNАвтоматическое подключение к точке доступа (сохраняется во флеш память)wifiAT+CWAUTOCONN=
0 : не подключаться автоматически к точке доступа после старта модуля
1 : подключаться автоматически к точке доступа после старта модуля
По умолчанию ESP8266 station автоматически подключается к точке доступа
AT+CIPSTAMAC_CURпосмотреть/установить MAC адрес в режиме station для текущего сеансаwifiAT+CIPSTAMAC=AT+CIPSTAMAC_CUR?
отображает текущий MAC адрес Station
Пример: AT+CIPSTAMAC_CUR="18:fe:35:98:d3:7b"
AT+CIPSTAMAC_DEFКоманда полностью аналогична AT+CIPSTAMAC_CURwifiПараметры команды сохраняются во флеш память и загружаются при следующем старте модуля.
AT+CIPAPMAC_CURпосмотреть/установить MAC адрес в режиме SoftAP (точка доступа) для текущего сеансаwifiAT+CIPAPMAC_CUR=AT+CIPAPMAC_CUR?отображает текущий MAC адрес точки доступа SoftSPПример: AT+CIPAPMAC_CUR="1a:fe:36:97:d5:7b"
AT+CIPAPMAC_DEFКоманда полностью аналогична AT+CIPAPMAC_CURwifiПараметры команды сохраняются во флеш память и загружаются при следующем старте модуля.
AT+CIPSTA_CURпосмотреть/установить IP адрес в режиме station для текущего сеансаwifiAT+CIPSTA_CUR=[,,]AT+CIPSTA_CUR?отображает текущий IP адрес stationip - ip адрес в виде строки, - шлюз по умолчанию, - маска подсети. Пример: AT+CIPSTA_CUR="192.168.6.100","192.168.6.1","255.255.255.0"
AT+CIPSTA_DEFКоманда полностью аналогична AT+CIPSTA_CURwifiПараметры команды сохраняются во флеш память и загружаются при следующем старте модуля.
AT+CIPAP_CURПосмотреть/установить IP адрес в режиме SoftAP (точка доступа) для текущего сеансаwifiAT+CIPAP_CUR=AT+CIPAP_CUR?отображает текущий IP адрес SoftAP (точки доступа)Пример: AT+CIPAP_CUR="192.168.5.1"
AT+CIPAP_DEFКоманда полностью аналогична AT+CIPAP_CURwifiПараметры команды сохраняются во флеш память и загружаются при следующем старте модуля.
AT+CWSTARTSMARTКоманда запускает процесс SmartConfigwifiAT+CWSTARTSMART = - 1:ESP_TOUCH
2:AirKiss

1. Прочтите дополнительную документацию о SmartConfig от Espressif.
2. Для ESP8266 должен быть активирован режим Station
3. После получения сообщения “Smart get wifi info” SmartConfig успешно завершен, вы можете использовать команду “AT+CIFSR” для проверки полученного ip адреса от маршрутизатора

4. ESP8266 не отвечает на команды во время выполнения SmartConfig, используйте команду “AT
+CWSTOPSMART” для остановки процесса.
Пример: AT+CWMODE=3
AT+CWSTARTSMART=1

AT+CWSTOPSMARTКоманда останавливает процесс SmartConfigwifiAT+CWSTOPSMARTНезависимо от результатов работы команды AT+CWSTARTSMART всегда используйте после ее завершения команду AT+CWSTOPSMART для освобождения ресурсов
AT+CIPSTATUSОтобразить статус подключенияTCP/IPAT+CIPSTATUS-Возвращает =ID соединения 0-4,
=тип соединения (2 - получен IP, 3 - подключен, 4 - отключен)
“TCP” или “UDP”,
=удаленный IP адрес,
=удаленный порт,=тип связи: 0: подсоединен как клиент, 1: как сервер
AT+CIPSTARTУстановить подключение TCP или UDP или получить информацию о текущем соединенииTCP/IP1. Одиночное подключение (+CIPMUX=0)
AT+CIPSTART=
,,
[,(),()]
2. Множественное подключение:
(+CIPMUX=1)
AT+CIPSTART=
,
[,(),()]
AT+CIPSTART=? ID
соединения 0-4,
=TCP или UDP, =IP адрес удаленного хоста, = порт удаленного хоста.
[] только для UDP
[] только для UDP
Возвращает "OK", "ERROR" или "ALREADY CONNECT"
0 : destination peer entity of UDP will not change.
1 : destination peer entity of UDP can change once.
2 : destination peer entity of UDP is allowed to change.
используется только совместно
Пример: AT+CIPSTART="TCP","192.168.101.110",1000
Дополнительная информация в документе "Espressif AT Command Examples"
AT+CIPSENDОтправить данныеTCP/IP1. Одиночное подключение (+CIPMUX=0)
AT+CIPSEND=
2. Множественное подключение:
(+CIPMUX=1) AT+CIPSEND= ,
3. Для "unvarnished
transmission mode" AT+CIPSEND
AT+CIPSEND=?
только для теста
Длина данных в пакете до 2048 байт. После получения данной команды модуль выводит приглашение ">" и переходит в режим приема данных через UART, после приема данных необходимой длины передает их в радиоканал. При успешной передаче возвращает "SEND OK".
При неудаче "ERROR".
В режиме "unvarnished
transmission mode"
прервать режим приема данных и перейти в командный режим можно последовательностью "+++" в отдельном пакете. Между пакетами интервал 20мс. Примеры можно найти в документе “Espressif AT Command Examples”
AT+CIPCLOSEЗакрыть соединение TCP или UDPTCP/IP1. Множественное подключение:
(+CIPMUX=1) AT+CIPCLOSE=
2. Одиночное подключение (+CIPMUX=0) AT+CIPCLOSE
AT+CIPCLOSE=?
возвращает OK
Возвращает "LINK IS NOT" или "UNLINK" если ID соединения уже разорвано, ERROR если соединения нет. Если в режиме клиента =5, то закрываются все соединения
AT+CIFSRОтобразить локальные IP адреса, адрес, который получили от точки доступа, к которой подключены и IP адрес ESP8266 SoftAP (локальной точки доступа)TCP/IPAT+CIFSRAT+CIFSR=?
Только для теста
Возвращает IP адрес ESP8266 SoftAP и
IP address ESP8266 Station
AT+CIPMUXВыбрать режим одиночного или множественных подключенийTCP/IPAT+CIPMUX=AT+CIPMUX?
Возвращает текущий режим 1 или 0
0=одиночные подключение, 1=множественные подключения.
Изменить режим можно только после закрытия всех подключений. Если запущен сервер, то требуется перезагрузка модуля.
“AT+CIPMUX=1” команда доступна только при “AT+CIPMODE=0”
AT+CIPSERVERЗапустить (перезапустить) TCP серверTCP/IPAT+CIPSERVER= [, ]-0=сервер отключен, 1=сервер запущен. Порт указывать необязательно, по умолчанию: 333. Для запуска сервера модуль должен быть в режиме множественных подключений AT+CIPMUX=1. Примеры: AT+ CIPMUX=1
AT+CIPSERVER=1,1001
AT+CIPSTOУстановить/посмотреть таймаут сервераTCP/IPAT+CIPSTO=AT+CIPSTO?
возвращает установленный таймаут
таймаут в секундах от 0 до 7200. Пример: AT+CIPMUX=1
AT+CIPSERVER=1,1001
AT+CIPSTO=10
AT+CIPMODEУстановить сквозной режим "unvarnished transmission mode"TCP/IPAT+CIPMODE=AT+CIPMODE?0=обычный режим,
1=unvarnished transmission mode
(режим 1 доступен только при AT+CIPMUX=0).
Пример: AT+CIPMODE=1
AT+SAVETRANSLINKSave transparent transmission link to FlashAT+SAVETRANSLINK
=,,
0-normal mode
1-transparent transmission mode
удаленный ip адрес
удаленный порт.
Пример: AT+SAVETRANSLINK=1,”192.168.6.110”,1002
AT+CIUPDATEОбновление прошивки через облако. Модуль должен быть в режиме 1 или 3 и быть подключен к точке доступа с выходом в интернет.TCP/IPAT+CIUPDATE1 found server
2 connect server
3 got edition
4 start update
AT+PINGПинг по имени хоста или IP адресуTCP/IPAT+PING=ipПримеры:
AT+PING=”192.168.1.1”
AT+PING=”esp8266.ru”
+IPDПолучить данныеTCP/IP(+CIPMUX=0)
+IPD,:
(+CIPMUX=1)
+IPD,,:
-1. Одиночные подключения
(+CIPMUX=1)
+IPD,:
2. Множественные подключения
(+CIPMUX=1)
+IPD,,,
Когда модуль получает данные по сети, то он их отправляет в UART командой +IPD

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

  1. Радиоэлектроника
  2. Цифровая электроника
  3. Отладочные комплекты
  4. 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) для публикации комментария требуется время на премодерацию.


Связанные товары

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

WiFi модуль ESP-12E разработан компанией Ai-thinker и построен на базе процессора с ядром ESP8266, отличительной особенностью которого является наличие радиоинтерфейса WiFi. Ядро ESP8266 интегрировано в Tensilica L106 – 32-битный микроконтроллер с ультранизким энергопотреблением. Поддержка тактовых частот 80 и 160 МГц, поддержка RTOS, встроенные Wi-Fi MAC/BB/RF/PA/LNA, микрополосковая...

Модуль ESP-12E на базе ESP8266. Базовые AT команды ESP8266 WeMos D1 Wi-Fi UNO (ESP8266 ESP-12E)

Arduino IDE совместимый контроллер с Wi-Fi WeMos D1 на ESP8266 ESP-12E.

Модуль ESP-12E на базе ESP8266. Базовые AT команды ESP8266 NodeMcu V3 Lua WiFi модуль (ESP8266 ESP-12E)

NodeMCU представляет собой плату для разработки на базе чипа ESP8266 (версия ESP12E), который представляет собой UART-WiFi модуль с ультра низким потреблением. Сам чип проектировался для интернета вещей, а данная плата позволяет упростить разработку, т.к. на ней уже реализовано подключение по USB, установлен стабилизатор напряжения питания, и все выводы чипа разведены на гребенки со стандартным шагом...

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

Wi-Fi модуль на базе однокристальной системы (SoC) ESP8266. По сравнению с другими модулями имеет небольшие размеры и ULP технологию. Модуль специально сконструирован для создания мобильных устройств и интернета вещей (IoT).

ESP8266: справочник по командам AT | hardware

Каждая инструкция для модуля может находиться в одной строке, которая должна завершаться символом возврата каретки CR, или \r (Enter или Ctrl+M, код 0x0D). После поступления кода возврата каретки команда запускается модулем на выполнение, в результате в терминал консоли выводится ответ, содержащий результат выполнения команды.

Примечание: некоторые старые прошивки (www.ai-thinker.com Version:0.9.2.4) требуют для завершения ввода команды последовательности CRLF, \r\n (т. е. Ctrl+M и Ctrl+J), где символы CR и LF следуют друг за другом (код LF 0x0A). Большинство популярных программ терминала (например putty) после нажатия на Enter выдают только символ возврата каретки \r. 

1 GND, общий провод всех сигналов, минус питания.
2 TXD, передача данных TTL RS232.
3 GPIO2.
4 CHIP_EN, лог. 1 на этом выводе разрешает работу модуля ESP-01.
5 GPIO0, если при сбросе удерживается 0, то активируется режим обновления прошивки.
6 EXT_RSTB, если здесь 0, то происходит сброс модуля.
7 RXD, прием данных TTL RS232.
8 +3V, питание модуля.

TXD: синий светодиод, индицирующий передачу данных через TTL RS-232.
PWR: красный светодиод, индицирующий питание модуля.

[Общее описание инструкций]

Каждая инструкция (строка символов, начинающаяся на префикс AT и завершающаяся символом CR) может содержать в себе один из 4 типов команд.

Тип Формат инструкции Описание
test AT+CMD=? Запрашивает либо значение параметра, который был установлен командой типа set (чаще всего такие параметры сохраняются в энергонезависимой памяти модуля), либо внутренние параметры и их диапазон значений.
query AT+CMD? Запрашивает текущее значение параметра.
set AT+CMD=parameter Устанавливает значение параметра, определяемого пользователем, и вводит его в действие.
execute AT+CMD Запуск команды без параметров.

Замечания по инструкциям:

• Не все инструкции AT имеют 4 типа команд, т. е. какой-то тип может отсутствовать (например, у инструкции AT+CIPSEND есть только типы set и execute).
• [] означает значение по умолчанию, оно не требуется или может отсутствовать.
• Строковые значения требуют ввода в двойных кавычках, например: AT+CWSAP="ESP756190","21030826",1,4.
• Инструкция AT должна оканчиваться на последовательностью символов \r\n.
• Если команда выполнена успешно, то сообщение о её завершении оканчивается на OK, иначе на ERROR или FAIL.

Скорость, с которой работает терминал, равна 115200 бод. Некоторые старые прошивки требуют скорости 9600 бод. Остальные параметры стандартные. Ниже показан скриншот настроек сессии Serial популярной утилиты терминала putty.

[Базовые команды]

Команда Описание
AT Простая проверка - запустился ли модуль.
AT+RST Перезагрузка модуля.
AT+GMR Вывод информации о версии.
AT+GSLP Вход в режим глубокого сна.
ATE Управление повтором принятых символов команд (эхо).
Команда Тип Ответ Описание
AT+GSLP=time set time OK Переводит модуль в режим сна на указанное время.

time значение в миллисекундах, устанавливает время сна ESP8266. Модуль ESP8266 автоматически проснется после истечения time миллисекунд времени глубокого сна.

Примечание: для пробуждения из глубокого сна требуется аппаратная поддержка (сигнал XPD_DCDC должен соединяться с сигналом сброса EXT_RSTB через перемычку 0R).

[Команды Wi-Fi]

Команда Описание
AT+CWMODE Режим W-Fi (station/softAP/station+softAP).
AT+CWJAP Подключение к AP (AP означает Access Point, точка доступа).
AT+CWLAP Вывод списка доступных AP.
AT+CWQAP Отключение от AP.
AT+CWSAP Установка параметров для режима AP.
AT+CWLIF Получение IP станции, подключенной к ESP8266 в режиме softAP.
AT+CWDHCP Разрешить/запретить DHCP.
AT+CIPSTAMAC Установить MAC-адрес станции ESP8266.
AT+CIPAPMAC Установить MAC-адрес точки доступа (softAP) ESP8266.
AT+CIPSTA Установить IP-адрес станции ESP8266.
AT+CIPAP Установить IP-адрес точки доступа (softAP) ESP8266.
Команда Тип Ответ Описание
AT+CWMODE? query +CWMODE:mode
OK
Запрашивает информацию о настроенном режиме работы WiFi. Команда возвращает код режима mode.
AT+CWMODE=mode execute OK/ERROR Устанавливает режим работы Wi-Fi модуля ESP8266.

Код режима mode:

1 режим станции (станция может подключаться к точке доступа).
2 режим softAP (Access Point, т. е. модуль работает как точка доступа).
3 softAP + station (модуль может работать и как AP, и как станция).

Команда Тип Ответ Описание
AT+CWJAP? query +CWJAP:ssid
OK
Запрашивает информацию о точке доступа, куда подключен модуль ESP8266 (модуль работает как станция).
AT+CWJAP=ssid,pwd execute OK/ERROR Дает команду подключиться к точке доступа.

ssid строка, где в двойных кавычках указан идентификатор (имя) точки доступа.
pwd строка, где в двойных кавычках указан пароль точки доступа. Максимальная длина строки пароля 64 символа.

Пример:

AT+CWJAP="wifi-1","12345678"
 
OK
Команда Тип Ответ Описание
AT+CWLAP=ssid,mac,enc set +CWLAP:enc,ssid,rssi,mac,chn
OK
Запрашивает информацию о доступных точках доступа с применением фильтрации по их параметрам.
AT+CWLAP execute +CWLAP:enc,ssid,rssi,mac,chn
OK
Выводит список всех доступных точек доступа.

enc какое используется шифрование доступа:

0 OPEN (доступ без пароля, доступ не защищен).
1 WEP
2 WPA_PSK
3 WPA2_PSK
4 WPA_WPA2_PSK

ssid строка идентификатора (имени) точки доступа.

rssi уровень сигнала от точки доступа.

mac строка, в которой содержится MAC-адрес точки доступа.

chn номер используемого радиоканала.

Пример:

AT+CWLAP
+CWLAP:(3,"D323",-70,"c0:c1:c0:97:ad:0f",1)
+CWLAP:(4,"Akado52",-78,"44:32:c8:fc:f3:2e",1)
+CWLAP:(3,"SSID1",-86,"38:46:08:44:54:83",1)
+CWLAP:(3,"Mgts 56",-79,"34:4b:50:1c:66:f1",1)
+CWLAP:(2,"beeline-router105E44",-89,"84:c9:b2:10:5e:44",1)
+CWLAP:(3,"MGTS71",-88,"34:4b:50:18:47:86",1)
+CWLAP:(3,"mgts 53",-78,"4c:ac:0a:70:f1:93",6)
+CWLAP:(4,"NetByNet_055",-69,"10:fe:ed:fb:89:92",6)
+CWLAP:(3,"mgts 49",-85,"34:4b:50:1b:c9:4b",6)
+CWLAP:(3,"mgts66",-86,"4c:ac:0a:70:a4:db",6)
+CWLAP:(3,"mgts81",-87,"84:74:2a:09:7e:95",6)
+CWLAP:(3,"SSID1",-92,"4c:ac:0a:70:e9:23",6)
+CWLAP:(4,"onlime56",-77,"d4:bf:7f:0d:8c:d1",9)
+CWLAP:(3,"mgts52",-82,"34:4b:50:1c:77:c2",11)
+CWLAP:(4,"NetBynet",-84,"00:26:18:3d:4f:61",11)
+CWLAP:(0,"Beeline_WiFi",-92,"00:18:b0:ee:e3:d0",1)
+CWLAP:(0,"Beeline_WiFi_WPA",-87,"00:18:b0:ee:e3:d1",1)
 
OK

Инструкция конфигурирует режим работы softAP модуля ESP8266 (режим, когда модуль работает как точка доступа).

Команда Тип Ответ Описание
AT+CWSAP? query +CWSAP:ssid,pwd,chn,enc
OK
Запрашивает информацию о конфигурации режима softAP.
AT+CWSAP=ssid,pwd,chn,enc set OK/ERROR Конфигурирует режим softAP.

ssid строка, задающая имя (SSID) точки доступа модуля ESP8266. Значение SSID должно быть указано в двойных кавычках.

pwd строка пароля, максимальная длина 64 символа. Значение пароля должно быть указано в двойных кавычках.

chn идентификатор канала.

enc шифрование доступа:

0 OPEN (доступ без пароля, доступ не защищен).
1 WEP
2 WPA_PSK
3 WPA2_PSK
4 WPA_WPA2_PSK

Пример:

AT+CWSAP="esp_123","1234567890",5,3
 
OK
Команда Тип Ответ
AT+CWDHCP=mode,en set OK/ERROR

mode:

1 режим станции (станция может подключаться к точке доступа).
2 режим softAP (Access Point, т. е. модуль работает как точка доступа).
3 softAP + station (модуль может работать и как AP, и как станция).

en:

0 запретить DHCP.
1 разрешить DHCP.

Команда Тип Ответ Описание
AT+CIPSTAMAC? query +CIPSTAMAC:mac
OK
Запрашивает информацию о MAC-адресе станции ESP8266 (модуль работает как станция).
AT+CIPSTAMAC=mac execute OK/ERROR Устанавливает значение MAC-адреса станции ESP8266.

mac строка MAC-адреса станции ESP8266, заключенная в двойные кавычки.

Пример:

AT+CIPSTAMAC="18:aa:35:97:d4:7b"
 
OK
Команда Тип Ответ Описание
AT+CIPAPMAC? query +CIPAPMAC:mac
OK
Запрашивает информацию о MAC-адресе точки доступа ESP8266 (модуль работает в режиме softAP).
AT+CIPAPMAC=mac execute OK/ERROR Устанавливает значение MAC-адреса точки доступа ESP8266.

mac строка MAC-адреса точки доступа ESP8266, заключенная в двойные кавычки.

Пример:

AT+CIPAPMAC="18:aa:35:97:d4:7b"
 
OK
Команда Тип Ответ Описание
AT+CIPSTA? query +CIPSTA:mac
OK
Запрашивает информацию о IP-адресе станции ESP8266 (модуль работает как станция).
AT+CIPSTA=ip execute OK/ERROR Устанавливает значение IP-адреса станции ESP8266.

ip строка IP-адреса станции ESP8266, заключенная в двойные кавычки.

Пример:

AT+CIPSTA="192.168.0.23"
 
OK
Команда Тип Ответ Описание
AT+CIPAP? query +CIPAP:mac
OK
Запрашивает информацию о IP-адресе точки доступа ESP8266 (модуль работает в режиме softAP).
AT+CIPAP=ip execute OK/ERROR Устанавливает значение IP-адреса точки доступа ESP8266.

ip строка IP-адреса точки доступа ESP8266, заключенная в двойные кавычки.

Пример:

AT+CIPAP="192.168.0.100"
 
OK

[Команды TCP-IP]

Команда Описание
AT+CIPSTATUS Получить состояние соединения.
AT+CIPSTART Устанавливает соединение TCP, или регистрирует порт UDP.
AT+CIPSEND Отправка данных.
AT+CIPCLOSE Закрытие соединения TCP или UDP.
AT+CIFSR Получение локального адреса IP.
AT+CIPMUX Разрешить режим множественных соединений.
AT+CIPSERVER Сконфигурировать и запустить сервер.
AT+CIPMODE Установить режим передачи (нормальный или прозрачный).
AT+CIPSTO Установить таймаут, в течение которого ESP8266 работает как сервер TCP.
AT+CIUPDATE Обновление прошивки ESP8266 через сеть.
Команда Тип Ответ Описание
AT+CIPSTATUS=? test OK Проверка.
AT+CIPSTATUS execute STATUS:stat
+CIPSTATUS:id,type,addr,port,tetype
OK
Выводит информацию о соединении.

stat текущее состояние модуля ESP8266:

2 получение IP-адреса от точки доступа.
3 соединение установлено.
4 отключено (Disconnect, Link (Socket) Closed).
5 отключено (Disconnect from Last Used AP).

id идентификатор соединения (0..4) для режима множественного доступа.

type строка, где в двойных кавычках указан тип IP-соединения, "TCP" или "UDP".

addr строка в двойных кавычках, показывающая IP-адрес.

port десятичный номер порта.

tetype:

0 ESP8266 работает как клиент.
1 ESP8266 работает как сервер.

Примечание: некоторые модули ESP-01 в ответ на команду AT+CIPSTATUS? выводят ошибку (ERROR), а в ответ на AT+CIPSTATUS выводят STATUS:1 вместо информации, показанной в таблице (означает нет дополнительной информации, но состояние поменялось). На прошивке 0018000902-AI03 эта команда возвращает вместо этого STATUS:2 (нет дополнительной информации, но состояние поменялось). Прошивка 00200.9.5(b1) AI-THINKER Dec 25 2014 выводит вместо этого STATUS:5.

Пример вывода команды AT+CIPSTATUS, означающей, что установлено TCP-подключение к серверу ESP8266 от клиента с IP-адресом 192.168.0.56, порт клиента 29998:

AT+CIPSTATUS
STATUS:3
+CIPSTATUS:0,"TCP","192.168.0.56",29998,1
 
OK

Пример вывода команды AT+CIPSTATUS, означающей, что есть подключение к точке доступа, но сетевых подключений к ESP8266 нет (сервер может быть запущен, но все сетевые подключения разорваны):

AT+CIPSTATUS
STATUS:4
 
OK

Примечание: если нет обмена данными с сервером ESP8266, то сервер через определенное время (таймаут соединения) разрывает соединение. Таймаут устанавливается командой AT+CIPSTO (значение по умолчанию обычно 180 секунд).

Команда устанавливает TCP-соединение с удаленным сервером или регистрирует локальный порт UDP и начинает соединение.

Команда Тип Ответ Описание
AT+CIPSTART=type,addr,port set OK/ERROR Устанавливает соединение как клиент сети (режим одиночного соединения).
AT+CWSAP=id,type,addr,port set OK/ERROR Запускает соединение как клиент (режим множественных соединений).

Описание параметров:

id число от 0 до 4, идентификатор соединения.

type строка, в двойных кавычках указывающая тип соединения "TCP" или "UDP".

addr строка, в двойных кавычках указывающая IP-адрес удаленной точки подключения.

port десятичное число, указывающее порт удаленной точки подключения.

Команда Тип Ответ Описание
AT+CIPSEND=length set SEND OK Устанавливает длину отправляемых данных в байтах. Применяется для нормальной отправки, режим одиночного соединения.
AT+CIPSEND=id,length set SEND OK Устанавливает длину отправляемых данных в байтах. Применяется для нормальной отправки, режим множественных соединений.
AT+CIPSEND execute   Переходит в состояние отправки данных Применяется для режима прозрачной отправки данных.

Описание параметров:

id номер идентификатора сетевого соединения (0..4).
length количество передаваемых данных в байтах, допускается максимум 2048 байт.

Существует 2 режима отправки данных - нормальный (normal) и прозрачный (unvarnished).

Режим normal. В этом режиме данные передаются модулем ESP8266 порциями, при этом отправка каждой порции данных заранее подготавливается командой AT+CIPSEND=length. После ввода этой команды модуль ESP8266 выдает приглашение > и ждет поступления через сигнал RXD указанного length количества байт, после чего автоматически выходит обратно в режим обработки AT-инструкций.

Режим unvarnished. Это прозрачный режим, когда все принимаемые через сигнал RXD данные прозрачно передаются через установленное сетевое соединение на удаленный хост сети, и когда все принимаемые данные от удаленного хоста прозрачно попадают на сигнал TXD. После ввода этой команды модуль выдает приглашение > и начинает работать в прозрачном режиме. Для выхода из прозрачного режима в режим обработки AT-инструкций необходимо поступление "магической" комбинации данных "+++".

Примечание: не все версии прошивки позволяют выйти из прозрачного режима через магическую комбинацию. Например, мой модуль с прошивкой ai-thinker.com Version:0.9.2.4 выходит из прозрачного режима только после аппаратного сброса или передергивания питания.

Команда Тип Ответ Описание
AT+CIPMUX=mode set OK/ERROR Устанавливает режим соединения: разрешает одиночное соединение, или разрешает множественные соединения.

mode:

0 одиночное соединение.
1 множественные соединения.

Примечание: этот режим можно поменять только после того, как все соединения были закрыты. Если запущен сервер, то требуется перезагрузка.

Команда Тип Ответ Описание
AT+CIPSERVER=mode[,port] set OK/ERROR Конфигурирует и запускает сервер на модуле ESP8266.

mode:

0 удаляет сервер (после этого нужна перезагрузка).
1 создает сервер.

port номер порта сервера. Не обязательный параметр, если не указан, то по умолчанию используется порт 333.

Примечание: сервер может быть запущен только в том случае, если разрешен режим множественных соединений (выполнена команда AT+CIPMUX=1). Когда создается сервер, то автоматически создается монитор сервера (кто бы объяснил, что это такое?..). Когда клиент подключается к серверу, то он получает одно соединение, и ему присваивается идентификатор соединения id. Всего допускается не более 5 одновременных соединений (идентификаторы 0..4).

Команда Тип Ответ Описание
AT+CIPMODE? query +CIPMODE:mode
OK
Запрашивает текущий режим отправки данных.
AT+CIPMODE=mode set OK/ERROR Устанавливает режим передачи данных: нормальный или прозрачный режим.

mode:

0 нормальный (normal) режим передачи.
1 прозрачный (unvarnished) режим передачи.

Существует 2 режима отправки данных - нормальный (normal) и прозрачный (unvarnished).

Режим normal. В этом режиме данные передаются модулем ESP8266 порциями, при этом отправка каждой порции данных заранее подготавливается командой AT+CIPSEND=length. После ввода этой команды модуль ESP8266 выдает приглашение > и ждет поступления через сигнал RXD указанного length количества байт, после чего автоматически выходит обратно в режим обработки AT-инструкций. Нормальный режим позволяет выполнять AT-команды в перерывах между передачами блоков данных.

Режим unvarnished. Это прозрачный режим, когда все принимаемые через сигнал RXD данные прозрачно передаются через установленное сетевое соединение на удаленный хост сети, и когда все принимаемые данные от удаленного хоста прозрачно попадают на сигнал TXD. После ввода этой команды модуль выдает приглашение > и начинает работать в прозрачном режиме. Для выхода из прозрачного режима в режим обработки AT-инструкций необходимо поступление "магической" комбинации данных "+++".

Примечание 1: не все версии прошивки позволяют выйти из прозрачного режима через магическую комбинацию. Например, мой модуль с прошивкой ai-thinker.com Version:0.9.2.4 выходит из прозрачного режима только после аппаратного сброса или передергивания питания.

Примечание 2: к сожалению, мне не удалось заставить работать ESP-01 в режиме сервера с прозрачной передачей данных. Прозрачная передача почему-то работает только в режиме клиента. Экспериментировал с прошивками 0018000902-AI03 (Version:0.9.2.4) и 00200.9.5(b1) (Version:0.9.5(b1)).

Команда Тип Ответ Описание
AT+CIPCLOSE execute +CIUPDATE:n
OK
Запускает обновление прошивки через сеть.

n:

1 найден сервер.
2 произошло соединение с сервером.
3 получена редакция.
4 запущено обновление.

[Разное]

Команда Описание
+IPD Это не команда, а маркер приема данных через сеть.
AT+IPR=baud Устанавливает скорость работы порта TTL RS232 модуля ESP8266.

[Ссылки]

1. AT_Description site:github.com.
2. ESP8266: микросхема Wi-Fi.
3. ESP8266: пример тестирования команд AT.

ESP8266 AT команды v0.20 – esp8266

ATПроверка модуля. Если модуль успешно стартовал, то отвечает "OK"базоваяAT--
AT+RSTПерезапуск модуля. После успешного перезапуска возвращает "OK"базоваяAR+RST--
AT+GMRОтобразить версию прошивки. Версия отображается в виде 8 или 10 цифр. Первая группа 4 цифры - версия AT (например, 0019), вторая группа 4 или 6 цифр - версия SDK (например, 000902)базоваяAT+GMR--
AT+IPRПереключить скорость обменабазоваяAT+IPR=Например, AT+IPR=9600 (скорость указывается без кавычек)
AT+GSLPПереход в режим пониженного энергопотреблениябазоваяAT+GSLP=Пример: AT+GSLP=5000 (5сек)
Для того, чтобы модуль вышел из режима сна, необходимо соединить выводы XPD_DCDC и EXT_RSTB
AT+CWMODEПереключение режима wifi. Для вступления в силу требуется перезапуск модуля командой AT+RSTwifiAT+CWMODE=AT+CWMODE?
AT+CWMODE=?
1=Station, 2=AP, 3=Оба режима (Station+AP)
AT+CWJAPПодключение к APwifiAT+CWJAP =,AT+CWJAP?SSID и пароль указываются в двойных кавычках
AT+CWLAPОтобразить список доступных AP. Выводит SSID, метод шифрования, силу сигнала. Типы шифрования: 0:Open, 1: WEP, 2:WPA_PSK, 3:WPA2_PSK, 4:WPA_WPA2_PSKwifiAT+CWLAP--
AT+CWQAPОтключение от APwifiAT+CWQAPAT+CWQAP=?-
AT+CWSAPУстановить параметры для режима APwifiAT+CWSAP= ,,, AT+CWSAP? возвращает текущие параметрыSSID и пароль указываются в двойных кавычках. Типы шифрования: 0:Open, 1: WEP, 2:WPA_PSK, 3:WPA2_PSK, 4:WPA_WPA2_PSK
AT+CWLIFОтобразить IP адреса (только для режимов 2-SoftAP и 3-Station+SoftAP) подключенных клиентовwifiAT+CWLIF--
AT+CWDHCP
0 : ESP8266 softAP
1 : ESP8266 station
2 : softAP и station
0 : Включить DHCP
1 : Выключить DHCP
wifiAT+CWDHCP=,
AT+CIPSTAMACпосмотреть/установить MAC адрес в режиме stationwifiAT+CIPSTAMAC=AT+CIPSTAMAC?
AT+CIPAPMACпосмотреть/установить MAC адрес в режиме softAPwifiAT+CIPAPMAC=AT+CIPAPMAC?
AT+ CIPSTAпосмотреть/установить IP адрес в режиме stationwifiAT+CIPSTA=AT+CIPSTA?
AT+ CIPAPпосмотреть/установить IP адрес в режиме softAPwifiAT+CIPAP=AT+CIPAP?
AT+CIPSTATUSОтобразить статус подключения. Возвращает =ID соединения 0-4"
=тип соединения
“TCP” or “UDP”,
=IP адрес,=порт,=тип связи: 0: подсоединен как клиент, 1: как сервер
TCP/IPAT+CIPSTATUS- 2: Получен IP
3: Connected
4: Disconnected
id соединения (0~4),
“TCP” или “UDP”
IP port
0: ESP8266 клиент
1: ESP8266 сервер
AT+CIPSTARTУстановить подключение TCP или UDP.TCP/IP1. Одиночное подключение (+CIPMUX=0)
AT+CIPSTART=
,,
[,(),()]
2. Множественное подключение:
(+CIPMUX=1)
AT+CIPSTART=
,,
[,(),()]
AT+CIPSTART=? ID
соединения 0-4,
=TCP или UDP, =IP адрес удаленного хоста, = порт удаленного хоста.
[] только для UDP
[] только для UDP
Возвращает "OK", "ERROR" или "ALREADY CONNECT"
0 : destination peer entity of UDP will not change.
1 : destination peer entity of UDP can change once.
2 : destination peer entity of UDP is allowed to change.
AT+CIPSENDОтправить данныеTCP/IP1. Одиночное подключение (+CIPMUX=0)
AT+CIPSEND=
2. Множественное подключение:
(+CIPMUX=1) AT+CIPSEND= ,
AT+CIPSEND=?Длина данных в пакете до 2048 байт. Между пакетами интервал 20мс. После получения данной команды модуль возвращает ">" и переходит в режим приема данных по RX, после приема данных необходимой длины передает их в радиоканал. При успешной передаче возвращает "SEND OK". Прервать режим приема данных и перейти в командный режим можно последовательностью "+++"
AT+CIPCLOSEЗакрыть подключение TCP или UDPTCP/IP1. Множественное подключение:
(+CIPMUX=1) AT+CIPCLOSE=
2. Одиночное подключение (+CIPMUX=0) AT+CIPCLOSE
AT+CIPCLOSE=?Возвращает "LINK IS NOT" или "UNLINK" если ID соединения уже разорвано, ERROR если соединения нет.
AT+CIFSRОтобразить IP адрес, который получили от AP и адрес softAPTCP/IPAT+CIFSRAT+CIFSR=?-
AT+CIPMUXВыбрать режим одиночных или множественных подключенийTCP/IPAT+CIPMUX=AT+CIPMUX?0=одиночные подключение, 1=множественные подключения.
Изменить режим можно только после закрытия всех подключений. Если запущен сервер, то требуется перезагрузка модуля.
AT+CIPSERVERЗапустить (перезапустить) серверTCP/IPAT+CIPSERVER= [, ]-0=сервер отключен, 1=сервер запущен. Порт по умолчанию:333. Для запуска сервера модуль должен быть в режиме множественных подключений AT+CIPMUX=1.
AT+CIPSTOУстановить таймаут сервераTCP/IPAT+CIPSTO=AT+CIPSTO?таймаут в секундах от 0 до 7200
AT+CIPMODEУстановить сквозной режимTCP/IPAT+CIPMODE=AT+CIPMODE?0=обычный режим,
1=unvarnished transmission mode
AT+CIUPDATEОбновление прошивки через облако. Модуль должен быть в режиме 1 или 3 и быть подключен к AP с доступом к интернет.TCP/IPAT+CIUPDATE1 found server
2 connect server
3 got edition
4 start update
+IPDПолучить данные из сетиTCP/IP(+CIPMUX=0)
+IPD,:
(+CIPMUX=1)
+IPD,,:
-1. Одиночные подключения
(+CIPMUX=1)
+IPD,:
2. Множественные подключения
(+CIPMUX=1)
+IPD,,,

Примеры использования AT команд ESP8266

  1. Радиоэлектроника
  2. Цифровая электроника
  3. Отладочные комплекты
  4. ESP8266

Добавлено 21 июня 2018 в 00:15

Сохранить или поделиться

В данной статье приведены некоторые конкретные примеры использования AT команд ESP8266. Для получения дополнительной информации о полном наборе команд смотрите предыдущие статьи из этой серии, в которых содержится полная документация на команды.

Для тестирования и отправки команд на ESP8266 вам понадобится установленный на компьютере UART терминал:

  • скорость передачи по умолчанию равна 115200;
  • терминал должен быть установлен в «режим новой строки»; AT команды заканчиваются новой строкой (CR LF).

Внимание:
AT команды должны вводиться заглавными буквами.

Модуль ESP-12E на базе ESP8266. Примеры использования AT команд ESP8266Модуль ESP-12E на базе ESP8266

Содержание

Одиночное подключение в качестве TCP клиента

  1. Настроить WiFi режим.

    AT+CWMODE=3 // режим softAP+station (точка доступа + станция)

    Отклик:

    OK

  2. Подключиться к роутеру.

    AT+CWJAP="SSID","password" // SSID и пароль роутера

    Отклик:

    OK

  3. Запросить IP адрес устройства ESP8266.

    AT+CIFSR

    Отклик:

    +CIFSR:APIP,"192.168.4.1"
    +CIFSR:APMAC,"1a:fe:34:a5:8d:c6"
    +CIFSR:STAIP,"192.168.3.133"
    +CIFSR:STAMAC,"18:fe:34:a5:8d:c6"
    OK

  4. Подключить компьютер к тому же роутеру, к которому подключен ESP8266. Используя сетевую утилиту, создать на компьютере TCP сервер.
    • Например, TCP сервер на компьютере это 192.168.3.116, порт 8080.
  5. Подключить ESP8266 к этому серверу в качестве TCP клиента.

    AT+CIPSTART="TCP","192.168.3.116",8080 // протокол, IP адрес и порт сервера

    Отклик:

    OK

  6. ESP8266 отправляет данные на сервер.

    AT+CIPSEND=4       // установить длину данных, которые будут посылаться, например, 4 байта
    >test                     // ввод данных, без CR

    Отклик:

    Recv 4 bytes
    SEND OK

    Внимание:

    • Если количество введенных байтов больше, чем указанный размер (n):
      • система ответит busy и отправит первые n байтов;
      • после отправки первых n байтов система ответит SEND OK.
  7. Когда ESP8266 получит данные от сервера, он выведет сообщение, приведенное ниже:

    +IPD,n:xxxxxxxxxx          // принято n байтов, данные=xxxxxxxxxxx

  8. Закрыть TCP соединение.

    AT+CIPCLOSE

    Отклик:

    CLOSED
    OK

UDP передача

UDP передача выполняется с помощью команды AT+CIPSTART.

  1. Настроить WiFi режим.

    AT+CWMODE=3 // режим softAP+station (точка доступа + станция)

    Отклик:

    OK

  2. Подключиться к роутеру.

    AT+CWJAP="SSID","password" // SSID и пароль роутера

    Отклик:

    OK

  3. Запросить IP адрес устройства ESP8266.

    AT+CIFSR

    Отклик:

    +CIFSR:APIP,"192.168.4.1"
    +CIFSR:APMAC,"1a:fe:34:a5:8d:c6"
    +CIFSR:STAIP,"192.168.101.133"
    +CIFSR:STAMAC,"18:fe:34:a5:8d:c6"
    OK

  4. Подключить компьютер к тому же роутеру, к которому подключен ESP8266. Используя сетевую утилиту, создать на компьютере UDP порт.
    • Например, IP адрес компьютера 192.168.101.110, порт 8080.
  5. Ниже приведены два примера UDP передачи.

UDP (фиксированные удаленные IP адрес и порт)

При UDP передаче, используются ли фиксированные удаленные IP адрес и порт или нет, определяется в последнем параметре AT+CIPSTART. "0" означает, что удаленные IP адрес и порт фиксированы и не могут быть изменены. Такому соединению присваивается конкретный ID для того, чтобы убедиться, что отправитель и получатель данных не будут заменены другими устройствами.

  1. Включить множественные подключения

    AT+CIPMUX=1

    Отклик:

    OK

  2. Создать UDP передачу, например, ID равен 4.

    AT+CIPSTART=4,"UDP","192.168.101.110",8080,1112,0

    Отклик:

    4,CONNECT
    OK

    Примечания:

    • "192.168.101.110", 8080 – это удаленные IP адрес и порт UDP передачи на противоположной стороне, то есть настроенные на компьютере.
    • 1112 – это локальный порт ESP8266. Пользователь может сам назначить этот порт. Значение этого порта будет случайным. Оно не определено заранее.
    • 0 означает, что удаленные IP адрес и порт не могут быть изменены. Например, если другой компьютер также создает UDP сущность и посылает данные на порт 1112, принадлежащий ESP8266, ESP8266 может принять данные, отправленные с порта 1112, но, когда данные посылаются с помощью команды “AT+CIPSEND=4, X”, они всё еще отправляются на первый компьютер. Если данный параметр не равен 0, то данные будут посланы на новый компьютер.
  3. Отправить данные.

    AT+CIPSEND=4,7    // отправить 7 байтов на передачу №4
    >UDPtest                // ввод данных, без CR

    Отклик:

    Recv 7 bytes
    SEND OK

    Внимание:

    • Если количество введенных байтов больше, чем указанный размер (n):
      • система ответит busy и отправит первые n байтов;
      • после отправки первых n байтов система ответит SEND OK.
  4. Когда ESP8266 получит данные, он выведет сообщение, приведенное ниже:

    +IPD,4,n:xxxxxxxxxx          // принято n байтов, данные=xxxxxxxxxxx

  5. Закончить UDP передачу.

    AT+CIPCLOSE=4

    Отклик:

    4,CLOSED
    OK

UDP (удаленные IP адрес и порт могут быть изменены)

При создании UDP передачи последний параметр "AT+CIPSTART" установите в значение 2. Это означает, что удаленные IP адрес и порт могут быть изменены.

  1. Создать UDP передачу.

    AT+CIPSTART="UDP","192.168.101.110",8080,1112,2

    Отклик:

    CONNECT
    OK

    Примечания:

    • "192.168.101.110", 8080 – это удаленные IP адрес и порт UDP передачи на противоположной стороне, то есть настроенные на компьютере.
    • 1112 – это локальный порт ESP8266. Пользователь может сам назначить этот порт. Значение этого порта будет случайным. Оно не определено заранее.
    • 2 означает, что удаленные IP адрес и порт могут быть изменены на параметры последнего устройства, которое взаимодействовало с ESP8266. Например, если другой компьютер также создает UDP сущность и посылает данные на порт 1112, принадлежащий ESP8266, ESP8266 может принять данные, отправленные с порта 1112, и, когда данные посылаются с помощью команды “AT+CIPSEND=4, X”, они отправляться на новый компьютер.
  2. Отправить данные.

    AT+CIPSEND=7     // отправить 7 байтов на передачу
    >UDPtest            // ввод данных, без CR

    Отклик:

    Recv 7 bytes
    SEND OK

    Внимание:

    • Если количество введенных байтов больше, чем указанный размер (n):
      • система ответит busy и отправит первые n байтов;
      • после отправки первых n байтов система ответит SEND OK.
  3. Чтобы отправить данные на другое UDP оборудование, вы можете, когда отправляете данные, установить целевые IP адрес и порт. Например, отправить 7 байтов на 192.168.101.111, порт 1000.

    AT+CIPSEND=7,"192.168.101.111",1000     // отправить 7 байтов
    >UDPtest            // ввод данных, без CR

    Отклик:

    Recv 7 bytes
    SEND OK

  4. Когда ESP8266 получит данные, он выведет сообщение, приведенное ниже:

    +IPD,n:xxxxxxxxxx          // принято n байтов, данные=xxxxxxxxxxx

  5. Закончить UDP передачу.

    AT+CIPCLOSE

    Отклик:

    CLOSED
    OK

Сквозной режим UART-WiFi

Сквозной режим UART-WiFI может быть включен, только когда ESP8266 работает как TCP клиент при одиночном подключении, или в UDP передаче.

Сквозной режим UART-WiFi при одиночном клиентском TCP подключении

В данном примере станция ESP8266 действует в качестве TCP клиента, чтобы создать одиночное подключение и выполнять сквозную передачу UART-WiFi. Для режима SoftAP (точка доступа) ESP8266, режим сквозной передачи UART-WiFi может быть выполнен аналогичным образом.

  1. Настроить WiFi режим.

    AT+CWMODE=3 // режим softAP+station (точка доступа + станция)

    Отклик:

    OK

  2. Подключиться к роутеру.

    AT+CWJAP="SSID","password" // SSID и пароль роутера

    Отклик:

    OK

  3. Запросить IP адрес устройства ESP8266.

    AT+CIFSR

    Отклик:

    +CIFSR:APIP,"192.168.4.1"
    +CIFSR:APMAC,"1a:fe:34:a5:8d:c6"
    +CIFSR:STAIP,"192.168.101.133"
    +CIFSR:STAMAC,"18:fe:34:a5:8d:c6"
    OK

  4. Подключить компьютер к тому же роутеру, к которому подключен ESP8266. Используя сетевую утилиту, создать на компьютере TCP сервер.
    • Например, TCP сервер на компьютере это 192.168.101.110, порт 8080.
  5. Подключить ESP8266 к этому серверу в качестве TCP клиента.

    AT+CIPSTART="TCP","192.168.101.110",8080 // протокол, IP адрес и порт сервера

    Отклик:

    OK

  6. Включить режим сквозной передачи UART-WiFi.

    AT+CIPMODE=1

    Отклик:

    OK

  7. ESP8266 начинает отправлять данные на сервер.

    AT+CIPSEND

    Отклик:

    >             // Начиная с этого момента, данные, принимаемые с UART, будут передаваться на сервер автоматически.

  8. Остановить отправку данных.
    Когда принимается пакет, содержащий "+++", ESP8266 возвращается в нормальный командный режим. Пожалуйста, подождите минимум одну секунду перед отправкой следующей команды.
    Обратите внимание, что если вы введете "+++" с помощью печати, "+++" может быть не воспринята как последовательность трех "+" из-за задержек при печати.

    Примечание:

    Цель ввода "+++" заключается в выходе ESP8266 из режима сквозной передачи и возвращение в обычный прием AT команд, пока TCP соединение остается подключенным. Поэтому мы также можем использовать команду “AT+CIPSEND” чтобы вернуться в режим сквозной передачи.

  9. Выключить режим сквозной передачи UART-WiFi.

    AT+CIPMODE=0

    Отклик:

    OK

  10. Закрыть TCP соединение.

    AT+CIPCLOSE

    Отклик:

    CLOSED
    OK

Сквозной режим UART-WiFi при UDP передаче

В данном примере точка доступа SoftAP ESP8266 создает сквозную UDP передачу UART-WiFi. Для режима станции ESP8266, режим сквозной UDP передачи UART-WiFi может быть выполнен аналогичным образом.

  1. Настроить WiFi режим.

    AT+CWMODE=3 // режим softAP+station (точка доступа + станция)

    Отклик:

    OK

  2. Подключить компьютера к точке доступа SoftAP ESP8266. Затем с помощью сетевой утилиты создать на компьютере UDP порт.
    • Например, IP адрес компьютера 192.168.4.2, и порт 1001.
  3. ESP8266 создает UDP передачу, у которой удаленные IP адрес и порт фиксированные.

    AT+CIPSTART="UDP","192.168.4.2",1001,2233,0

    Отклик:

    OK

  4. Включить режим сквозной передачи UART-WiFi.

    AT+CIPMODE=1

    Отклик:

    OK

  5. ESP8266 начинает отправлять данные на сервер.

    AT+CIPSEND

    Отклик:

    >             // Начиная с этого момента, данные, принимаемые с UART, будут передаваться на сервер автоматически.

  6. Остановить отправку данных.
    Когда принимается пакет, содержащий "+++", ESP8266 возвращается в нормальный командный режим. Пожалуйста, подождите минимум одну секунду перед отправкой следующей команды.
    Обратите внимание, что если вы введете "+++" с помощью печати, "+++" может быть не воспринята как последовательность трех "+" из-за задержек при печати.

    Примечание:

    Цель ввода "+++" заключается в выходе ESP8266 из режима сквозной передачи и возвращение в обычный прием AT команд, пока TCP соединение остается подключенным. Поэтому мы также можем использовать команду “AT+CIPSEND” чтобы вернуться в режим сквозной передачи.

  7. Выключить режим сквозной передачи UART-WiFi.

    AT+CIPMODE=0

    Отклик:

    OK

  8. Закрыть UDP передачу.

    AT+CIPCLOSE

    Отклик:

    CLOSED
    OK

Несколько подключений в качестве TCP сервера

Когда ESP8266 работает в качестве TCP сервера, должны быть доступны несколько соединений, поскольку к ESP8266 может подключиться более одного клиента.

Ниже приведен пример, показывающий, как реализован TCP сервер, когда ESP8266 работает в режиме точки доступа SoftAP.

  1. Установить WiFi режим.

    AT+CWMODE=3 // режим softAP+station (точка доступа + станция)

    Отклик:

    OK

  2. Включить множественные подключения.

    AT+CIPMUX=1

    Отклик:

    OK

  3. Создать TCP сервер.

    AT+CIPSERVER=1 // по умолчанию порт = 333

    Отклик:

    OK

  4. Подключить компьютер к точке доступа SoftAP ESP8266. Затем, используя сетевую утилиту на компьютере, создать TCP клиент и подключиться к TCP серверу, который был создан ESP8266.

    Примечание:

    Когда ESP8266 работает как TCP сервер, используется механизм тайм-аута. Если TCP клиент подключился к TCP серверу ESP8266, но данные не передвались в течение определенного периода времени, то сервер закрывает соединение по истечении этого периода. Чтобы избежать подобных проблем, пожалуйста, настройте циркуляцию передачи данных каждые 5 секунд.

  5. Отправить данные.

    AT+CIPSEND=0,4    // установить длину данных, которые будут отправлены, здесь это 4 байта
    >test                     // ввод данных, без CR

    Отклик:

    Recv 4 bytes
    SEND OK

    Внимание:

    • Если количество введенных байтов больше, чем указанный размер (n):
      • система ответит busy и отправит первые n байтов;
      • после отправки первых n байтов система ответит SEND OK.
  6. Когда ESP8266 получит данные, он выведет сообщение, приведенное ниже:

    +IPD,0,n:xxxxxxxxxx          // принято n байтов, данные=xxxxxxxxxxx

  7. Закрыть TCP соединение.

    AT+CIPCLOSE=0

    Отклик:

    0,CLOSED
    OK

Оригинал статьи:

Теги

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

Сохранить или поделиться

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

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


Связанные товары

Модуль ESP-12E на базе ESP8266. Примеры использования AT команд ESP8266 ESP-01 Wi-Fi модуль (ESP8266)

Wi-Fi модуль на базе однокристальной системы (SoC) ESP8266. По сравнению с другими модулями имеет небольшие размеры и ULP технологию. Модуль специально сконструирован для создания мобильных устройств и интернета вещей (IoT).

ESP8266 AT команды v0.21 – esp8266

ATПроверка модуля. Если модуль успешно стартовал, то отвечает "OK"базоваяAT--
AT+RSTПерезапуск модуля. После успешного перезапуска возвращает "OK"базоваяAR+RST--
AT+GMRОтобразить версию прошивки. Версия отображается в виде 8 или 10 цифр. Первая группа 4 цифры - версия AT (например, 0019), вторая группа 4 или 6 цифр - версия SDK (например, 000902)базоваяAT+GMR--
AT+GSLPПереход в режим пониженного энергопотреблениябазоваяAT+GSLP=Пример: AT+GSLP=5000 (5сек)
Для того, чтобы модуль вышел из режима сна, необходимо соединить выводы XPD_DCDC и EXT_RSTB
ATEвключить/выключить эхобазоваяATE0
ATE1
Замечание: ATE без 0 или 1 приводит к ошибке.
AT+RESTOREСбросить на заводские настройкибазоваяAT+RESTOREПримечание: после сброса настроек произойдет перезагрузка модуля
AT+ UARTНастройка последовательного интерфейсабазоваяAT+ UART=baudrate,databits,stopbits,
parity,flow control
скорость
data bits
5:5 bits data
6:6 bits data
7:7 bits data
8:8 bits data
stop bits
1:1 bit stop bit
2:1.5 bit stop bit
3:2 bit stop bit parity
0:None
1:Odd
2:EVEN
flow control
0:disable flow control
1:enable RTS
2:enable CTS
3:enable both RTS and CTS
(MTCK - UART0 CTS , MTDO - UART0 RTS)
Пример:
AT+UART=115200,8,1,0,0
AT+CWMODEПереключение режима wifi. Для вступления в силу требуется перезапуск модуля командой AT+RSTwifiAT+CWMODE=AT+CWMODE?
AT+CWMODE=?
1=Station, 2=AP, 3=Оба режима (Station+AP)
AT+CWJAPПодключение к APwifiAT+CWJAP =,AT+CWJAP?SSID и пароль указываются в двойных кавычках
AT+CWLAPОтобразить список доступных AP. Выводит SSID, метод шифрования, силу сигнала. Типы шифрования: 0:Open, 1: WEP, 2:WPA_PSK, 3:WPA2_PSK, 4:WPA_WPA2_PSKwifiAT+CWLAP--
AT+CWQAPОтключение от APwifiAT+CWQAPAT+CWQAP=?-
AT+CWSAPУстановить параметры для режима APwifiAT+CWSAP= ,,, AT+CWSAP? возвращает текущие параметрыSSID и пароль указываются в двойных кавычках. Типы шифрования: 0:Open, 1: WEP, 2:WPA_PSK, 3:WPA2_PSK, 4:WPA_WPA2_PSK
AT+CWLIFОтобразить IP адреса (только для режимов 2-SoftAP и 3-Station+SoftAP) подключенных клиентовwifiAT+CWLIF--
AT+CWDHCP
0 : ESP8266 softAP
1 : ESP8266 station
2 : softAP и station
0 : Включить DHCP
1 : Выключить DHCP
wifiAT+CWDHCP=,
AT+CIPSTAMACпосмотреть/установить MAC адрес в режиме stationwifiAT+CIPSTAMAC=AT+CIPSTAMAC?
AT+CIPAPMACпосмотреть/установить MAC адрес в режиме softAPwifiAT+CIPAPMAC=AT+CIPAPMAC?
AT+ CIPSTAпосмотреть/установить IP адрес в режиме stationwifiAT+CIPSTA=AT+CIPSTA?
AT+ CIPAPпосмотреть/установить IP адрес в режиме softAPwifiAT+CIPAP=AT+CIPAP?
AT+CIPSTATUSОтобразить статус подключения. Возвращает =ID соединения 0-4"
=тип соединения
“TCP” or “UDP”,
=IP адрес,=порт,=тип связи: 0: подсоединен как клиент, 1: как сервер
TCP/IPAT+CIPSTATUS- 2: Получен IP
3: Connected
4: Disconnected
id соединения (0~4),
“TCP” или “UDP”
IP port
0: ESP8266 клиент
1: ESP8266 сервер
AT+CIPSTARTУстановить подключение TCP или UDP.TCP/IP1. Одиночное подключение (+CIPMUX=0)
AT+CIPSTART=
,,
[,(),()]
2. Множественное подключение:
(+CIPMUX=1)
AT+CIPSTART=
,,
[,(),()]
AT+CIPSTART=? ID
соединения 0-4,
=TCP или UDP, =IP адрес удаленного хоста, = порт удаленного хоста.
[] только для UDP
[] только для UDP
Возвращает "OK", "ERROR" или "ALREADY CONNECT"
0 : destination peer entity of UDP will not change.
1 : destination peer entity of UDP can change once.
2 : destination peer entity of UDP is allowed to change.
AT+CIPSENDОтправить данныеTCP/IP1. Одиночное подключение (+CIPMUX=0)
AT+CIPSEND=
2. Множественное подключение:
(+CIPMUX=1) AT+CIPSEND= ,
AT+CIPSEND=?Длина данных в пакете до 2048 байт. Между пакетами интервал 20мс. После получения данной команды модуль возвращает ">" и переходит в режим приема данных по RX, после приема данных необходимой длины передает их в радиоканал. При успешной передаче возвращает "SEND OK". Прервать режим приема данных и перейти в командный режим можно последовательностью "+++"
AT+CIPCLOSEЗакрыть подключение TCP или UDPTCP/IP1. Множественное подключение:
(+CIPMUX=1) AT+CIPCLOSE=
2. Одиночное подключение (+CIPMUX=0) AT+CIPCLOSE
AT+CIPCLOSE=?Возвращает "LINK IS NOT" или "UNLINK" если ID соединения уже разорвано, ERROR если соединения нет.
AT+CIFSRОтобразить IP адрес, который получили от AP и адрес softAPTCP/IPAT+CIFSRAT+CIFSR=?-
AT+CIPMUXВыбрать режим одиночных или множественных подключенийTCP/IPAT+CIPMUX=AT+CIPMUX?0=одиночные подключение, 1=множественные подключения.
Изменить режим можно только после закрытия всех подключений. Если запущен сервер, то требуется перезагрузка модуля.
AT+CIPSERVERЗапустить (перезапустить) серверTCP/IPAT+CIPSERVER= [, ]-0=сервер отключен, 1=сервер запущен. Порт по умолчанию:333. Для запуска сервера модуль должен быть в режиме множественных подключений AT+CIPMUX=1.
AT+CIPSTOУстановить таймаут сервераTCP/IPAT+CIPSTO=AT+CIPSTO?таймаут в секундах от 0 до 7200
AT+CIPMODEУстановить сквозной режимTCP/IPAT+CIPMODE=AT+CIPMODE?0=обычный режим,
1=unvarnished transmission mode
AT+CIUPDATEОбновление прошивки через облако. Модуль должен быть в режиме 1 или 3 и быть подключен к AP с доступом к интернет.TCP/IPAT+CIUPDATE1 found server
2 connect server
3 got edition
4 start update
AT+PINGПинг по имени хоста или IP адресуTCP/IPAT+PING=ipПримеры:
AT+PING=”192.168.1.1”
AT+PING=”esp8266.ru”
+IPDПолучить данные из сетиTCP/IP(+CIPMUX=0)
+IPD,:
(+CIPMUX=1)
+IPD,,:
-1. Одиночные подключения
(+CIPMUX=1)
+IPD,:
2. Множественные подключения
(+CIPMUX=1)
+IPD,,,

ESP8266 AT команды v0.19 – esp8266

ATПроверка модуля. Если модуль успешно стартовал, то отвечает "OK"базоваяAT--
AT+RSTПерезапуск модуля. После успешного перезапуска возвращает "OK"базоваяAR+RST--
AT+GMRОтобразить версию прошивки. Версия отображается в виде 8 или 10 цифр. Первая группа 4 цифры - версия AT (например, 0019), вторая группа 4 или 6 цифр - версия SDK (например, 000902)базоваяAT+GMR--
AT+CWMODEПереключение режима wifi. Для вступления в силу требуется перезапуск модуля командой AT+RSTwifiAT+CWMODE=AT+CWMODE?
AT+CWMODE=?
1=Station, 2=AP, 3=Оба режима (Station+AP)
AT+CWJAPПодключение к APwifiAT+CWJAP =,AT+CWJAP?SSID и пароль указываются в двойных кавычках
AT+CWLAPОтобразить список доступных AP. Выводит SSID, метод шифрования, силу сигнала. Типы шифрования: 0:Open, 1: WEP, 2:WPA_PSK, 3:WPA2_PSK, 4:WPA_WPA2_PSKwifiAT+CWLAP--
AT+CWQAPОтключение от APwifiAT+CWQAPAT+CWQAP=?-
AT+CWSAPУстановить параметры для режима APwifiAT+CWSAP= ,,, AT+CWSAP? возвращает текущие параметрыSSID и пароль указываются в двойных кавычках. Типы шифрования: 0:Open, 1: WEP, 2:WPA_PSK, 3:WPA2_PSK, 4:WPA_WPA2_PSK
AT+CWLIFОтобразить IP адреса (только для режимов 2-SoftAP и 3-Station+SoftAP) подключенных клиентовwifiAT+CWLIF--
AT+CIPSTATUSОтобразить статус подключения. Возвращает =ID соединения 0-4"
=тип соединения
“TCP” or “UDP”,
=IP адрес,=порт,=тип связи: 0: подсоединен как клиент, 1: как сервер
TCP/IPAT+CIPSTATUS--
AT+CIPSTARTУстановить подключение TCP или UDP.TCP/IP1. Одиночное подключение (+CIPMUX=0)
AT+CIPSTART= ,,
2. Множественное подключение:
(+CIPMUX=1)
AT+CIPSTART= ,,
AT+CIPSTART=? ID
соединения 0-4,
=TCP или UDP, =IP адрес удаленного хоста, = порт удаленного хоста. Возвращает "OK", "ERROR" или "ALREADY CONNECT"
AT+CIPSENDОтправить данныеTCP/IP1. Одиночное подключение (+CIPMUX=0)
AT+CIPSEND=
2. Множественное подключение:
(+CIPMUX=1) AT+CIPSEND= ,
AT+CIPSEND=?Длина данных в пакете до 2048 байт. Между пакетами интервал 20мс. После получения данной команды модуль возвращает ">" и переходит в режим приема данных по RX, после приема данных необходимой длины передает их в радиоканал. При успешной передаче возвращает "SEND OK". Прервать режим приема данных и перейти в командный режим можно последовательностью "+++"
AT+CIPCLOSEЗакрыть подключение TCP или UDPTCP/IP1. Множественное подключение:
(+CIPMUX=1) AT+CIPCLOSE=
2. Одиночное подключение (+CIPMUX=0) AT+CIPCLOSE
AT+CIPCLOSE=?Возвращает "LINK IS NOT" или "UNLINK" если ID соединения уже разорвано, ERROR если соединения нет.
AT+CIFSRОтобразить IP адрес, который получили от APTCP/IPAT+CIFSRAT+CIFSR=?-
AT+CIPMUXВыбрать режим одиночных или множественных подключенийTCP/IPAT+CIPMUX=AT+CIPMUX?0=одиночные подключение, 1=множественные подключения.
Изменить режим можно только после закрытия всех подключений. Если запущен сервер, то требуется перезагрузка модуля.
AT+CIPSERVERЗапустить (перезапустить) серверTCP/IPAT+CIPSERVER= [, ]-0=сервер отключен, 1=сервер запущен. Порт по умолчанию:333. Для запуска сервера модуль должен быть в режиме множественных подключений AT+CIPMUX=1.
AT+CIPSTOУстановить таймаут сервераTCP/IPAT+CIPSTO=AT+CIPSTO?таймаут в секундах от 0 до 28800
AT+CIPMODEУстановить сквозной режим-AT+CIPMODE=AT+CIPMODE?0=обычный режим, 2=сквозной режим
AT+CIUPDATEОбновление прошивки через облако. Модуль должен быть в режиме 1 или 3 и быть подключен к AP с доступом к интернет. В настоящее время имеет смысл только для официальных прошивок.-AT+CIUPDATE
+IPDПолучить данные из сети---1. Одиночные подключения
(+CIPMUX=1)
+IPD,:
2. Множественные подключения
(+CIPMUX=1)
+IPD,,,
AT+CIOBAUDУстановить скорость соединения на порту (для прошивки electrogragon версии 0.922)-AT+CIOBAUD=AT+CIOBAUD=
AT+CIOBAUD=?
скорость=9600, 19200, 38400, 57600, 74880, 115200, 230400,460800, 921600
AT+CSYSWDTENABLE
Включение сторожевого таймера
(для прошивки electrogragon версии 0.922)
WatchDogTimer перезапускает модуль при наличии ошибок
AT+CSYSWDTDISABLEВыключение сторожевого таймера
(для прошивки electrogragon версии 0.922)
отключение WatchDogTimer
AT+SETIPУстановить IP для режима AT+CWMODE=2
(для прошивки electrogragon версии 0.925)
AT+USETIPУстановить IP в режим авто
(для прошивки electrogragon версии 0.925)
AT+SAPIPУстановить IP для режима AT+CWMODE=1
(для прошивки electrogragon версии 0.925)
AT+USAPIPУстановить IP по умолчанию 192.168.4.1 для режима AT+CWMODE=1
(для прошивки electrogragon версии 0.925)

Справочник по AT-командам · room-15

26 марта 2015 г. | по fuho

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

Исторически сложилось так, что AT-команды основаны на наборе команд Hayes, и они ничем не отличаются.

AT-команды

Индекс всех известных AT-команд

Окончание линии

ESP8266 ожидает или CarriageReturn и LineFeed в конце каждой команды, но похоже, что > тоже работает.

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

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

Тип Пример Описание
Тест AT + CIPSTART =? Запросить диапазон значений (пока только AT + CWMODE =? Использует его)
Запрос AT + CMD? Возвращает текущее значение параметра.
Набор AT + CMD = параметр Установить значение определяемых пользователем параметров в командах и запустить.
Выполнить AT + CMD Выполняет команды без параметров, определенных пользователем.
Примечание:
  • Не все AT-команды поддерживают все 4 варианта.
  • [] = значение по умолчанию, не требуется или может не отображаться.
  • Строковые значения требуют двойных кавычек, например: AT + CWSAP = «ESP756190», «21030826», 1,4 .
  • Скорость передачи = 115200
  • AT-инструкция заканчивается на «\ r \ n»

Команды

AT - Тест при запуске

Вариант Команда Ответ Функция
Выполнить AT ОК Проверить правильность работы системы AT

Вернуться к оглавлению

AT + RST - Модуль перезапуска

Вариант Команда Ответ Функция
Выполнить AT + RST ОК Сбросить модуль
ESP-01 Выход после сброса:
  ets 8 января 2013 г., первая причина: 4, режим загрузки: (3,7)

сброс wdt
нагрузка 0x40100000, лен 24444, комната 16
хвост 12
chksum 0xe0
хо 0 хвост 12 комната 4
нагрузка 0x3ffe8000, лен 3168, комната 12
хвост 4
chksum 0x93
нагрузка 0x3ffe8c60, лен 4956, комната 4
хвост 8
chksum 0xbd
csum 0xbd

готов
  
ESP-12 Выход после сброса:
  \ 0x04B1 \ 0x85 \ 0xff \ 0x13: '\ 0xe0; \ 0xcc;! G \ 0xfa \ 0x11 \ 0xa9R \ 0xc6 \ 0x83 \ 0x01 \ 0xd9 \ 0x81
[Производитель: www.ai-thinker.com Версия: 0.9.2.4]

готов
  

Вернуться к оглавлению

AT + GMR - Просмотр информации о версии

Вариант Команда Ответ Функция
Выполнить AT + GMR исп. , ОК Распечатать версию прошивки
Параметры:
  • версия : номер версии микропрограммы
ESP-01 вывод:
ESP-12 выход:

Вернуться к оглавлению

AT + GSLP - Перейти в режим глубокого сна

Вариант Команда Ответ Функция
комплект AT + GSLP = время время ОК Перейти в режим глубокого сна на раз миллисекунд
параметры:
  • время : время засыпания в миллисекундах
Пример :

AT + GSLP = 1500

Примечание:

Оборудование должно поддерживать пробуждение в режиме глубокого сна (вывод сброса должен быть высоким).

Вернуться к оглавлению

ATE - Включить / отключить эхо

Вариант Команда Ответ Функция
Выполнить ATE0 ОК Отключить эхо (не отправляет полученную команду)
Выполнить ATE1 ОК Включить эхо (отправляет полученную команду до ответа)
Примечание:

Мне пока не повезло с этой командой.И ATE0 , и ATE1 возвращают , это не удовольствие .
ATE возвращает OK
Это изменилось с ESP-12 , где команда работает точно так, как ожидалось!

Вернуться к оглавлению

AT + CWMODE - режим WIFI (станция, точка доступа, станция + точка доступа)

Вариант Команда Ответ Функция
Тест AT + CWMODE =? + CWMODE: (1-3) ОК Список допустимых режимов
Запрос AT + CWMODE? + CWMODE: режим ОК Запросить информацию о точке доступа, к которой подключен ESP8266.
Выполнить AT + CWMODE = режим ОК Установите информацию AP, к которой будет подключаться ESP8266.
Параметры:
  • mode : Целое число, обозначающее режим работы 1, 2 или 3.
    1 = режим станции (клиент)
    2 = режим AP (хост)
    3 = AP + режим станции ( Да, у ESP8266 двойной режим!)
Примечания:

ESP-12 был настроен как хост с ssid, установленным на ESP_A0A3F2 , без пароля, канал 1 Можно использовать AT + CWSAP? чтобы найти текущие настройки.

Вернуться к оглавлению

AT + CWJAP - Подключение к AP

Вариант Команда Ответ Функция
Запрос AT + CWJAP? + CWJAP: SSID ОК Печатает SSID точки доступа, к которой подключен ESP8266.
Выполнить AT + CWJAP = SSID , pwd ОК Команды ESP8266 для подключения SSID с предоставленным паролем.
Параметры:
  • ssid : Строка, SSID точки доступа
  • pwd : Строка длиной не более 64 символов
Пример :
  AT + CWJAP = "my-test-wifi", "1234test"
  
Пример AT + CWJAP?

Вернуться к оглавлению

AT + CWLAP - Список доступных точек доступа

Вариант Команда Ответ Функция
.

Как прошить ESP8266 для использования AT-команд с Arduino IDE

IoT обеспечивает обмен данными между машинами, что помогает повысить эффективность системы. ESP8266 - это дешевый модуль Wi-Fi SOC (система на кристалле), работающий от 3,3 В, производимый Espressif Systems, используемый для обеспечения ряда решений IoT. Модуль ESP8266 интегрирован со стеком TCP / IP и микроконтроллером.

ESP8266 имеет ряд дополнительных функций, которые делают его уникальным среди других доступных модулей.Модуль Wi-Fi ESP8266 использует меньшее количество внешних компонентов. ESP8266 позволяет пользователю разгрузить все сетевые функции Wi-Fi от другого прикладного процессора.

ESP имеет ряд приложений в различных областях, таких как домашняя автоматизация, промышленные беспроводные двигатели, IP-камеры и системы безопасности.

ESP8266 Модуль Wi-Fi

Модуль Wi-Fi

ESP8266 имеет восемь контактов, ниже показано изображение распиновки модуля Wi-Fi ESP266:

ESP8266 Wi-fi Module

Характеристики модуля Wi-Fi ESP8266

  • Стек протоколов TCP / IP
  • Высокая прочность, компактный размер
  • 32-битный процессор Tensilica
  • Архитектура энергосбережения
  • Поддержка режима Infrastructure BSS Station / режима SoftAP / режима Promiscuous

Спецификация модуля Wi-Fi ESP8266

  • Рабочее напряжение: 3.3В
  • TCP-соединение: 5 (максимум)
  • Может использоваться как точка доступа и станция
  • Потребление тока: 100 мА
  • Входное и выходное напряжение: 3,6 В (максимум)
  • Входной и выходной ток: 12 мА (максимум)
  • Флэш-память: 512 КБ
  • Спецификация
  • LAN: поддерживает 802.11 b / g / n (2,4 ГГц), до 72,2 Мбит / с
  • Встроенный 32-битный ЦП с низким энергопотреблением
  • Низкое энергопотребление в режиме ожидания (менее 1 мВт)

Теперь вы знаете, что такое ESP8266, а также его распиновку, особенности и технические характеристики.

Итак, давайте продолжим, поскольку мы знаем, что ESP поставляется с предварительно загруженной прошивкой , если вы будете использовать ее с Arduino или любым другим микроконтроллером, прошивка будет перезаписана автоматически . Итак, если у вас есть свежий ESP8266, вы можете напрямую использовать его для AT-команд. Если у вас есть подержанный, вы должны следовать этому руководству, чтобы узнать Как прошить ESP8266 для использования AT-команд .

Принципиальная схема

Circuit Diagram for using ESP8266 with AT commands

Необходимые компоненты

  • ESP8266 Модуль
  • FTDI Board (установлен на 3.Режим 3 В)
  • Перфорированная плита
  • LM317- Регулятор напряжения IC
  • Конденсатор (0,1 мкФ, 10 мкФ)
  • Домкрат для ствола
  • Кнопка
  • Bergstik мужской и женский
  • Адаптер 12В

Как прошить модуль ESP8266?

Не только для AT-команд, но и при начале работы с ESP8266 мы сталкиваемся с рядом проблем и, возможно, захотим перепрограммировать ESP8266.Итак, вы можете использовать тот же метод, чтобы сделать то же самое. Разработайте схему, указанную выше, и установите ее в режим Arduino, а затем выполните указанные ниже шаги.

Шаг 1: - Во-первых, вы должны загрузить программу для прошивки и прошивку отсюда.

Шаг 2: - Распакуйте папку и запустите инструмент перепрошивки из папки, как показано ниже

ESP8266 Flashing Tool

После запуска инструмента перепрошивки вы увидите окно, подобное изображению ниже.

Launch Flashing Tool for ESP8266

Шаг 3: - Теперь откроется диалоговое окно, как показано на изображении выше. Вы должны установить параметры и настроить путь загрузки, прежде чем начинать прошивать ESP8266.

  • Частота кристалла - 26M
  • Скорость SPI - 40 МГц
  • Режим SPI - QI0
  • Размер вспышки - 8 бит
  • Скорость передачи - 115200
  • Выберите COM-порт (у меня ##)

Теперь для настройки пути загрузки включите файлы с заданным адресом из папки прошивки в заданной последовательности.

Имя файла

Адрес

Расположение файла

esp_init_data_default.bin

0xFC000

бланк.корзина

0xFE000

boot_V1.4.bin

0x00000

user1.1024.new.2.bin

0x01000

Пользователь2.1024.new.2.bin

0x81000

Шаг 4: - Теперь включите адаптер для питания разработанной схемы. И установите оборудование в режим Flash. Нажмите кнопку сброса (кнопка), затем нажмите ПУСК, чтобы прошить ESP8266. Теперь ваш ESP8266 начнет мигать и будет выглядеть, как на изображении ниже:

Start Flashing ESP8266

Шаг 5: - По завершении перепрошивки диалоговое окно будет выглядеть, как показано на рисунке ниже:

Flashed ESP8266 for AT Commands

Итак, вы успешно прошили ESP8266.

ESP8266 теперь готов к использованию в режиме AT-команд.

Шаг 6: - Теперь откройте программу Arduino IDE и выберите ПОРТ, к которому подключено ваше оборудование.

Когда вы откроете последовательный монитор в Arduino и нажмете кнопку сброса, на экране вывода отобразится готов с некоторым значением мусора, как на изображении ниже:

ESP8266 connected with Arduino IDE for AT commands

Шаг 7: - Проверить, успешно ли подключен модуль ESP8266.

Отправьте ‘AT’ с помощью последовательного монитора, ESP ответит выходным сигналом ‘OK’, , как показано на изображении ниже.

ESP8266 Ready to Use for AT commands

Таким образом, мы успешно прошили ESP8266 для использования AT-команд с Arduino IDE.

.

Как использовать AT-команды с ESP8266

Это руководство является продолжением предыдущего учебного пособия «Начало работы с ESP8266» (часть 1). Итак, чтобы сделать небольшое резюме, в нашем предыдущем руководстве мы познакомились с модулем ESP и узнали о нем несколько основ. Мы также создали плату для разработки, используя модуль последовательного адаптера FTDI, который можно легко использовать для программирования модуля ESP, используя как AT-команды, так и Arduino IDE.

В этом руководстве мы изучим Как использовать AT-команды для управления модулем Wi-Fi Transceiver ESP8266. И в следующем уроке мы научимся программировать ESP8266 с использованием Arduino IDE (без Arduino) и перепрограммировать ESP8266.

Программирование ESP8266 с использованием AT-команд:

Первый и самый простой способ запрограммировать модуль ESP - использовать AT-команды. Буквы AT означают «Внимание». AT-команды - это инструкции, которые можно использовать для управления конкретным модемом, в нашем случае это модуль ESP8266. Команда AT всегда начинается с буквы AT, за которой следует конкретная команда.Полный список AT-команд, которые могут использоваться для управления и программирования ESP8266, приведен в документации Espressif Systems. То же самое можно найти по ссылке ниже.

Вы можете прочитать документацию, чтобы понять, что будет делать каждая команда. Но в этом руководстве я использую только несколько команд, чтобы проверить версию прошивки модуля и настроить модуль на работу в режиме AP (точки доступа).

Эти AT-команды могут быть отправлены напрямую из любого программного обеспечения последовательного монитора (Putty или Arduino) с нашего компьютера, в основном, для отправки этих AT-команд необходимо установить последовательную связь между модулями ESP и компьютером.Чтобы включить это соединение, эти выводы Rx и Tx модуля ESP подключаются к выводам Tx и RX модуля FTDI соответственно, как описано в предыдущем руководстве. Итак, приступим…

Также ознакомьтесь с нашими различными интересными проектами Интернета вещей на базе ESP8266.

Предварительные требования:

Для этого проекта вам понадобится:

  1. ESP8266 Модуль
  2. Коммутационная плата FTDI (3,3 В)
  3. Любое программное обеспечение для последовательного мониторинга, такое как putty или даже Arduino, будет работать.
  4. Должен быть прочитан предыдущий учебник и должно быть выполнено указанное выше соединение.

Тогда самый важный шаг - правильно подключить модуль ESP.Это очень хорошо объяснено в предыдущем уроке. Принципиальная схема снова показана здесь для справки:

Programming-ESP8266-using-AT-commands

Шаг 1: Установите любое ПО последовательного монитора. В этом руководстве используется Arduino Serial Monitor , поскольку у большинства из нас есть опыт использования его с платами Arduino.

Шаг 2: Подключите модуль ESP и модуль FTDI к плате разработки и включите ее. Убедитесь, что вывод GPIO0 оставлен свободным, а вывод RST на мгновение подключен к земле, а затем оставлен свободным.Мы использовали перемычку на плате для выбора между программированием через AT-команду и через Arduino IDE. И использовали кнопку для сброса ESP. Если вы выполнили подключения, как описано в предыдущем руководстве, ваша плата должна выглядеть примерно так:

Using-AT-commands-in-ESP8266-wifi-Transceiver

Шаг 3: Подключите плату FTDI к компьютеру и откройте Диспетчер устройств. В разделе «COM-порты» вы должны увидеть, к какому COM-порту подключен ваш модуль FTDI, запишите это. Мой подключен к COM20, как показано ниже.

FTDI-module-connected-with-computer-USB-port

Шаг 4: Откройте свою Arduino IDE, убедитесь, что вы подключены к COM-порту FTDI (у меня COM20). В этом можно убедиться, выбрав Инструменты-> Порты. Теперь откройте монитор последовательного порта и выберите «Оба NL&CR» и скорость передачи «115200» , как показано в нижней части изображения на следующем шаге.

Примечание: Ваша скорость передачи данных также может отличаться в зависимости от вашего поставщика.Если 115200 не работает, попробуйте 9600, 38400 и 74880.

Шаг 5: Убедитесь, что ваш вывод GPIO0 свободен (проверьте переключатель), и нажмите кнопку сброса. Вы должны увидеть несколько случайных значений на последовательном мониторе, а затем остановиться, сказав «готово», , как показано на изображении ниже

.

using-AT-command-in-ESP8266-with-serial-monitor

Если вы дошли до этого места, то отлично !! Вы можете начать программировать свой модуль ESP8266, используя AT-команды, используя таблицу. Чтобы было интереснее, я покажу вам, как настроить модуль ESP в режиме AP + STA, и посмотрю, как он работает.

Шаг 6: Первая команда, которую мы будем использовать, - это AT-команда. Он просто используется для проверки успешности запуска. Когда вы набираете «AT» и нажимаете ввод, он должен ответить «OK».

using-AT-command-in-ESP8266-wifi-module

Шаг 7: SDK и версию прошивки модуля можно проверить с помощью команды «AT + GMR»

Шаг 8: Как уже говорилось, модуль ESP может работать в режиме AP (режим точки доступа), режиме STA или одновременно в режиме AP и STA. Давайте запустим модуль в режиме AP , чтобы мы могли проверить, работает ли он.

Просто отправьте «AT + CWMODE = 2» , и он ответит вам с «OK»

Ваш серийный монитор будет выглядеть примерно так, как показано ниже, после того, как вы введете команды

programming-ESP8266-using-AT-commands-in-serial-monitor

Теперь вы можете проверить, действует ли ваш модуль как точка доступа, просто попытавшись подключиться к его сети WIFI.Откройте настройки Wi-Fi на мобильном устройстве или ноутбуке и выполните поиск доступных сетей. Вы должны найти свой модуль ESP, как показано ниже. Мой называется ESP_A3A3E7

ESP8266-becomes-wifi-access-point-after-selecting-AP-mode

Полные шаги и его работа также показаны на видео ниже .

Итак, давайте пока остановимся на этом, в следующем уроке мы увидим «Как мы можем запрограммировать модуль с помощью Arduino IDE и как прошить память ESP8266».

Не забудьте проверить наши другие проекты ESP8266 .

.WiFi-модуль

ESP8266 - 1. Начало работы с AT-командами

ESP8266 - это модуль UART для Wi-Fi, действительно дешевый и простой способ беспроводного подключения любой небольшой микроконтроллерной платформы (например, Arduino) к Интернету.

ESP8266 теперь является одной из ведущих платформ для Интернета вещей . Это супер дешево, и с ним очень легко работать.

Это последовательный модуль со встроенным стеком TCP / IP, поэтому вы можете использовать его автономно

Вы можете использовать AT-команды для подключения к сетям Wi-Fi и открывать TCP-соединения без необходимости запуска стека TCP / IP в вашем собственном микроконтроллере: вы можете просто подключить любой микроконтроллер к модулю ESP и начать передачу данных в Интернет.

На данный момент существует несколько конструкций модулей, называемых ESP-x, где x от 1 до 12.

Я использую модуль ESP-1. Новая прошивка установлена ​​на 9600 бод. предоставляет тот же разъем 2 × 4, Tx, Rx, RST, CH_DP (включение микросхемы) и два GPIO, GPIO0 и GPIO2.

ESP8266 - это устройство на 3,3 В, которое не поддерживает уровни 5 В.

Убедитесь, что вы подтянули линии CH_DP и RST. Я использовал резистор 3k3, чтобы подтянуть RST до + Vcc.

CH_PD напрямую подключен к + 3,3 В. Если вы не подключите CH_PD к Vcc, вы не получите никакого ответа от модуля. Прошивка загружается только по этому соединению.

Пока кажется, что GPIO можно оставить плавающими. Однако для обновления прошивки GPIO0 должен быть заземлен.

Ток, потребляемый модулем, составляет 80 мА в состоянии покоя, а во время работы он может потреблять до 300 мА.

  1. Vcc : 3,3 В, до 300 мА
  2. GND : Земля
  3. Tx : UART Tx модуля, подключаемого к Rx микроконтроллера
  4. Rx : UART Rx модуля, подключаемого к Tx микроконтроллера
  5. RST : Reset / Restart, потяните на GND для перезапуска
  6. CH_PD : включение микросхемы, используется для загрузки с флэш-памяти.
  7. GPIO0 : низкий уровень для режима обновления
  8. GPIO2 : еще не уверен ???

Я использовал преобразователь USB в TTL для связи между ПК и модулем WIFI. Преобразователь имеет выход 3,3 В, который используется для питания модуля WiFi. Он также имеет выход +5 В.

Следует проявлять осторожность с источником питания, так как устройство должно питаться от 3,3 В, а использование 5 В, вероятно, его убьет.

Для простоты подключения я использовал макетную плату.Детали подключения следующие:

Модуль WIFI USB-TTL

Vcc - 3,3 В

Земля - ​​Земля

Tx - Rx

Rx - Tx

CH_PD - подключен к 3.3v для включения загрузки прошивки чипа.

RST - подключен к 3.3в через резистор 3k3

Вывод CH_PD действует как разрешающий сигнал, без него плата не слышит и не слышит. Если для CH_PD не установлено ВЫСОКОЕ значение, вы не получите никакого ответа от модуля.

Как только вы подключите этот последний контакт к VCC (помните 3.3V) модуль оживает, и после какой-то фигни в последовательном порту можно прочитать слово «готово». Как только вы туда доберетесь, все станет интереснее.

Для преобразователя USB-TTL, который я использовал, необходимо было установить драйвер «Prolific 2303». После установки драйвера я получил распределение портов в диспетчере устройств, когда преобразователь подключен к USB-порту ПК.

Программное обеспечение последовательного терминала PuTty используется для связи с портом, к которому подключен преобразователь USB-TTL.

Откройте PuTty и выберите Serial. Введите номер порта, указанный в Диспетчере устройств (здесь это COM41), и скорость 9600 (скорость передачи).

Нажмите кнопку ОТКРЫТЬ, чтобы увидеть черное окно Терминала.

Попробуйте ввести AT. Если вы не получили никакого ответа, просто на мгновение соедините вывод RST модуля с GND.

Сначала вы получаете данные о мусоре, а затем адрес продавца «www.ai-thinker.com»

, затем версия прошивки и затем «готово»

Теперь введите AT.Модуль ответит OK. Если нет, закройте окно Putty и снова откройте его и выполните указанные выше действия.

AT + GMR вернет текущую версию прошивки.

Как правило, вы можете запросить модуль с помощью AT-команды, за которой следует вопросительный знак?

, или вы можете присвоить значение, используя равно =, после AT-команды.

Все AT-команды должны заканчиваться символом «\ r \ n» - возврат каретки и новая строка.

Для получения подробного списка AT-команд посетите:

http: // room-15.github.io/blog/2015/03/26/esp8266-at-command-reference/

AT + CIOBAUD? вернет скорость передачи, с которой работает модуль.

AT + CWMODE? возвращает Режим работы модуля.

CWMODE возвращает целое число, обозначающее режим работы 1, 2 или 3.
1 = режим станции (клиент)
2 = режим AP (хост)
3 = режим AP + станция (Да, ESP8266 имеет двойной режим!)

Но волшебство начинается после того, как вы попробуете команду AT + CWLAP, которая предоставит вам список доступных точек доступа Wi-Fi в этом районе.

Команда AT + CWLAP выведет список точек доступа в диапазоне. Это очень воодушевило, не только моя точка доступа (MBLAZE ..) в списке, но и ESP может видеть как минимум столько точек доступа, сколько мой ноутбук.

Точки доступа перечислены как + CWLAP: ecn , ssid , rssi , mac

Параметр

ecn: 0 OPEN, 1 WEP, 2 WPA_PSK, 3 WPA2_PSK, 4 WPA_WPA2_PSK
ssid: строка, SSID точки доступа
rssi: мощность сигнала
mac: строка, MAC-адрес

На приведенном выше снимке экрана вы можете увидеть мою AP «MBLAZE.. » WPA2_PSK (3) защищен паролем. Вы можете увидеть некоторые другие AP, которые открыты и не защищены паролем. Они перечислены с ecn 0.

Затем вы хотите, чтобы плата подключилась к определенной точке доступа (большинство из нас хочет, чтобы плата действовала как клиент STA или WIFI, который будет подключаться к точке доступа). Это поведение выбирается с помощью AT + CWMODE = 1. После этого выбора вам нужно будет сбросить доску.

Для подключения к домашней / офисной точке доступа введите команду AT + CWJAP = «yourSSID», «yourWifiPassword»

Хорошая новость заключается в том, что отныне каждый раз, когда вы включаете плату, будет пытаться подключиться к той же сети Wi-Fi .Вы можете убедиться, что это удалось, проверив список клиентов DHCP вашего маршрутизатора.

Даже при отключении питания модуль ESP запомнит присоединенную точку доступа.

Вы можете заставить его забыть, введя команду QUIT AT + CWQAP

В качестве альтернативы вы можете проверить IP-адрес вашего модуля с помощью команды AT + CIFSR. Узнав IP-адрес вашей платы, вы можете попробовать выполнить ping-запрос со своего компьютера.

В следующих статьях мы исследуем модуль в клиентском и серверном TCP режимах.

По вопросам наличия этих модулей обращайтесь:

Нравится:

Нравится Загрузка ...

Связанные

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *