At cipserver error

Здравствуйте! Есть набор "Интернет вещей" от Амперки (дополнение для Матрешки). При работе с первым экспериментом (изучение WiFi-модуля) сервер...
  1. Здравствуйте!
    Есть набор «Интернет вещей» от Амперки (дополнение для Матрешки). При работе с первым экспериментом (изучение WiFi-модуля) сервер корректно поднимается командой AT+CIPSERVER=1,80 но не отключается указанной в буклете командой AT+CIPSERVER=0,80. Как решить эту проблему?
    Заранее спасибо за помощь!

  2. Похоже, никому не интересно разобраться, почему в заводской прошивке модуля находятся ошибки. Очень жаль. Спасибо за помощь!


  3. Arduino_man нравится это.
  4. Интересно, почему модуль поставляется с бракованной прошивкой?
    Не подскажете, как перепрошить модуль?

  5. Я не уверен что прошивка «бракованная».
    На тему перепрошивки есть у Амперки инструкция где-то, поищите. Точно есть.


    Arduino_man нравится это.

  6. А мне так очень кажется. Либо заводская прошивка бракованная, либо в «Продолжении конспекта хакера» ошибка. Может быть, сервер отключается командой AT+CIPSERVER=2,80, но вряд ли. Я склоняюсь к плохой прошивке.
    В любом случае буду перепрошивать модуль, т.к. уже программировал его.

  7. Я так понимаю, что AT+CIPMUX=1 перед запуском сервера сделана? Попробуйте после посылки AT+CIPSERVER=0,80 послать AT+CIPMUX=0

  8. Нет. Делал строго по инструкции. Позже попробую. Похоже, проблемы с заводской прошивкой не только у меня.

  9. Вы ее уже перешили на последнюю? Чего воздух то вибрировать?

  10. Уже пару лет юзаю ESP с заводской прошивкой AT 0.40 — нет проблем.

  11. Нет. Работаю с программированием модуля. Прошивку сменю.

Hello,

have problem with ESP8266 HTTP server. I’m pretty sure that this is a firmware problem. using ESP8266 NONOS SDK

HTTP Server is configured this way:

AT+CIPSERVER=1,80

Between ESP8266 and Internet is a Router. Router is configured to listen at Port 5001 and move all requests to Port 80 at the ESP.

http://my domain:5001
In this case a local connect to ESP with FireFox show the expected Web Page but via router only the HTML source is shown. FireFox message:

«The character encoding of the plain text document was not declared. The document will render with garbled text in some browser configurations if the document contains characters from outside the US-ASCII range. The character encoding of the file needs to be declared in the transfer protocol or file needs to use a byte order mark as an encoding signature.»

If router is configured to use Port 80 instead of Port 5001 than it works. But router is not the problem.

AT+CIPSERVER=1,5001

do also not work for local/direct connection. Same problem. HTML code is shown.

MS IE works. Nevertheless I use Apache 2.0 and IIS here as reference. Everything works fine if doing same with Apache or IIS. That’s why it is most likely that there is a bug in the firmware.

regards
Gerald

In my opinion this is just a bug in the firmware. Your software developers should be able to reproduce ist.

Code: Select all

AT+CWMODE?
+CWMODE:3

OK
AT+CWJAP_CUR="KULKARNI","rathana47"
WIFI CONNECTED
WIFI GOT IP

OK
AT+CIFSR
+CIFSR:APIP,"192.168.4.1"
+CIFSR:APMAC,"5e:cf:7f:36:d1:a1"
+CIFSR:STAIP,"192.168.1.9"
+CIFSR:STAMAC,"5c:cf:7f:36:d1:a1"

OK AT+CIPMUX=1

OK
AT+CIPSERVER=1,80

OK
0,CONNECT

+IPD,0,383:GET / HTTP/1.1
Host: 192.168.1.9
Connection: keep-alive
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8,hi;q=0.6

1,CONNECT
2,CONNECT
1,CLOSED
2,CLOSED
AT+CIPSEND=0,5

OK

busy s...

Recv 5 bytes

SEND OK
AT+CIPCLOSE=0
0,CLOSED

OK
0,CONNECT

+IPD,0,348:GET /favicon.ico HTTP/1.1
Host: 192.168.1.9
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36
Accept: image/webp,image/*,*/*;q=0.8
Referer: http://192.168.1.9/
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8,hi;q=0.6

1,CONNECT
2,CONNECT

+IPD,1,409:GET / HTTP/1.1
Host: 192.168.1.9
Connection: keep-alive
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Linux; Android 5.0.2; XT1068 Build/LXB22.46-28) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.83 Mobile Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8,hi;q=0.6

1,CLOSED
2,CLOSED
1,CONNECT

+IPD,1, 409:GET / HTTP/1.1
Host: 192.168.1.9
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8,hi;q=0.6

0,CLOSED
AT+CIPSEND=0,6
[b]link is not valid[/b] 

ERROR
AT+CIPSERVER=1,80   

ERROR
AT+CIPCLOSE=0
UNLINK

ERROR
1,CLOSED

AT+CIPSERVER=1,80
no change

OK
AT+CIPSEND=0,6
link is not valid

ERROR
AT+CIPCLOSE=0
UNLINK

ERROR

this is what happened when i first started this but even after AT+RESTORE and AT+RST
same thing happens when i send AT+CIPSEND=0,5

why is it showing link is not valid?
is any good tutorial are there please send the link

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

Добавлено 15 июня 2018 в 18:36

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

Модуль ESP-12E на базе ESP8266. AT команды ESP8266 уровня TCP/IP

Модуль 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 команды уровня TCP/IP

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

