Views: 5373
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 |
| Параметр |
|
Это может быть интересно
Мониторинг температурыViews: 1473 Настоящий проект создан как обучающий с применением библиотек ds18b20 и LCDHD44780 и компилятора Microchip MPLAB XC8 C Compiler V1.12. Если необходимо иметь информацию по состоянию температуры в помещении или в здании, с количеством до 6 точек (16), то …
AD9833 – Programmable Waveform Generator – part twoViews: 1915 Прошло время и появилась тема, что-бы закончить проект AD9833 – Programmable Waveform Generator. Приехали печатные платы. В этот раз я печатные платы заказывал в https://jlcpcb.com/ делал это в …
Простой цифровой вольтметр ch-c3200Views: 2630 В этой статье рассмотрен пример создания простого вольтметра постоянного тока на основе печатной платы ch-c0030pcb, а при возможности использования внешнего делителя и вольтметр переменного тока. Дан краткий принцип …
APA102 – светодиоды со встроенным драйвером и SPI интерфейсомViews: 3514 APA102 В 2014 году фирма Shenzhen Led Color Optoelectronic Co., Ltd http://www.szledcolor.com/ начала производство светодиодов на драйвере APA102. Это серия так называемых светодиодов со встроенным драйвером. Основной особенностью этих …
Проект с использованием MCC часть 16Views: 1289 Продолжим изучение EUSART. На этом этапе отработает передачи данных с ПК и получения эха. Для этого в основной цикл программы добавим код if(EUSART_DataReady) // проверим флаг готовности данных …
REFERENCE CLOCK OUTPUT MODULEViews: 592 REFERENCE CLOCK OUTPUT MODULE Модуль формирования опорного тактового сигнала Модуль опорного тактового сигнала обеспечивает возможность посылать сигнал синхронизации на тактовый опорный выходной контакт или контакты (CLKR) в зависимости от …
Обновление ESP8266 c ESPFlashDownloadTool_v3.6.3Views: 3716 Технология обновления следующая: Загружаем программу со страницы espressif.com. Разархивируем. Где находятся файлы, для прошивки? Заходим в каталоги Подключаем по схеме в статье WiFi ESP8266 (замыкаем BT2, перемычка). Запускаем программу, …
NeoPixel LED and PIC24Views: 752 Популярность однопроводной шины для управления светодиода типа WS2812 не ослабевает, а новые типы светодиодов в корпусах 3,5*3,5мм, 2,0*2,0мм становяться все больше привлекательными. Построение дисплеев для анимации требуют все …
12-BIT A/D CONVERTER WITH THRESHOLD DETECT на примере PIC24FJ128GA204Views: 936 Введение. 12-битный модуль A/D Converter является усовершенствованной версией 10-битного модуля, предлагаемого на некоторых устройствах PIC24. Оба модуля являются преобразователями, в своих ядрах, с последовательным приближением (SAR), в окружении …
Development Boards PIC18F47Q84Views: 7830 Microchip тішить новими мікроконтролерами. Особливістю цього MCU – це багата інтелектуальна периферія, що дозволяє вирішувати такі завдання на 8 бітних MCU, які неможливо реалізувати на деяких навіть 32 …