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

esp8266.ru

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.

microsin.net

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

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

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

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

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

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

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

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


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

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, микрополосковая…

WeMos D1 Wi-Fi UNO (ESP8266 ESP-12E)

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

NodeMcu V3 Lua WiFi модуль (ESP8266 ESP-12E)

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

ESP-01 Wi-Fi модуль (ESP8266)

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

radioprog.ru

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)

esp8266.ru

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

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

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

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

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

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

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

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

Модуль 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

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

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

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


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

ESP-01 Wi-Fi модуль (ESP8266)

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

radioprog.ru

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.ru

Модуль ESP-01(esp8266) или WiFi для начинающих.

Рано или поздно все мы приходить к тому что нам не хватает подключения к Сети в наших проектах на платформе Ардуино. Действительно как же в 21 веке без статуса Онлайн )) И тут нам на выручку приходит  WiFI чип ESP8266 и готовые  модули на его основе. У меня в руках самый простой модуль (для новичков) ESP-01 :

Модуль устроен достаточно просто и имеет минимальный набор выводов :

  • ESP8266EX — сердце всего модуля.
  • P25Q80H (или другой чип) — Flash Memory на 1 Мбайт.
  • Кварц и обвязка со свето диодиками.

ESP8266EX

Китайский производитель Espressif сделал дешовый чип  с интерфейсом Wi-Fi и возможностью исполнять программы из внешней флеш-памяти с интерфейсом SPI. По сути это микроконтроллер и радио модуль для Wi-Fi в одном корпусе :

  • 80 MHz 32-bit процессор Tensilica.
  • IEEE 802.11 b/g/n Wi-Fi. Поддерживается WEP и WPA/WPA2.
  • 14 портов ввода-вывода(из них возможно использовать 11), SPI, I²C, I²S, UART, 10-bit АЦП. В нашем случае мы можем использовать только ограниченные выводы чипа.
  • Питание 2,2…3,6 В. Логика и питание чипа 3.3 В, будьте внимательны !  
  • Интегрированный стек TCP/IP. HTML

Выводы, подключение :

Возможности чипа очень большие, будем разбираться по степенно.

Выводы модуля :

  • VCC — плюс питания 3.3 В
  • GND — минус питания 3.3 В
  • TX — аппаратный UART.
  • RX — аппаратный UART.
  • RST — кратковременно подав на неё низкий логический уровень, модуль перезагрузиться. Лучше прижать ее через резистор 10 кОм к плюсу питания.
  • CH_PD(или по-другому EN) — служит для перевода модуля в энергосберегающий режим, в котором он потребляет очень маленький ток. Ну и снова — не будет лишним «прижать» эту ногу резистором на 10 кОм к плюсу питания.

По умолчанию во флешь-память ужа записана заводская прошивка с поддержкой АТ команд для управления чипом. Конечно можно залить и другие прошивки, но в этой статье мы будем работать именно в таком режиме с модулем. Суть проста по UART передаем команду, получаем ответ от модуля. Для этого нам потребуется  USB-to-Serial TTL конвертор что бы подключить модуль к компу. Так как у меня под рукой его нету то я буду использовать Arduino Nano в его качестве. 

Питание модуля отдельный вопрос. Пиковое потребление чипа может достигать 250 мА ( в datasheet указано 170 мА при использование Tx802.11b). Внимание! Этот модуль основан на 3.3 В логике, так что придется его питать от своего источника питания. Или через резисторный делитель(1 кОм и 2 кОм) с вывода +5 Ардуино. Выводы RX и TX надо тоже подключить через делитель  или через logic converter (например CD4050B).

Что бы Ардуино превратить в USB-to-Serial TTL конвертор зальем в контролер пустой скетч :

void setup() { }
void loop() { }

Далее Arduino нужно замкнуть RESET на GND.  Это изолирует процессор от I/O пинов. Альтернатива этому удаление микросхемы из «кроватки».  При этом выводы TX, RX устройства нужно подключить без перекрещивания. т.е. :

esp TX → ard TX
esp RX → ard RX

Подключаем все , открываем монитор портов в Arduino IDE и поехали.

Для простоты вы можете купить USB адаптер у наших Китайских партнеров.

AT-Команды.

Для на чало мы проверим  что все работает и  отправим в терминале:

AT

OK

Проверим  прошивку :

AT+GMR

AT version:1.2.0.0(Jul 1 2016 20:04:45)
SDK version:1.5.4.1(39cb9a32)
Ai-Thinker Technology Co. Ltd.
Dec 2 2016 14:21:16
OK