Команда Описание
AT+CIPSTATUS Получить статус соединения
AT+CIPDOMAIN Работа DNS
AT+CIPSTART Установить TCP соединение, UDP передачу или SSL соединение
AT+CIPSSLSIZE Установить размер буфера SSL
AT+CIPSEND Отправить данные
AT+CIPSENDEX Отправить данные, когда длина данных равна <length>, или когда в данных появится
AT+CIPSENDBUF Записать данные в TCP буфер отправки
AT+CIPBUFRESET Сбросить счетчик ID сегментов
AT+CIPBUFSTATUS Проверить состояние TCP буфера отправки
AT+CIPCHECKSEQ Проверить, отправлен ли конкретный сегмент или нет
AT+CIPCLOSE Закрыть TCP/UDP/SSL соединение
AT+CIFSR Получить локальный IP адрес
AT+CIPMUX Настроить режим нескольких соединений
AT+CIPSERVER Удалить/создать TCP сервер
AT+CIPSERVERMAXCONN Установить максимальное количество соединений, допускаемое сервером
AT+CIPMODE Настроить режим передачи
AT+SAVETRANSLINK Сохранить линк прозрачной передачи во флеш-памяти
AT+CIPSTO Установить время ожидания, когда ESP8266 запущен как TCP сервер
AT+PING Отправить ping пакеты
AT+CIUPDATE Обновить программное обеспечение через сеть
AT+CIPDINFO Показывать удаленный IP адрес и удаленный порт с +IPD
AT+CIPSNTPCFG Настроить временную зону и SNTP сервер
AT+CIPSNTPTIME Запросить время SNTP
AT+CIPDNS_CUR Установить определенные пользователем DNS серверы; конфигурация не сохраняется во флеш-памяти
AT+CIPDNS_DEF Установить определенные пользователем DNS серверы; конфигурация сохраняется во флеш-памяти

AT команды

AT+CIPSTATUS – получить состояние соединения
Команда выполнения AT+CIPSTATUS
Отклик STATUS:<stat>
+CIPSTATUS:<link ID>,<type>,<remote IP>,<remote port>,<local port>,<tetype
Параметры
  • <stat> – состояние интерфейса станции ESP8266:
    • 2 – станция ESP8266 подключена к точке доступа, и ей предоставлен IP адрес;
    • 3 – у станции ESP8266 есть созданное TCP или UDP соединение;
    • 4 – TCP или UDP передача станции ESP8266 отключено;
    • 5 – станция ESP8266 НУ подключена к точке доступа;
  • <link ID> – ID соединения (0–4), используется при нескольких соединениях;
  • <type> – строковый параметр, «TCP» или «UDP«;
  • <remote IP> – строковый параметр, указывающий удаленный IP адрес;
  • <remote port> – номер удаленного порта;
  • <local port> – номер локального порта ESP8266;
  • <tetype>:
    • 0 – ESP8266 запущен как клиент;
    • 1 – ESP8266 запущен как сервер.
AT++CIPDOMAIN – работа DNS
Команда выполнения AT+CIPDOMAIN=<domain name>
Отклик +CIPDOMAIN:<IP address>
OK

или

DNS Fail
ERROR

Параметр <domain name> – имя домена, длина должна быть меньше 64 байтов.
Пример AT+CWMODE=1                                           // установить режим станции
AT+CWJAP="SSID","password"             // доступ в интернет
AT+CIPDOMAIN="iot.espressif.cn"   // работа DNS
AT+CIPSTART – установить TCP соединение, UDP передачу или SSL соединение

Установление TCP соединения

Команда установки Одиночное TCP соединение (AT+CIPMUX=0):
AT+CIPSTART=<type>,<remote IP>,<remote port>[,<TCP keep alive>]
Несколько TCP соединений (AT+CIPMUX=1):
AT+CIPSTART=<link ID>,<type>,<remote IP>,<remote port>[,<TCP keep alive>]
Отклик OK

или

ERROR

Если TCP соединение уже установлено, то отклик будет:

ALREADY CONNECTED

Параметры
  • <link ID> – ID сетевого соединения (0–4), используется при нескольких соединениях;
  • <type> – строковый параметр, указывающий тип соединения: «TCP», «UDP» или «SSL»;
  • <remote IP> – строковый параметр, указывающий удаленный IP адрес;
  • <remote port> – номер удаленного порта;
  • [<TCP keep alive>] – временной интервал обнаружения, когда TCP соединение сохраняется; по умолчанию эта функция выключена:
    • 0 – выключить сохранение TCP соединения;
    • 1–7200 – временной интервал обнаружения; единица; секунда.
Примеры AT+CIPSTART="TCP","iot.espressif.cn",8000
AT+CIPSTART="TCP","192.168.101.110",1000

Установление UDP передачи

Команда установки Одиночное TCP соединение (AT+CIPMUX=0):
AT+CIPSTART=<type>,<remote IP>,<remote port>[,(<UDP local port>),(<UDP mode>)]
Несколько TCP соединений (AT+CIPMUX=1):
AT+CIPSTART=<link ID>,<type>,<remote IP>,<remote port>[,(<UDP local port>),(<UDP mode>)]
Отклик OK

или

ERROR

Если UDP передача уже установлена, то отклик будет:

ALREADY CONNECTED

Параметры
  • <link ID> – ID сетевого соединения (0–4), используется при нескольких соединениях;
  • <type> – строковый параметр, указывающий тип соединения: «TCP», «UDP» или «SSL»;
  • <remote IP> – строковый параметр, указывающий удаленный IP адрес;
  • <remote port> – номер удаленного порта;
  • [<UDP local port>] – необязательный параметр; UDP порт ESP8266;
  • [<UDP mode>] – необязательный параметр; в режиме прозрачной UDP передачи, значение данного параметра должно быть 0.
    • 0 – одноранговый узел назначения UDP не изменяется; это значение по умолчанию;
    • 0 – одноранговый узел назначения UDP может быть изменен один раз;
    • 0 – одноранговый узел назначения UDP доступен для изменения.

Внимание:
Чтобы использовать <UDP mode>, сперва необходимо указать <UDP local port>.

Пример AT+CIPSTART="UDP","192.168.101.110",1000,1002,2

Установление SSL соединения

Команда установки AT+CIPSTART=<link ID>[,<type>],<remote IP>,<remote port>[,<TCP keep alive>]
Отклик OK

или

ERROR

Если TCP соединение уже установлено, то отклик будет:

ALREADY CONNECTED

Параметры
  • <link ID> – ID сетевого соединения (0–4), используется при нескольких соединениях;
  • <type> – строковый параметр, указывающий тип соединения: «TCP», «UDP» или «SSL»;
  • <remote IP> – строковый параметр, указывающий удаленный IP адрес;
  • <remote port> – номер удаленного порта;
  • [<TCP keep alive>] – временной интервал обнаружения, когда TCP соединение сохраняется; по умолчанию эта функция выключена:
    • 0 – выключить сохранение TCP соединения;
    • 1–7200 – временной интервал обнаружения; единица; секунда.
