Views: 5066
AT команды связанные с функцией TCP/IP
В этом разделе описаны команды которые позволяют устанавливать соединения между серверами и клиентами в сети. Приведено описание команд и примеры их выполнения.
Функции TCP/IP | ||
Команда | Описание | |
1 | AT+ CIPSTATUS | Получить статус подключения. |
2 | AT+ CIPDOMAIN | Функция DNS |
3 | AT+CIPSTART | Устанавливает TCP-соединение, передачу UDP или соединение SSL |
4 | AT+CIPSSLSIZE | Устанавливает размер буфера SSL |
5 | AT+CIPSEND | Отправляет данные |
6 | AT+CIPSENDEX | Отправляет данные |
7 | AT+CIPSENDBUF | Записывает данные в TCP-send-buffe |
8 | AT+CIPBUFRESET | Сбрасывает счетчик количества идентификаторов сегмента |
9 | AT+CIPBUFSTATUS | Проверяет состояние TCP-send-buffer |
10 | AT+CIPCHECKSEQ | Проверка успешной отправки конкретного сегмента. |
11 | AT+CIPCLOSE | Закрывает соединение TCP/UDP/SSL |
12 | AT+CIFSR | Получить локальный IP-адрес |
13 | AT+CIPMUX | Включение/выключение режима нескольких подключений (Multiple connections) |
14 | AT+CIPSERVER | Удаляет/создает TCP-сервер |
15 | AT+CIPSERVERMAXCONN | Установить максимальное количество соединении, разрешенное сервером |
16 | AT+CIPMODE | Настраивает режим передачи |
17 | AT+SAVETRANSLINK | Сохраняет прозрачную линию передачи во флэш-памяти |
18 | AT+CIPSTO | Устанавливает таймаут, когда ESP8266 работает как сервер TCP |
19 | AT+PING | Ping-пакеты |
20 | AT+CIUPDATE | Обновляет программное обеспечение через сеть |
21 | AT+CIPDINFO | Показывает удаленный IP-адрес и удаленный порт с + IPD |
22 | +IPD | Прием данных сети (сообщение) |
23 | AT+CIPSNTPCFG | Устанавливает конфигурацию SNTP |
24 | AT+CIPSNTPTIME | Запросит время SNTP |
25 | AT+CIPDNS_CUR | Устанавливает пользовательские DNS-серверы; конфигурация не сохраняется во flash |
26 | AT+CIPDNS_DEF | Устанавливает пользовательские DNS-серверы; конфигурация, сохраненная во flash |
Команды
1 AT+ CIPSTATUS Получить статус подключения.
Получить статус подключения. | |
Команда | AT+CIPSTATUS |
Отклик | STATUS:<stat>
+CIPSTATUS:<link ID>,<type>,<remote IP>,<remote port>,<local port>,<tetype> |
Параметр |
|
Пример (команда – ответ) соединение с сервером установлено TCP |
AT+CIPSTATUS
STATUS:3 +CIPSTATUS:0,”TCP”,”192.168.4.103″,1112,49305,0 OK |
Пример (команда – ответ) ESP8266 подключена к AP WIFI CONNECTED WIFI GOT IP |
AT+CIPSTATUS
STATUS:2 OK |
Пример (команда – ответ) ESP8266 не подключена к AP WIFI DISCONNECT |
AT+CIPSTATUS
STATUS:5 OK |
2 AT+ CIPDOMAIN Функция DNS
Команда | AT+CIPDOMAIN=<domain name> |
Отклик | +CIPDOMAIN:<IP address>
OK или DNS Fail ERROR |
Параметр | <domain name>: имя домена, длина должна быть меньше 64 байт. |
Пример (команда – ответ) | AT+CWMODE=1
OK AT+CWJAP=”SSID”,”password” WIFI CONNECTED WIFI GOT IP OK AT+CIPDOMAIN=”catcatcat” DNS Fail ERROR AT+CIPDOMAIN=”catcatcat.com” +CIPDOMAIN:146.66.71.254 OK |
3 AT+CIPSTART Устанавливает TCP-соединение, передачу UDP или соединение SSL
Установить TCP-соединение | |
Команда (Single connection) | (AT+CIPMUX=0) AT+CIPSTART=<type>,<remote IP>,<remote port>[,<TCP keep alive>] |
Команда (Multiple connections) | (AT+CIPMUX=1) AT+CIPSTART=<link ID>,<type>,<remote IP>,<remote port>[,<TCP keep alive>] |
Отклик | OK или ERROR Если TCP-соединение уже установлено, отклик: ALREADY CONNECTED – //УЖЕ ПОДКЛЮЧЕН |
Параметр |
Модуль пытается подключиться 3 секунды, потом, если нет соединения, закрывает соединение, независимо от TCP keep-alive |
Пример (команда – ответ) (Single connection) |
AT+CIPSTART=”TCP”,”iot.espressif.cn”,8000
CONNECT OK |
Пример (команда – ответ) (Single connection) |
AT+CIPSTART=”TCP”,”192.168.4.103″,1112
CONNECT OK |
Пример (команда – ответ)(Multiple connections) | AT+CIPMUX=1
OK AT+CIPSTART=4,”TCP”,”192.168.4.103″,1112 4,CONNECT OK |
Пример (команда – ответ) | AT+CIPSTART=”TCP”,”192.168.4.103″,1112
CONNECT OK AT+CIPSTART=”TCP”,”iot.espressif.cn”,8000 ALREADY CONNECTED |
Установить UDP соединение | |
Команда (Single connection) | (AT+CIPMUX=0) AT+CIPSTART=<type>,<remote IP>,<remote port>[,(<UDP local port>),(<UDP mode>)] |
Команда (Multiple connections) | (AT+CIPMUX=1) AT+CIPSTART=<link ID>,<type>,<remote IP>,<remote port>[,(<UDP local port>),(<UDP mode>)] |
Отклик | OK или ERROR Если UDP-соединение уже установлено, отклик: ALREADY CONNECTED – //УЖЕ ПОДКЛЮЧЕН |
Параметр |
Примечание: Модуль пытается подключиться 3 секунды, потом, если нет соединения, закрывает соединение, независимо от TCP keep-alive |
Пример (команда – ответ) (Single connection) |
AT+CIPMUX=0
OK AT+CIPSTART=”UDP”,”192.168.4.103″,1112,1002,2 CONNECT OK |
Пример (команда – ответ)(Multiple connections) | AT+CIPMUX=1
OK AT+CIPSTART=3,”UDP”,”192.168.4.103″,1112,1002,2 3,CONNECT OK |
Установить SSL-соединение | |
Команда | AT+CIPSTART=[<link ID>,]<type>,<remote IP>,<remote port>[,<TCP keep alive>] |
Отклик | OK или ERROR Если TCP-соединение уже установлено, отклик: ALREADY CONNECTED – //УЖЕ ПОДКЛЮЧЕН |
Параметр |
Модуль пытается подключиться 3 секунды, потом, если нет соединения, закрывает соединение, независимо от TCP keep-alive |
Пример (команда – ответ) |
AT+CIPSTART=”SSL”,”iot.espressif.cn”,8443 |
4 AT+CIPSSLSIZE Устанавливает размер буфера SSL
Команда запроса | AT+CIPSSLSIZE=<size> |
Отклик | OK |
Параметр | <size>: размер буфера SSL; диапазон значений: [2048, 4096]. |
Пример (команда – ответ) | AT+CIPSSLSIZE=4096
OK |
5 AT+CIPSEND Отправляет данные
Функция: для настройки на данные длины в нормальных передачах режима. | Функция: для запуска отправки данных в прозрачной передачи режиме. | |
Команда (Single connection) | (AT+CIPMUX=0) AT+CIPSEND=<length> |
AT+CIPSEND |
Команда (Multiple connections) | (AT+CIPMUX=1) AT+CIPSEND=<link ID>,<length> |
|
UDP- передача | AT+CIPSEND=[<link ID>,]<length>[,<remote IP>,<remote port>] Удаленный IP-адрес и порты могут быть установлены в UDP- передаче: |
|
Отклик | Отправлять данные определенной длины. Wrap return> после команды Set. Начните получать последовательные данные. Когда длина данных, определяемая длиной <length>, выполняется, начинается передача данных. Если соединение не может быть установлено или будет прервано во время передачи данных, система вернет: ERROR Если данные успешно передаются, система возвращает: SEND OK Если это не удалось, система вернет: SEND FAIL |
Wrap return > после выполнения этой команды. Введите прозрачную передачу, с интервалом 20 мс между каждым пакетом, и с максимумом в 2048 байт в пакете. Когда получен следующий пакет, содержащий только +++ ESP8266 возвращается в режим нормальной команды. Подождите, по крайней мере, одну секунду перед отправкой следующей команды AT. Эта команда может только быть использована в режиме прозрачной передачи , которая использует только Single connection. Для прозрачной передачи UDP значение <UDP mode> должно быть 0 при использовании AT+CIPSTART. |
Параметр |
|
|
Пример (команда – ответ) | AT+CIPMUX=0
OK AT+CIPSTART=”TCP”,”192.168.4.103″,1112 CONNECT OK AT+CIPSEND=10 OK Recv 10 bytes SEND OK |
|
Пример (команда – ответ) | AT+CIPSEND=10
OK SEND Canceled |
Отмена передачи буфера вводом +++ |
Примечание | AT+CIPSEND=10
OK busy s… Recv 10 bytes SEND OK |
При передачи данных свыше установленного размера, возвращает их в эхо. |
6 AT+CIPSENDEX Отправляет данные
Функция: настройка длины данных в нормальном режиме передачи. | |
Команда (Single connection) | (AT+CIPMUX=0) AT+CIPSENDEX=<length> |
Команда (Multiple connections) | (AT+CIPMUX=1) AT+CIPSENDEX=<link ID>,<length> |
UDP- передача | AT+CIPSENDEX=[<link ID>,]<length>[,<remote IP>,<remote port>]
Удаленный IP-адрес и порты могут быть установлены в UDP- передаче: |
Отклик | Отправляет данные определенной длины. Wrap return > после команды Set. Начните получать последовательные данные. Когда выполняется требование длины данных, определяемое <length>, или когда \0 появляется в данных, начинается передача. Если соединение не может быть установлено или отключено во время передачи, система возвращает: ERROR Если данные успешно переданы, система возвращает: SEND OK Если это не удалось, система вернет: SEND FAIL |
Параметр |
|
Пример (команда – ответ) (Single connection) отправка больше байт чем ожидает буфер |
AT+CIPSENDEX=10
OK busy s… Recv 10 bytes SEND OK
|
Пример (команда – ответ) (Single connection) отправка 10 байт |
AT+CIPSENDEX=10
OK Recv 10 bytes SEND OK |
Пример (команда – ответ) (Single connection) прерывание командой +++ |
AT+CIPSENDEX=10
OK SEND Canceled |
Пример (команда – ответ) (Single connection) прерывание командой \0 |
AT+CIPSENDEX=10
OK busy s… Recv 0 bytes SEND FAIL |
Пример (команда – ответ) (Single connection) передача командой меньшего числа байт с командой \0 hex 5C 30 |
AT+CIPSENDEX=10
OK busy s… Recv 6 bytes SEND OK |
Примечание | Пакеты загрузки буфера должны передаваться с интервалом не менее 20 мс, для определение модулям команд управления. |
7 AT+CIPSENDBUF Записывает данные в TCP-send-buffe
Команда (Single connection) | (AT+CIPMUX=0) AT+CIPSENDBUF=<length> |
Команда (Multiple connections) | (AT+CIPMUX=1) AT+CIPSENDBUF=<link ID>,<length> |
Отклик | <current segment ID>,<segment ID of which sent successfully> OK >
|
Параметр |
|
Пример (команда – ответ) | AT+CIPSENDBUF=20
1,0 OK > Recv 20 bytes1, SEND OK |
Пример (команда – ответ) при попытки загрузить большее количество байт лишние появляются в эхо | AT+CIPSENDBUF=30
2,1 OK > 111 busy s… Recv 30 bytes2, SEND OK |
Пример (команда – ответ) отмена командой +++ | AT+CIPSENDBUF=60
2,1 OK SEND Canceled |
Примечание |
|
8 AT+CIPBUFRESET Сбрасывает счетчик количества идентификаторов сегмента
Команда (Single connection) | (AT+CIPMUX=0) AT+CIPBUFRESET |
Команда (Multiple connections) | (AT+CIPMUX=1) AT+CIPBUFRESET=<link ID> |
Отклик | OK Если соединение не установлено или все еще есть данные TCP, ожидающие отправки, Отклик будет: ERROR |
Параметр | <link ID>: идентификатор соединения (0 ~ 4) для нескольких соединений. |
Пример (команда – ответ) | AT+CIPSENDBUF=60
5,4 OK SEND Canceled AT+CIPBUFRESET OK AT+CIPSENDBUF=60 1,0 OK |
Примечание | Эта команда может использоваться только при использовании AT+CIPSENDBUF |
9 AT+CIPBUFSTATUS Проверяет состояние TCP-send-buffer
Команда (Single connection) | (AT+CIPMUX=0) AT+CIPBUFSTATUS |
Команда (Multiple connections) | (AT+CIPMUX=1) AT+CIPBUFSTATUS=<link ID> |
Отклик | <next segment ID>,<segment ID sent >,<segment ID successfully sent>,<remain buffer size>,<queue number> OK |
Параметр |
|
Пример (команда – ответ) | Например, в одном соединении команда AT+CIPBUFSTATUS возвращает: 20,15,10,200,7 Описание:
|
Пример (команда – ответ) | AT+CIPBUFSTATUS
2,1,1,2920,8 OK |
Примечание | Эта команда не может использоваться для подключения SSL. |
10 AT+CIPCHECKSEQ Проверка успешной отправки конкретного сегмента.
Команда (Single connection) | (AT+CIPMUX=0) AT+CIPCHECKSEQ=<segment ID> |
Команда (Multiple connections) | (AT+CIPMUX=1) AT+CIPCHECKSEQ=<link ID>,<segment ID> |
Отклик | [<link ID>,]<segment ID>,<status> OK |
Параметр |
|
Пример (команда – ответ) | AT+CIPCHECKSEQ=1
1,TRUE OK AT+CIPCHECKSEQ=2 ERROR |
Примечание | Эта команда может использоваться только при использовании AT+CIPSENDBUF. |
11 AT+CIPCLOSE Закрывает соединение TCP/UDP/SSL
Функция: закрывает соединение TCP / UDP. | |
Команда (Single connection) | AT+CIPCLOSE |
Команда (Multiple connections) | AT+CIPCLOSE=<ID> |
Отклик | OK |
Параметр | <link ID>: идентификатор соединения, которое нужно закрыть. Когда идентификатор 5, все соединения будут закрыты. (В режиме сервера, ID – не имеет не эффекта.) |
Пример (команда – ответ) | AT+CIPCLOSE
CLOSED OK |
12 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 |
Параметр | <IP address>:
IP address of the ESP8266 SoftAP; <MAC address>: MAC address of the ESP8266 SoftAP; |
Пример (команда – ответ) режим станции AT+CWMODE=1 |
AT+CIFSR
+CIFSR:STAIP,”192.168.4.100″ OK |
Пример (команда – ответ) режим станции+сервер AT+CWMODE=3 |
AT+CIFSR
+CIFSR:APIP,”192.168.4.1″ OK |
Примечание | Только когда станция ESP8266 подключена к AP, можно запросить IP-адрес станции. |
13 AT+CIPMUX Включение/выключение режима нескольких подключений (Multiple connections)
Команда запрос | AT+CIPMUX? |
Отклик | OK |
Пример (команда – ответ) | AT+CIPMUX?
+CIPMUX:0 OK |
Команда настройки | AT+CIPMUX=<mode> |
Отклик | OK |
Параметр | <mode>:
|
Пример (команда – ответ) | AT+CIPMUX=0
OK |
Примечание |
|
14 AT+CIPSERVER Удаляет/создает TCP-сервер
Команда | AT+CIPSERVER=<mode>[,<port>] |
Отклик | OK |
Параметр |
|
Пример (команда – ответ) создание | AT+CIPMUX=1
OK AT+CIPSERVER=1,1001 OK |
Пример (команда – ответ) удаление | AT+CIPSERVER=0
OK |
Примечание | TCP-сервер может быть создан только при активации нескольких подключений (AT+CIPMUX = 1). • При создании TCP-сервера автоматически создается монитор сервера. • Когда клиент подключен к серверу, он займет одно соединение и получит идентификатор. |
15 AT+CIPSERVERMAXCONN Установить максимальное количество соединении, разрешенное сервером
Команда запрос | AT+CIPSERVERMAXCONN? |
Функция: получить на максимальное число из клиентов , разрешенных для подключения к с TCP или SSL сервера. |
|
Отклик | +CIPSERVERMAXCONN:<num> OK |
Пример (команда – ответ) | AT+CIPSERVERMAXCONN?
+CIPSERVERMAXCONN:5 OK |
Команда настройки | AT+CIPSERVERMAXCONN=<num> |
Отклик | OK |
Параметр | <num>: максимальное количество клиентов, которым разрешено подключаться к серверу TCP или SSL, диапазон: [1, 5] |
Пример (команда – ответ) | AT+CIPSERVERMAXCONN=2
OK AT+CIPSERVERMAXCONN? +CIPSERVERMAXCONN:2 OK |
Примечание | Чтобы установить эту конфигурацию, вы должны вызвать команду AT+CIPSERVERMAXCONN=<num> перед созданием сервера. |
Пример | AT+CIPMUX=1
AT+CIPSERVERMAXCONN=2 AT+CIPSERVER=1,80 |
16 AT+CIPMODE Настраивает режим передачи
Команда запрос | AT+CIPMODE? |
Отклик | +CIPMODE:<mode>
OK |
Пример (команда – ответ) | AT+CIPMODE?
+CIPMODE:0 OK |
Команда настройки | AT+CIPMODE=<mode> |
Отклик | OK |
Параметр | <mode>:
|
Пример (команда – ответ) | AT+CIPMODE=1
OK AT+CIPMODE=0 OK |
Пример (команда – ответ) | AT+CIPMODE=1
CIPMUX and CIPSERVER must be 0 // для изменения параметра функции должны иметь параметр 0 ERROR |
Примечание |
|
Пример | AT+CIPMODE=1 |
17 AT+SAVETRANSLINK Сохраняет прозрачную линию передачи во флэш-памяти
Сохранит TCP во Flash (Single connection) | |
Команда запроса | AT+SAVETRANSLINK=<mode>,<remote IP or domain name>,<remote port>[,<type>,<TCP keep alive>] |
Отклик | OK
или ERROR |
Параметр |
|
Пример (команда – ответ) | AT+SAVETRANSLINK=1,”192.168.6.110″,1002,”TCP”
OK
AT+SAVETRANSLINK=0 OK |
Примечание |
|
Сохранить передачу UDP во Flash | |
Команда запроса | AT+SAVETRANSLINK=<mode>,<remote IP>,<remote port>,<type>[,<UDP local port>] |
Отклик | OK
или ERROR |
Параметр |
|
Это может быть интересно
- DIXELL XWEB500D-EVO + RUT900 или как пробить NAT-серверViews: 984 Когда необходимо под какой нибудь контроллер имеющий вэб сервер в инет, то нужен статический IP, что оказалось проблемой при работе с операторами сотовых сетей, конкретно с оператором сети …
- Проект с использованием MCC часть 09Views: 899 Эта часть будет посвящена созданию практического проекта управления освещение. Тех задание: Два выхода управления ШИМ – светодиодным освещением. Две кнопки управления, каждая кнопка управляет, своим каналом, логика самая …
- AD9833 – Programmable Waveform GeneratorViews: 2835 Простой генератор звуковых частот на AD9833. Для тестирования БПФ в светомузыке мне нужен был генератор звуковых частот. Я использовал советский Г3-112, но он себя давно изжил. Все думал купить …
- PIC18 – System ArbitrationViews: 553 Системный арбитр. Разрешает доступ к памяти между выборами уровнями системы (т.е. Main, Interrupt Service Routine) и выбором периферийных устройств (т.е. DMA и Scanner) на основе назначенных пользователем приоритетов. Каждый …
- Проект с использованием MCC часть 14Views: 817 С выводом данных на дисплей мы справились (но могу сразу сказать библиотеку графики к этой статьи пришлось доработать, поэтому в этом проекте она обновлена). У нас на текущем …
- Модуль CAN в микроконтроллерах PIC18Views: 5745 Введение CAN последовательный интерфейс связи, который эффективно поддерживает распределенное управление в реальном масштабе времени с высокой помехозащищенностью. Протокол связи полностью определен Robert Bosch GmbH, в спецификации требований …
- ch-светомузыка от теории до реализацииViews: 673 Сразу оговоримся технология или теория ch-светомузыки, это постоянно развивающийся процесс и то что будет сказано сегодня завтра может быть опровергнуто и считаться ошибочным. Назовем само решение проблемы автоматического …
- LM317 и светодиодыViews: 7851 LM317 и светодиоды статья с переработанная с сайта http://invent-systems.narod.ru/LM317.htm Долговечность светодиодов определяется качеством изготовления кристалла, а для белых светодиодов еще и качеством люминофора. В процессе эксплуатации скорость деградации кристалла …
- Тестирование модуля генератораViews: 854 Тестирование модуля генератора Настройка, запуск и проверка рабочей частоты на примере PIC18F26K40. PIC18F26K40 Чтобы понять из-за чего зависит производительность микроконтроллера просто надо понять как работает его задающий тактовый …
- MPLAB® Harmony – или как это просто! Часть 4.Views: 2046 Часть четвертая – это может показаться немного сложно. Структура проекта. Для облегчения конфигурирования проекты MPLAB Harmony обычно структурированы таким образом, чтобы изолировать код, необходимый для настройки «системы», от …