Для подключения Wi-Fi выберем режим модуля: доступны следующие режимы: 1 — STA, 2 — AP, 3 — Station+AP

AT+CWMODE=1

OK

Смотрим список точек доступа командой:

AT+CWLAP 
+CWLAP:(3,"MTSRouter-047188",-77,"00:1f:ce:ac:e4:de",2,-21,0)
+CWLAP:(3,"RT-WiFi_2958",-93,"78:96:82:44:29:58",4,10,0)
+CWLAP:(3,"Test",-63,"ac:f1:df:c9:a5:82",6,0,0)
+CWLAP:(3,"TP-LINK_4E54E0",-85,"f8:1a:67:4e:54:e0",6,103,0)
+CWLAP:(3,"GARNIER",-89,"60:a4:4c:df:83:38",6,-31,0)
+CWLAP:(2,"Oslik",-73,"bc:f6:85:cb:d7:53",7,-9,0)
+CWLAP:(3,"Keenetic-6619",-80,"e8:37:7a:9a:93:46",8,8,0)
+CWLAP:(2,"beeline-router_78",-90,"fc:75:16:4a:39:42",9,-26,0)
+CWLAP:(3,"ASUS",-91,"f4:6d:04:df:d3:e8",11,-14,0)
+CWLAP:(4,"Beeline_2G_F14986",-83,"78:94:b4:a3:8c:cc",11,-14,0)

OK

В скобках указывается: SECURITY, SSID, RSSI, BSSID, CHANNEL
SECURITY может принимать значения:
0 — OPEN, 1 — WEP, 2 — WPA-PSK, 3 — WPA2-PSK, 4 — MIXED (WPA-WPA2-PSK)

Подключаемся к нашей точке:

AT+CWJAP="Oslik","password" 
WIFI CONNECTED
WIFI GOT IP

OK

Посмотреть какой ip получил наш модуль:

AT+CIFSR
+CIFSR:STAIP,"192.168.0.55"
+CIFSR:STAMAC,"b4:e6:2d:22:f6:61"

OK

Все настройки запоминаются во флешь память, сбросить настройки на заводские можно командой:

AT+RESTORE

Задать скорость UART :

AT+CIOBAUD=9600

OK

Перезагрузить модуль :

AT+RST

OK
?)⸮⸮⸮@H

<⸮⸮⸮⸮@H⸮⸮!`̌⸮
⸮K⸮ZHRh|$ ⸮⸮ؤ⸮
Ai-Thinker Technology Co. Ltd.

ready

Команды делятся условно на три части : системные, Wi-Fi,TCP. Полный список команд можно посмотреть в datasheep. Ну а мы перейдем к командам режима TCP-сервера. На плате ESP-01 можно запустить TCP-сервер для приема-отправки данных или она может выступать TCP-клиентом для приема-отправки данных на сервер.
Для запуска TCP-сервера выполним следующие команды:

AT+CIPMODE=0

OK

0 — not data mode (сервер может отправлять данные клиенту и может принимать данные от клиента).
1 — data mode (сервер не может отправлять данные клиенту, но может принимать данные от клиента).

Устанавливаем возможность множественных соединений:

AT+CIPMUX=1

OK

0 — single connection.
1 — multiple connection.

Запускаем сервер на порту 80:

AT+CIPSERVER=1,80 (mode,port)

OK

0 — to close server
1 — to open server

Теперь можно подключиться к ESP-01 и отправить-принять какие-нибудь данные. На потребуется telnet клиент, я использую PuTTY. При подключение модуль нам сообщает что подключился клиент и показывает нам id клиента.

0,CONNECT

+IPD,0,21:⸮⸮⸮⸮ ⸮⸮⸮⸮'⸮⸮⸮⸮⸮⸮

Посмотреть список активных подключений к ESP-01 можно командой AT+CIPSTATUS
Пример:

AT+CIPSTATUS

+CIPSTATUS:0,"TCP","192.168.0.19",57907,80,1
OK

Закрыть активное соединение можно командой

AT+CIPCLOSE=id или все соединения AT+CIPCLOSE без параметров.

AT+CIPCLOSE=0 
0,CLOSED

OK

Отправляем данные с ESP-01 на ПК. Для режима Single connection отправка идет так :AT+CIPSEND=length, для режима Multiple connection отправка идет так: AT+CIPSEND=id,length.

AT+CIPSEND=0,6  (6 байт)

OK
> 
Hellow

busy s...
Recv 6 bytes
SEND OK

Возможно эти статьи будут вам интересны.

xn--90aeniddllys.xn--p1ai

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

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