Примечания
  • ESP8266 может устанавливать максимум одно SSL соединение.
  • SSL соединение не поддерживает режим сквозной передачи UART-WiFi (прозрачную передачу).
  • SSL соединение требует большого объема памяти; иначе оно может вызвать перезагрузку системы. Для увеличения размера буфера SSL может использоваться команда AT+CIPSSLSIZE=<size>.
Пример AT+CIPSTART="SSL","iot.espressif.cn",8443
AT+CIPSSLSIZE – установить размер буфера SSL
Команда установки AT+CIPSSLSIZE=<size>
Отклик OK
Параметры <size> – размер буфера SSL; диапазон значений: [2048, 4096].
Пример AT+CIPSSLSIZE=4096
AT+CIPSEND – отправить данные
Команда Команда установки:

  1. Одно соединение (+CIPMUX=0):
    AT+CIPSEND=<length>
  2. Несколько соединений (+CIPMUX=1):
    AT+CIPSEND=<link ID>,<length>
  3. Во время UDP передачи могут быть установлены удаленный IP адрес и порт:
    AT+CIPSEND=[<link ID>,]<length>[,<remote IP>,<remote port>]

Назначение: настройка длина данных в нормальном режиме передачи.

Команда выполнения:
AT+CIPSEND
Назначение: начать отправку данных в режиме прозрачной передачи
Отклик Отправка данных указанной длины.

Возвращает символ > после команды установки. Начинает прием данных с последовательного порта. Когда длина данных доходит до значения <length>, начинается передача данных.

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

ERROR

Если данные были переданы успешно, система возвращает:

SEND OK

В случае неудачи система возвращает:

SEND FAIL

Возвращает символ > после выполнения данной команды.

Входит в режим прозрачной передачи с 20-миллисекундным интервалом между пакетами и максимальной длиной пакета 2048 байт.

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

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

Для прозрачной UDP передачи при использовании AT+CIPSTART значение <UDP mode> должно быть 0.

Параметры
  • <link ID> – ID сетевого соединения (0–4), используется при нескольких соединениях;
  • <length> – длина данных; максимум 2048 байтов;
  • [<remote IP>] – удаленный IP адрес, который может быть установлен для UDP передачи;
  • [<remote port>] – удаленный порт, который может быть установлен для UDP передачи.
AT+CIPSENDEX – отправить данные
Команда установки
  1. Одно соединение (+CIPMUX=0):
    AT+CIPSENDEX=<length>
  2. Несколько соединений (+CIPMUX=1):
    AT+CIPSENDEX=<link ID>,<length>
  3. Во время UDP передачи могут быть установлены удаленный IP адрес и порт:
    AT+CIPSENDEX=[<link ID>,]<length>[,<remote IP>,<remote port>]

Назначение: настроить длину данных для режима нормальной передачи.

Отклик Отправка данных указанной длины.

Возвращает символ > после команды установки. Начинает прием данных с последовательного порта. Когда длина данных доходит до значения <length>, или в данных появляется , начинается передача данных.

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

ERROR

Если данные были переданы успешно, система возвращает:

SEND OK

В случае неудачи система возвращает:

SEND FAIL

Параметры
  • <link ID> – ID сетевого соединения (0–4), используется при нескольких соединениях;
  • <length> – длина данных; максимум 2048 байтов;
  • [<remote IP>] – удаленный IP адрес, который может быть установлен для UDP передачи;
  • [<remote port>] – удаленный порт, который может быть установлен для UDP передачи;
  • чтобы передать , используйте его как \0.
AT+CIPSENDBUF – записать данные в TCP буфер отправки
Команда установки
  1. Одиночное соединение (+CIPMUX=0):
    AT+CIPSENDBUF=<length>
  2. Несколько соединений (+CIPMUX=1):
    AT+CIPSENDBUF=<link ID>,<length>
Отклик <ID текущего сегмента>,<ID сегмента, который был отправлен успешно>
OK
>

  • Возвращает символ > и начинает прием данных с последовательного порта. Когда длина данных доходит до значения <length>, данные отправляются; если длина данных превышает значение <length>, данные отбрасываются и команда возвращает
    busy
  • Если соединение не может быть установлено, или если это не TCP соединение, или буфер полон, или в случае возникновения каких-либо других ошибок, команда возвращает:
    ERROR
  • Если данные переданы успешно,
    • для одиночного соединения отклик будет таким:
      <segment ID>,SEND OK
    • для нескольких соединений отклик будет таким:
      <link ID>,<segment ID>,SEND OK
  • В случае неудачи система вернет:
    SEND FAIL
Параметры
  • <link ID> – ID соединения (0–4), используется при нескольких соединениях
  • <segment ID> – uint32; ID, назначаемый каждому пакету данных, начиная с 1; номер ID увеличивается на 1 каждый раз, когда пакет данных записывается в буфер;
  • <length> – длина данных; максимум 2048 байтов.
Примечания
  • Данная команда только записывает данные в TCP буфер отправки, поэтому она может вызываться постоянно, и пользователю нет необходимости ждать SEND OK; если TCP сегмент отправлен успешно, она вернет <segment ID>,SEND OK.
  • До того момента, когда длина данных достигнет значения <length>, ввод +++ может переключить обратно в режим команд, и принятые ранее данные будут отброшены.
  • Данная команда НЕ может использоваться в SSL соединениях.
AT+CIPBUFRESET – сбросить счетчик ID сегментов
Команда установки
  1. Одиночное соединение (+CIPMUX=0):
    AT+CIPBUFRESET
  2. Несколько соединений (+CIPMUX=1):
    AT+CIPBUFRESET=<link ID>
Отклик OK

Если соединение не установлено, или еще есть данные, ожидающие отправки, отклик будет следующим:

ERROR

Параметры <link ID> – ID соединения (0–4), используется при нескольких соединениях.
Примечание Данная команда может использоваться, только когда используется AT+CIPSENDBUF.
AT+CIPBUFSTATUS – проверить состояние TCP буфера отправки
Команда установки
  1. Одиночное соединение (+CIPMUX=0):
    AT+CIPBUFSTATUS
  2. Несколько соединений (+CIPMUX=1):
    AT+CIPBUFSTATUS=<link ID>
