Views: 5386
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 |
| Параметр |
|
Это может быть интересно
LM317 и светодиодыViews: 8164 LM317 и светодиоды статья с переработанная с сайта http://invent-systems.narod.ru/LM317.htm Долговечность светодиодов определяется качеством изготовления кристалла, а для белых светодиодов еще и качеством люминофора. В процессе эксплуатации скорость деградации кристалла …
Система отопления на солнечных коллекторах от Дмитрия (rv3dpi)Views: 3462 Солнечные коллекторы для отопления в Европе используют в более 50% от общего количества установленных гелиосистем. Однако следует понимать, что гелиосистемы предназначены лишь для поддержки отопления и экономии затрат на основную …
Цифровой спидометр для автомобиляViews: 10305 Универсальность печатной платы ch-c0030pcb позволяет создавать на её основе разнообразные устройства. Одним из таких устройств является электронный спидометр для автомобиля, в котором можно задать два компаратора скорости, например, для …
Бегущие огни (ch-bo-36)Views: 2609 Проект на PIC-микроконтроллере PIC16F648A. Количество каналов 36. Для индикации используется подключение по матрице 6х6. Расположение светодиодов в одну линию. Все эффекты написаны для возможности увеличения количества светодиодов. Рекомендуется …
LED модуль P10 (1R) V706AViews: 7962 Это еще одно чудо от китайского брата. Это монохромные матрицы, называются они P10 (1R) V706A, ну типа R-красные, но не верьте паяют светики и зеленые и синие, в общем …
Просто о внешних переменныхViews: 940 Часто возникает задача когда необходимо предавать данные между модулями программы. Например, передать данные между файлами, или управлять работой модулей. Для этого создаем заголовочный файл и описываем наши переменные как …
HVLD модуль на примере PIC24FJ128GA204Views: 825 HVLD модуль представляет собой простое устройство, для контроля напряжения питания микроконтроллера или внешнего напряжения (через делитель). Его задача при “выходе” напряжения за заданные пределы сформировать сообщение микроконтроллеру, что …
ch-4050 – дифференциальный терморегуляторViews: 2079 ch-4050 – это не новая модель, это расширенная версия универсального терморегулятора ch-4000. Различия коснулись в появлении новой функции дифференциального регулирования. Это вид регулирования по разности температур измеренного двумя …
Мониторинг температурыViews: 1477 Настоящий проект создан как обучающий с применением библиотек ds18b20 и LCDHD44780 и компилятора Microchip MPLAB XC8 C Compiler V1.12. Если необходимо иметь информацию по состоянию температуры в помещении или в здании, с количеством до 6 точек (16), то …
LATINO – открытый проект ch-светомузыкиViews: 1735 Проект построенный на некоторых принципах ch-светомузыка. Проект ознакомительный предназначен, для самостоятельного построения простого и эффективного светосинтезатора. Вывод осуществляется на ВОУ собранной на драйверах HL1606. Для этого была …