Отклик <next segment ID>,<segment ID sent>,<segment ID successfully sent>,<remain buffer
size>,<queue number>
OK
Параметры
  • <next segment ID> – следующий ID сегмента, предоставляемый AT+CIPSENDBUF;
  • <segment ID sent> – ID последнего отправленного TCP сегмента;
  • вызвать AT+CIPBUFRESET, чтобы сбросить счетчик, можно, только когда <next segment ID> – <segment ID sent> = 1;
  • <segment ID successfully sent> – ID последнего успешно отправленного TCP сегмента;
  • <remain buffer size> – оставшийся размер TCP буфера отправки;
  • <queue number> – доступный размер TCP очереди; это значение не является надежным и может использоваться только для справки.
Примечания Данная команда не может использоваться для SSL соединений.
Пример Например, при одиночном соединении, команда AT+CIPBUFSTATUS вернула:
20,15,10,200,7
Описание:

  • 20 – означает, что ID последнего сегмента был равен 19; поэтому при следующем вызове AT+CIPSENDBUF будет возвращен ID сегмента, равный 20;
  • 15 – означает, что TCP сегмент с ID 15 был отправлен последним, но отправка этого сегмента может быть неудачной;
  • 10 – означает, что TCP сегмент с ID 10 был отправлен успешно;
  • 200 – означает, что оставшийся размер TCP буфера отправки равен 200 байтов;
  • 7 – доступный размер TCP очереди; этот параметр ненадежен и может использоваться только для справки; когда размер очереди равен 0, то для отправки нет TCP данных.
AT+CIPCHECKSEQ – проверить, был ли конкретный сегмент отправлен успешно
Команда установки
  1. Одиночное соединение (+CIPMUX=0):
    AT+CIPCHECKSEQ=<segment ID>
  2. Несколько соединений (+CIPMUX=1):
    AT+CIPCHECKSEQ=<link ID>,<segment ID>
Отклик [<link ID>,]<segment ID>,<status>
OK
Параметры
  • Данная команда может использоваться только для получения статуса максимум последних 32 сегментов.
  • [<link ID>] – ID соединения (0–4), используется при нескольких соединениях;
  • <segment ID> – ID сегмента, предоставленный при вызове AT+CIPSENDBUF;
  • <status>:
    • FALSE – отправка сегмента неудачна;
    • TRUE – сегмент был отправлен успешно.
Примечания Данная команда может использоваться, только когда используется AT+CIPSENDBUF.
AT+CIPCLOSE – закрыть TCP/UDP/SSL соединение
Команда Команда установки (используется при нескольких соединениях):
AT+CIPCLOSE=<link ID>
Назначение: закрывает TCP/UDP соединения.
Команда выполнения (используется при нескольких соединениях):
AT+CIPCLOSE
Отклик OK
Параметры <link ID> – ID соединения, которое необходимо закрыть. Когда ID равен 5, будут закрыты все соединения. (В режиме сервера ID 5 не действует.)  
AT+CIFSR – получить локальный IP адрес
Команда выполнения AT+CIFSR
Отклик +CIFSR:APIP,<SoftAP IP address>
+CIFSR:APMAC,<SoftAP MAC address>
+CIFSR:STAIP,<Station IP address>
+CIFSR:STAMAC,<Station MAC address>
OK
Параметры
  • <SoftAP IP address> – IP адрес точки доступа SoftAP ESP8266;
  • <SoftAP MAC address> – MAC адрес точки доступа SoftAP ESP8266;
  • <Station IP address> – IP адрес станции ESP8266;
  • <Station MAC address> – MAC адрес станции ESP8266;
Примечание IP адрес станции может быть запрошен, только когда станция ESP8266 подключена к точке доступа.
AT+CIPMUX – включить или выключить множественные соединения
Команда Команда запроса:
AT+CIPMUX?
Команда установки:
AT+CIPMUX=<mode>
Назначение: установить тип соединений.
Отклик +CIPMUX:<mode>
OK
OK
Параметры <mode>:

  • 0 – одно соединение;
  • 1 – несколько соединений.
Примечания
  • Режим по умолчанию – это режим одного соединения.
  • Несколько соединений может быть включено, только когда прозрачная передача выключена (AT+CIPMODE=0).
  • Этот режим может быть изменен, только когда все соединения отключены.
  • Если запущен TCP сервер, то перед активацией режима одного соединения он должен быть удален (AT+CIPSERVER=0).
Пример AT+CIPMUX=1
AT+CIPSERVER – удалить/создать TCP сервер
Команда установки AT+CIPSERVER=<mode>[,<port>]
Отклик OK
Параметры
  • <mode>:
    • 0 – удалить сервер
    • 1 – создать сервер
  • [<port>] – номер порта; по умолчанию 333.
Примечания
  • TCP сервер может быть создан, только когда активирован режим нескольких соединений (AT+CIPMUX=1).
  • При создании TCP сервера автоматически создается монитор сервера.
  • Когда клиент подключается к серверу, он забирает одно соединение и ему назначается ID.
Пример AT+CIPMUX=1
AT+CIPSERVER=1,1001
AT+CIPSERVERMAXCONN – установить максимальное количество соединений, допускаемое сервером
Команда Команда запроса:
AT+CIPSERVERMAXCONN?
Назначение: предоставить максимальное количество клиентов, которые могут быть подключены к TCP или SSL серверу.
Команда установки:
AT+CIPSERVERMAXCONN=<num>
Назначение: устанавливает максимальное количество клиентов, которые могут быть подключены к TCP или SSL серверу.
Отклик +CIPSERVERMAXCONN:<num>
OK
OK
Параметры <num> – максимальное количество клиентов, которые могут быть подключены к TCP или SSL серверу; диапазон [1, 5].
Примечания Чтобы выставить эту настройку, вы должны вызвать AT+CIPSERVERMAXCONN=<num> до создания сервера.
Пример AT+CIPMUX=1
AT+CIPSERVERMAXCONN=2
AT+CIPSERVER=1,80
AT+CIPMODE – установить режим передачи
Команда выполнения Команда запроса:
AT+CIPMODE?
Назначение: предоставить информацию о режиме передачи.
Команда установки:
AT+CIPMODE=<mode>
Назначение: установить режим передачи.
Отклик +CIPMODE:<mode>
OK
OK
Параметры <mode>:

  • 0 – нормальный режим передачи;
  • 1 – режим сквозной передачи UART-WiFi (прозрачная передача), который может быть включен только в режиме одного TCP соединения или в UDP режиме, когда удаленный IP адрес и порт не изменяются.
Примечания
  • Изменения конфигурации не сохраняются во флеш-памяти.
  • Если во время сквозной передачи UART-WiFi TCP соединение разрывается, ESP8266 попытается восстановить соединение, пока ввод +++ не выйдет из передачи. Если TCP соединение разрывается в режиме нормальной TCP передачи, ESP8266 выдаст подсказку и не будет пытаться восстановить соединение.
Пример AT+CIPMODE=1
AT+SAVETRANSLINK – сохранить линк прозрачной передачи во флеш-памяти

Сохранить одно TSP соединение во флеш-памяти

Команда установки AT+SAVETRANSLINK=<mode>,<remote IP or domain name>,<remote port>[,<type>,<TCP keep alive>]
Отклик OK
Параметры
  • <mode>:
    • 0 – ESP8266 НЕ войдет в режим сквозной передачи UART-WiFi при включении питания;
    • 1 – ESP8266 войдет в режим сквозной передачи UART-WiFi при включении питания;
  • <remote IP or domain name> – удаленный IP адрес или доменное имя;
  • <remote port> – удаленный порт;
  • [<type>] – необязательный параметр; TCP или UDP, по умолчанию TCP;
  • [<TCP keep alive>] – временной интервал обнаружения, когда TCP соединение сохраняется; по умолчанию эта функция выключена:
    • 0 – выключить сохранение TCP соединения;
    • 1–7200 – временной интервал обнаружения; единица; секунда.
Примечания
  • Данная команда сохранит во флеш-памяти режим сквозной передачи UART-WiFi и его линк. ESP8266 будет входить в режим сквозной передачи UART-WiFi при любых последующих включениях.
  • Конфигурация будет сохранена во флеш-памяти, если удаленный IP адрес (или доменное имя) будет корректен.
Пример AT+SAVETRANSLINK=1,"192.168.6.110",1002,"TCP"

Сохранить UDP передачу во флеш-памяти

Команда установки AT+SAVETRANSLINK=<mode>,<remote IP>,<remote port>,<type>[,<UDP local port>]
Отклик OK
Параметры
  • <mode>:
    • 0 – ESP8266 НЕ войдет в режим сквозной передачи UART-WiFi при включении питания;
    • 1 – ESP8266 войдет в режим сквозной передачи UART-WiFi при включении питания;
  • <remote IP> – удаленный IP адрес или доменное имя;
  • <remote port> – удаленный порт;
  • <type> – TCP или UDP, по умолчанию TCP;
  • [<UDP local port>] – необязательный параметр; локальный порт UDP передачи, включаемый при включении модуля.
Примечания
  • Данная команда сохранит во флеш-памяти режим сквозной передачи UART-WiFi и его линк. ESP8266 будет входить в режим сквозной передачи UART-WiFi при любых последующих включениях.
  • Конфигурация будет сохранена во флеш-памяти, если удаленный IP адрес (или доменное имя) будет корректен.
Пример AT+SAVETRANSLINK=1,"192.168.6.110",1002,"UDP",1005
AT+CIPSTO – установить время ожидания TCP сервера
Команда Команда запроса:
AT+CIPSTO?
Назанчение: проверить время ожидания TCP сервера.
Команда установки:
AT+CIPSTO=<time>
Назначение: установить время ожидания TCP сервера.
Отклик +CIPSTO:<time>
OK
OK
Параметры <time> – время ожидания TCP сервера в диапазоне 0–7200 секунд.
Примечания
  • ESP8266, настроенный как TCP сервер, отключится от TCP клиента, который не связывается с ним в течение времени ожидания.
  • Если AT+CIPSTO=0, соединение никогда не превысит тайм-аут. Данная конфигурация не рекомендуется.
Пример AT+CIPMUX=1
AT+CIPSERVER=1,1001
AT+CIPSTO=10
AT+PING – отправить ping-пакеты
Команда установки AT+PING=<IP>
Назначение: отправить ping пакеты.
Отклик +<time>
OK

или

+timeout
ERROR

Параметры
  • <IP> – строка; IP адрес или доменное имя хоста;
  • <time> – время отклика на ping.
Примеры AT+PING="192.168.1.1"
AT+PING="www.baidu.com"
AT+CIUPDATE – обновить программное обеспечение через Wi-Fi
Команда выполнения AT+CIUPDATE
Назначение: обновить программное обеспечение.
Отклик +CIUPDATE:<n>
OK
Параметры <n>:

  • 1 – найти сервер;
  • 2 – подключиться к серверу;
  • 3 – получить версию программного обеспечения;
  • 4 – начать обновление.
Примечания
  • Скорость обновления зависит от подключения к сети.
  • ERROR будет возвращен, если обновление завершится неудачей из-за проблем с сетью. Подождите некоторое время, прежде чем повторять попытку.
Примечания
  • При использовании AT BIN от Espressif (/ESP8266_NONOS_SDK/bin/at), AT+CIUPDATE скачает новый AT BIN из Espressif Cloud.
  • При использовании AT BIN, компилированного пользователем, пользователям необходимо создать своё собственное обновление AT+CIUPDATE. Espressif предоставляет демо в качестве справки для локального обновления (/ESP8266_NONOS_SDK/example/at).
  • Предполагается, что после обновления AT команд пользователи вызывают AT+RESTORE для восстановления заводских настроек по умолчанию.
AT+CIPDINFO – показывать удаленные IP адрес и порт с +IPD
Команда установки AT+CIPDINFO=<mode>
Отклик OK
Параметры <mode>:

  • 0 – не показывать удаленные IP адрес и порт с +IPD;
  • 1 – показывать удаленные IP адрес и порт с +IPD.
Пример AT+CIPDINFO=1
+IPD – получить сетевые данные
Отклик Одиночное соединение (+CIPMUX=0):
+IPD,<len>[,<remote IP>,<remote port>]:<data>
Несколько соединений (+CIPMUX=1):
+IPD,<link ID>,<len>[,<remote IP>,<remote port>]:<data>
Параметры Данная команда корректна в нормальном командном режиме. Когда модуль принимает сетевые данные, он посылает эти данные через последовательный порт с помощью команды +IPD.

  • [<remote IP>] – удаленный IP адрес, включается командой AT+CIPDINFO=1;
  • [<remote port>] – удаленный порт, включается командой AT+CIPDINFO=1;
  • <link ID> – ID соединения;
  • <len> – длина данных;
  • <data> – принятые данные.
AT+CIPSNTPCFG – установить конфигурация SNTP
Команда Команда запроса:
AT+CIPSNTPCFG?
Команда установки:
AT+CIPSNTPCFG=<enable>[,<timezone>][,<SNTP server0>][,<SNTP server1>][,<SNTP server2>]
Отклик +CIPSNTPCFG:<enable>,<timezone>,<SNTP server0>[,<SNTP server1>,<SNTP server2>]
OK
OK
Параметры
  • <enable>:
    • 0 – SNTP выключен;
    • 1 – SNTP включен;
  • [<timezone>] – временная зона; диапазон: [-11, 13]; если SNTP включен, то временная зона <timezone> должна быть установлена;
  • [<SNTP server0>] – необязательный параметр, указывающий первый SNTP сервер;
  • [<SNTP server1>] – необязательный параметр, указывающий второй SNTP сервер;
  • [<SNTP server2>] – необязательный параметр, указывающий третий SNTP сервер.
Пример AT+CIPSNTPCFG=1,8,»cn.ntp.org.cn»,»ntp.sjtu.edu.cn»,»us.pool.ntp.org»
Примечание Если параметры <SNTP server> не были установлены, то по умолчанию используются серверы «cn.ntp.org.cn«, «ntp.sjtu.edu.cn» и «us.pool.ntp.org«.
AT+CIPSNTPTIME – проверить SNTP время
Команда запроса AT+CIPSNTPTIME?
Отклик +CIPSNTPTIME:<time>
OK
Параметры <time> – SNTP время.

Например,
+CIPSNTPTIME:Thu Aug 04 14:48:05 2016
OK

Пример AT+CWMODE=1                                       // установить режим доступа
AT+CWJAP="DemoAP","password"     // подключиться к роутеру, доступ в интернет
AT+CIPSNTPCFG=1,8                          // установить временную зону
AT+CIPSNTPTIME?                              // получить время
AT+CIPDNS_CUR – установить определенные пользователем DNS серверы; конфигурация не сохраняется во флеш-памяти
Команда Команда запроса:
AT+CIPDNS_CUR?
Назначение: получить текущий DNS сервер.
Команда установки:
AT+CIPDNS_CUR=<enable>[,<DNS server0>,<DNS server1>]
Назначение: установить определенные пользователем DNS серверы.
Отклик [+CIPDNS_CUR:<DNS server0>]
[+CIPDNS_CUR:<DNS server1>]

OK
OK
Параметры
  • <enable>:
    • 0 – отключить использование определенных пользователем DNS серверов;
    • 1 – включить использование определенных пользователем DNS серверов;
  • [<DNS server0>] –необязательный параметр, указывающий первый DNS сервер;
  • [<DNS server1>] – необязательный параметр, указывающий второй DNS сервер;
Пример AT+CIPDNS_CUR=1,"208.67.220.220"
Примечания
  • Для команды AT+CIPDNS_CUR=0 (отключить использование определенных пользователем DNS серверов) в качестве DNS сервера по умолчанию будет использоваться адрес «208.67.222.222«. Также DNS сервер может быть изменен в соответствии с конфигурацией роутера, к которому подключен чип.
  • Для команды AT+CIPDNS_CUR=1 (включить использование определенных пользователем DNS серверов, но у которой параметры <DNS server> не установлены), в качестве DNS сервера по умолчанию будет использоваться адрес «208.67.222.222«.
AT+CIPDNS_DEF – установить определенные пользователем DNS серверы; конфигурация сохраняется во флеш-памяти
Команда Команда запроса:
AT+CIPDNS_DEF?
Назначение: получить определенные пользователем DNS серверы, которые сохранены во флеш-памяти.
Команда установки:
AT+CIPDNS_DEF=<enable>[,<DNS server0>,<DNS server1>]
Назначение: установить определенные пользователем DNS серверы.
Отклик [+CIPDNS_DEF:<DNS server0>]
[+CIPDNS_DEF:<DNS server1>]

OK
OK
Параметры
  • <enable>:
    • 0 – отключить использование определенных пользователем DNS серверов;
    • 1 – включить использование определенных пользователем DNS серверов;
  • [<DNS server0>] –необязательный параметр, указывающий первый DNS сервер;
  • [<DNS server1>] – необязательный параметр, указывающий второй DNS сервер;
Пример AT+CIPDNS_DEF=1,"208.67.220.220"
Примечания
  • Данная конфигурация сохраняется в области пользовательских параметров во флеш-памяти.
  • Для команды AT+CIPDNS_DEF=0 (отключить использование определенных пользователем DNS серверов) в качестве DNS сервера по умолчанию будет использоваться адрес «208.67.222.222«. Также DNS сервер может быть изменен в соответствии с конфигурацией роутера, к которому подключен чип.
  • Для команды AT+CIPDNS_DEF=1 (включить использование определенных пользователем DNS серверов, но у которой параметры <DNS server> не установлены), в качестве DNS сервера по умолчанию будет использоваться адрес «208.67.222.222«.

Теги

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

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

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

PORT OPEN 115200 // открыли порт кнопкой

AT // проверили работу модуля
OK

AT+GMR // проверили версию прошивки
AT version:0.22.b1.0
SDK version:0.9.6(b1)
OK

AT+CWJAP? // проверили подключение к WiFi
No AP // его нету
OK

AT+CWMODE=1 // перевели в режим Station
OK

AT+CWDHCP=1,1 // включили в режиме Station работу DHCP, а если быть точным, то дали команду ESP получить IP от маршрутизатора
OK

AT+CWLAP // получаем список AP в пределах видимости
+CWLAP:(3,"тутSSIDмоейточкидоступа",-61,"тутMACмоейточкидоступа",4)
OK

AT+CWJAP="тутSSIDмоейточкидоступа","тутпарольмоейточкидоступа" // подаем команду подключиться к нашей точке
OK

AT+CWJAP? // снова проверили подключение к WiFi
+CWJAP:"тутSSIDмоейточкидоступа" // теперь оно есть
OK

AT+RST // презагружаем модуль, чтобы все закрепить
OK

ets Jan  8 2013,rst cause:4, boot mode:(3,7)

wdt reset
load 0x40100000, len 1320, room 16
tail 8
chksum 0xb8
load 0x3ffe8000, len 776, room 0
tail 8
chksum 0xd9
load 0x3ffe8308, len 412, room 0
tail 12
chksum 0xb9
csum 0xb9

2nd boot version : 1.3(b3)
  SPI Speed      : 40MHz
  SPI Mode       : QIO
  SPI Flash Size : 4Mbit
jump to run user1

rlЋя
ready // вот модуль и перезагрузился

AT+CWJAP? // еще раз проверили подключение к WiFi, оно сохранилось и после перезагрузки снова поднялось, автоматом
+CWJAP:"тутSSIDмоейточкидоступа"
OK

AT+CIPSTA? // спрашиваем IP адрес, который наша ESP получила от роутера
+CIPSTA:"192.168.168.7" // а вот и он
OK

// если бы до этого у нас была команда AT+CWDHCP=1,0 - то адрес мы не получали бы от роутера по DHCP, а взяли бы себе сами, попробуем?

AT+CWDHCP=1,0 // посылаем команду на отключение режима DHCP
OK

AT+RST // перезагружаем для применения настроек
OK

ets Jan  8 2013,rst cause:4, boot mode:(3,7)

wdt reset
load 0x40100000, len 1320, room 16
tail 8
chksum 0xb8
load 0x3ffe8000, len 776, room 0
tail 8
chksum 0xd9
load 0x3ffe8308, len 412, room 0
tail 12
chksum 0xb9
csum 0xb9

2nd boot version : 1.3(b3)
  SPI Speed      : 40MHz
  SPI Mode       : QIO
  SPI Flash Size : 4Mbit
jump to run user1

rlЋя
ready // модуль перезагрузился и готов

AT+CWJAP? // проверяем подключение к WiFi
No AP // нет подключения, что за фигня?
OK

AT+CWLAP // проверяем доступные точки
+CWLAP:(3,"тутSSIDмоейточкидоступа",-61,"тутMACмоейточкидоступа",4) // есть наша точка, так в чем же дело?
OK

AT+CWJAP="тутSSIDмоейточкидоступа","тутпарольмоейточкидоступа" // пробуем к ней подключиться
+CWJAP:1
FAIL // фейл, с чего вдруг?

AT+CIPSTA? // проверяем IP который у нас сохранен в память для самоприсвоения при подключении
+CIPSTA:"0.0.0.0" // вот она где собака порылась, в памяти у нас сохранен IP 0.0.0.0 - он некорректен, а так как мы отключили получение IP от роутера по DHCP, то модуль просто не может подключиться с кривым IP
OK

AT+CIPSTA="192.168.168.91" // назначаем нашему ESP сами IP адрес (лишь бы он был свободен и подходил к нашей сети, у меня сеть 192.168.168.0 - 192.168.168.255)
OK

AT+RST // перезагружаем для применения настроек
OK

ets Jan  8 2013,rst cause:4, boot mode:(3,7)

wdt reset
load 0x40100000, len 1320, room 16
tail 8
chksum 0xb8
load 0x3ffe8000, len 776, room 0
tail 8
chksum 0xd9
load 0x3ffe8308, len 412, room 0
tail 12
chksum 0xb9
csum 0xb9

2nd boot version : 1.3(b3)
  SPI Speed      : 40MHz
  SPI Mode       : QIO
  SPI Flash Size : 4Mbit
jump to run user1

rlЋя
ready // модуль перезагрузился и готов

AT+CIPSTA? // проверяем IP который у нас сохранен в память для самоприсвоения при подключении
+CIPSTA:"192.168.168.91" // наши настройки сохранились, хорошо
OK

AT+CWJAP? // проверяем подключение к WiFi
+CWJAP:"тутSSIDмоейточкидоступа" // опа, оно поднялось само, теперь конфликта IP нет
OK

// далее можно по пинговать модуль с чего-то в этой же сети, например, с ПК из командной строки cmd
C:WindowsSystem32>ping 192.168.168.91

Обмен пакетами с 192.168.168.91 по с 32 байтами данных:
Ответ от 192.168.168.91: число байт=32 время=67мс TTL=255
Ответ от 192.168.168.91: число байт=32 время=84мс TTL=255
Ответ от 192.168.168.91: число байт=32 время=2мс TTL=255
Ответ от 192.168.168.91: число байт=32 время=32мс TTL=255

Статистика Ping для 192.168.168.91:
    Пакетов: отправлено = 4, получено = 4, потеряно = 0
    (0% потерь)
Приблизительное время приема-передачи в мс:
    Минимальное = 2мсек, Максимальное = 84 мсек, Среднее = 46 мсек

// Ну вот, модуль пингуется, все отлично, можно идти дальше, снова возвращаемся в ESPlorer

AT+CWDHCP=1,1 // Я переключусь обратно на получение IP от роутера, мне так удобнее
OK

AT+RST // рестарт
OK

ets Jan  8 2013,rst cause:4, boot mode:(3,7)

wdt reset
load 0x40100000, len 1320, room 16
tail 8
chksum 0xb8
load 0x3ffe8000, len 776, room 0
tail 8
chksum 0xd9
load 0x3ffe8308, len 412, room 0
tail 12
chksum 0xb9
csum 0xb9

2nd boot version : 1.3(b3)
  SPI Speed      : 40MHz
  SPI Mode       : QIO
  SPI Flash Size : 4Mbit
jump to run user1

rlЋя
ready // модуль готов

AT+CWJAP? // проверка подключения
+CWJAP:"тутSSIDмоейточкидоступа"
OK

AT+CIPSTA? // проверка IP
+CIPSTA:"192.168.168.7" // IP назначен - запомнили его
OK

// тут можно снова по пинговать, у меня пингуется
// дальше нам надо поднять сервер
// для работы TCP сервера на ESP по документации у нас должно быть CIPMODE=0 и CIPMUX=1
// причем это должно быть именно в таком порядке и именно до поднятия сервера, иначе оно просто не выставится

AT+CIPMODE=0 // выставляем CIPMODE
OK

AT+CIPMUX=1 // выставляем CIPMUX
OK

AT+CIPMODE? // проверяем CIPMODE
+CIPMODE:0
OK

AT+CIPMUX? // проверяем CIPMUX
+CIPMUX:1
OK

// все выставлено верно, можно сначала начать с проверки, может оно уже верно выставлено ;)

AT+CIPSERVER=1,80 // поднимаем (1) TCP сервер на порту (80)
OK

// вот, собственно, то, чего вы хотите, теперь можно попробовать с какой-нибудь программы подключиться к нашему серверу
// параметры такие: TCP на IP 192.168.168.7 и порт 80
// я попробую через hercules отсюда http://www.hw-group.com/products/hercules/index_en.html
// в режиме TCP client ввожу IP и порт и жму Connect
// после подключения нажимаю отправить строку "hello ESP"
// При этом в ESPlorer вижу следующее:

0,CONNECT // подключился клиент на соединение с индексом (0)

+IPD,0,9:hello ESP // по соединению с индексом (0) получили (9) байт данных и сами байты "hello ESP" - ровно 9 символов

// попробуем отправить что-то в ответ, набираем в ESPlorer команды
AT+CIPSEND=0,5 // отправить в соединение с индексом (0) сообщение длинной (5) байт
OK
> // ESP ждет от нас ровно 5 байт! важно теперь отправить ровно 5 символов/байт

hi! // я отправляю "hi!", но так как в ESPlorer выставлено добавлять CR и LF к каждому сообщению, то как раз получается 5 символов в сумме
SEND OK // ESP отрапортовал, что отправил

// далее в hercules отключусь - Diconnect
// в ESPlorer получу:

0,CLOSED // клиент отключен на соединении с индексом (0)

     

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом — просто выделите ошибочное слово или фразу и нажмите Shift Enter.

ESP8266: справочник по командам AT Печать

Добавил(а) microsin

  

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

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

ESP 01 top 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 должна оканчиваться на последовательностью символов rn.
• Если команда выполнена успешно, то сообщение о её завершении оканчивается на OK, иначе на ERROR или FAIL.

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

ESP 01 putty config

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

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

number информация о версии, длина 8 байт.

Команда Тип Ответ Описание
AT+GSLP=time set time OK Переводит модуль в режим сна на указанное время.

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

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

Команда Тип Ответ
ATEn set OK

ATE0 запрещает эхо.
ATE1 разрешает эхо.

[Команды 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
Команда Тип Ответ Описание
AT+CWQAP execute OK Производит отключение модуля ESP8266 от точки доступа.

Инструкция конфигурирует режим работы 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+CWLIF execute ipaddr OK Выводит список IP-адресов станций, подключенных к модулю ESP8266, находящемуся в режиме softAP (точка доступа).

ipaddr адрес IP станции Wi-Fi, подключенной к модулю ESP8266, работающему как точка доступа.

Команда Тип Ответ
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 нет (сервер может быть запущен, но все сетевые подключения разорваны):

Примечание: если нет обмена данными с сервером 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+CIPCLOSE=id set OK Закрывает соединение TCP или UDP. Применяется для режима множественных соединений.
AT+CIPCLOSE execute OK Закрывает соединение TCP или UDP. Применяется для режима одиночных соединений.

id номер идентификатора соединения, которое нужно закрыть. Параметр id должен быть от 0 до 4, если нужно закрыть одно соединение. Если указать 5, то закроются все соединения.

Команда Тип Ответ Описание
AT+CIFSR execute +CIFSR:ip
OK
Выводит значение локального IP-адреса.

ip значение IP-адреса для режима станции или softAP.

Команда Тип Ответ Описание
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+CIPSTO? query +CIPSTO:time Выводит значение таймаута сервера.
AT+CIPSTO=time set OK/ERROR Устанавливает значение таймаута сервера.

time таймаут сервера в секундах, может быть установлен в диапазоне 0..7200 секунд.

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

n:

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

[Разное]

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

id идентификатор соединения (0..4).
len длина полученных данных.
data принятые данные.

Команда Тип Ответ Описание
AT+IPR=baud execute OK/ERROR Настраивает скорость работы порта TTL RS232.

baud скорость в бодах.

[Ссылки]

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

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

Эта тема


  • Везде

  • Эта тема
  • Этот форум

  • Расширенный поиск

Поиск

AT Command
Description

AT+CIPSERVER configures the module as the server. It will then enable external clients to connect to the module. The port number is set for lisening.

Support Simcom Module Tutorial
Examples

Configure the module to server mode and listen to port 8766
AT+CIPSERVER=1,8766

OK

SERVER OK

Keywords AT+CIPSERVER syntax, examples, parameters, error, input, response.

With Online AT Command Tester tool, you can test Simcom TCP/IP feature.

You can also send commands to set up TCP/IP connection in the ‘Script Mode’ tab of the AT Command Tester,


//Check the registration status
AT+CREG?

//Check attach status
AT+CGACT?

//Attach to the network
AT+CGATT=1

//Wait for Attach
WAIT=7

//Start task ans set the APN. Check your carrier APN
AT+CSTT="bluevia.movistar.es"

//Bring up the wireless connection
AT+CIICR

//Wait for bringup
WAIT=6

//Get the local IP address
AT+CIFSR

//Start a TCP connection to remote address. Port 80 is TCP.
AT+CIPSTART="TCP","74.124.194.252","80"

Понравилась статья? Поделить с друзьями:
  • At cgatt 1 error
  • At cardlock error
  • At 95 confidence what is the margin of error
  • At 145te коды ошибок
  • Asyncpg exceptions postgressyntaxerror syntax error at or near