Система AT команд версии V2.0 для ESP8266 и ESP32

Просмотров: 5667


Появление нового модуля на базе ESP32 заставило систематизировать систему AT команд, а так же систему обновления и для модулей на базе ESP8266.

Начиная с версии v2.0 в ESP8266 внедряется прошивка AT на основе нового стиля IDF ESP8266_RTOS_SDK, а так же используются разные порты для UART для обновления и для работы с AT командами. Некоторые из команд AT отличаются от старой ESP8266 NonOS AT.
Учитывая, что эти серьезные изменения могут оказать существенное влияние на существующие проекты, рекомендуется, чтобы эта версия использовалась только для реализации новых проектов, а не использовалась в качестве обновления для любых существующих проектов массового производства.
Для обновления ESP8266 AT версии 2,0 можно, также как и для ESP32, загрузить двоичный файл находящийся в папке в ESP8266-IDF-AT/factory, c адреса 0x00000.
Для обновления используется выводы порта UART0 выводы IO1 и IO2, а для работы с AT командами (в IDF ESP8266_RTOS_SDK), необходимо использовать выводы:

GPIO13 – это RXD
GPIO15 – это TXD
GPIO1 – это RTS (необязательно)
GPIO3 – это CTS (необязательно)

Производитель будет поддерживать старую ESP8266 NonOS AT (только для исправление ошибок) в течение определенного, но длительного срока, но для новых изделий рекомендуется использовать переход новую версию ESP8266 IDF AT 2.0.

От себя добавлю переходить на версию 2.0 необходимо работает она значительно шустрее.

Первое отличие коснется команд в имени которых были части _CUR  и _DEF,  хотя и останутся некоторые команды с этими расширениями.

Схема подключения позволяющая в устройстве независимо обновлять и использовать модуль в работе.

 

Для тестирования версии прошивки IDF при подключении к различным ЮСБ-мостам наличие резистора R8 обязательно его сопротивление может быть (для скорости 115200) до 1 КОм. Этот резистор необходим, чтобы при подачи питания на ESP загрузчик модуля разобрался с каким портом работать. Если не сможет в момент теста на выводе IO15 установить низкий уровень, он останеться в режиме бутлоадера. В рабочем изделии при старте необходимо предусмотреть наличие низкого уровня на порту МК в момент старта, для правильного запуска радио-модуля.

Ссылки на доп информацию https://github.com/espressif/esp32-at/tree/master/docs


После обновления модуля мы получим сообщение о версии

 

 


ESP AT Commands Set

Вот список команд AT. Некоторые из команд AT могут работать только на ESP32, который будет помечен как [ESP32 Only]; другие могут работать как на ESP8266, так и на ESP32.

Ссылка на оригинал https://github.com/espressif/esp-at/blob/master/docs/ESP_AT_Commands_Set.md

PS Как сгенерировать прошивку ESP8266 AT .

1. Список команд AT

1.1 Базовый список AT-команд

  • AT : Тесты при запуске.
  • AT + RST : перезапуск модуля.
  • AT + GMR : проверяет информацию о версии.
  • AT+GSLP : Enters Deep-sleep mode.
  • ATE : Настраивает эхо-команды AT-команд.
  • AT + RESTORE : восстановление заводских настроек модуля по умолчанию.
  • AT + UART_CUR : текущая конфигурация UART.
  • AT + UART_DEF : конфигурация UART по умолчанию, сохраненная во флэш-памяти.
  • AT + SLEEP : установка режима ожидания.
  • AT + SYSRAM : проверяет оставшееся место в оперативной памяти.
  • AT + SYSMSG : установить формат сообщения.
  • AT + RFPOWER : установка радиочастотной мощности передачи .
  • [Только ESP32] AT + SYSFLASH : установка пользовательских разделов во Flash.
  • [Только ESP32] AT + FS : Операции с файловой системой .
  • AT + SYSROLLBACK : откат к предыдущей прошивке.
  • AT + SYSTIMESTAMP : установить местное время.
  • AT + SYSLOG : включить или отключить запрос кода ошибки AT.
  • AT + SYSLSPCFG : Конфигурируйте источник пробуждения при легком сне.
  • AT + SYSLSP : переход в режим ожидания.

1.2 Список команд Wi-Fi AT

  • AT + CWMODE : Устанавливает режим Wi-Fi (STA / AP / STA + AP).
  • AT + CWJAP : подключается к точке доступа.
  • AT + CWLAPOPT : Устанавливает конфигурацию команды AT + CWLAP.
  • AT + CWLAP : список доступных точек доступа.
  • AT + CWQAP : отключается от точки доступа.
  • AT + CWSAP : Устанавливает конфигурацию ESP32 SoftAP.
  • AT + CWLIF : получает IP-адрес станции, к которой подключена ESP32 SoftAP.
  • AT + CWDHCP : включает / отключает DHCP.
  • AT + CWDHCPS : устанавливает диапазон IP-адресов DHCP-сервера ESP32 SoftAP. Сохраняет настройку во вспышке.
  • AT + CWAUTOCONN : автоматически подключается к точке доступа при включении питания.
  • AT + CIPSTAMAC : Устанавливает MAC-адрес станции ESP32.
  • AT + CIPAPMAC : устанавливает MAC-адрес ESP32 SoftAP.
  • AT + CIPSTA : устанавливает IP-адрес станции ESP32.
  • AT + CIPAP : Устанавливает IP-адрес ESP32 SoftAP.
  • AT + CWSTARTSMART : запускает SmartConfig.
  • AT + CWSTOPSMART : останавливает SmartConfig.
  • AT + WPS : включает функцию WPS.
  • AT + MDNS : настраивает функцию MDNS
  • [Только ESP32] AT + CWJEAP : подключается к точке доступа WPA2 Enterprise.
  • AT + CWHOSTNAME : настраивает имя станции ESP

1.3 Список AT-команд, связанных с TCP / IP

  • AT+CIPSTATUS : Gets the connection status.
  • AT + CIPDOMAIN : функция разрешения доменных имен.
  • AT + CIPSTART : устанавливает TCP-соединение, UDP-передачу или SSL-соединение.
  • AT+CIPSEND : Sends data.
  • AT + CIPSENDEX : отправляет данные, когда длина данных длина или когда в данных появляется \ 0.
  • AT + CIPCLOSE : закрывает соединение TCP/UDP/SSL.
  • AT + CIFSR : получает локальный IP-адрес.
  • AT + CIPMUX : настройка режима нескольких соединений.
  • AT + CIPSERVER : Deletes/Creates TCP or SSL server.
  • AT + CIPSERVERMAXCONN : установите максимальное количество соединений, разрешенных сервером.
  • AT + CIPMODE : настройка режима передачи.
  • AT + SAVETRANSLINK : сохраняет прозрачный канал передачи во флэш-памяти.
  • AT + CIPSTO : устанавливает время ожидания, когда ESP32 работает как сервер TCP.
  • AT + CIPSNTPCFG : Настраивает временную область и SNTP-сервер.
  • AT + CIPSNTPTIME : Запрашивает время SNTP.
  • AT + CIUPDATE : обновление программного обеспечения через Wi-Fi.
  • AT + CIPDINFO : показывает удаленный IP и удаленный порт с + IPD.
  • AT + CIPSSLCCONF : настройка клиента SSL.
  • AT + CIPRECONNINTV : установите прозрачный интервал автоматического подключения Wi-Fi.
  • AT + CIPRECVMODE : установить режим приема сокетов.
  • AT + CIPRECVDATA : получение данных сокета в режиме пассивного приема.
  • AT + CIPRECVLEN : Получить длину данных сокета в режиме пассивного приема.
  • AT + PING : пинг пакеты
  • AT + CIPDNS : настраивает систему доменных имен. Конфигурация будет сохранена во флэш-памяти.

1.4 [Только для ESP32] Список команд BLE AT

Загрузить BLE Spec (ESP32 поддерживает Core версии 4.2)

  • [Только ESP32] AT + BLEINIT : инициализация Bluetooth с низким энергопотреблением (BLE)
  • [Только ESP32] AT + BLEADDR : Устанавливает адрес устройства BLE
  • [Только ESP32] AT + BLENAME : устанавливает имя устройства BLE
  • [Только ESP32] AT + BLESCANPARAM : Устанавливает параметры сканирования BLE
  • [Только ESP32] AT + BLESCAN : включает сканирование BLE
  • [Только ESP32] AT + BLESCANRSPDATA : Устанавливает реакцию сканирования BLE
  • [Только ESP32] AT + BLEADVPARAM : устанавливает параметры рекламы BLE
  • [Только ESP32] AT + BLEADVDATA : Устанавливает рекламные данные BLE
  • [Только ESP32] AT + BLEADVSTART : запуск рекламы BLE
  • [Только ESP32] AT + BLEADVSTOP : останавливает рекламу BLE
  • [Только ESP32] AT + BLECONN : устанавливает соединение BLE
  • [Только ESP32] AT + BLEDISCONN : Завершает соединение BLE
  • [Только ESP32] AT+BLEDATALEN : Sets BLE data length
  • [Только ESP32] AT + BLECFGMTU : устанавливает длину BLE MTU
  • [Только ESP32] AT + BLEGATTSSRVCRE : Сервер общих атрибутов (GATTS) создает службы
  • [Только ESP32] AT + BLEGATTSSRVSTART : GATTS запускает службы
  • [Только ESP32] AT + BLEGATTSSRV : GATTS обнаруживает услуги
  • [Только ESP32] AT + BLEGATTSCHAR : GATTS обнаруживает характеристики
  • [Только ESP32] AT + BLEGATTSNTFY : GATTS уведомляет о характеристиках
  • [Только ESP32] AT+BLEGATTSIND : GATTS indicates characteristics
  • [Только ESP32] AT + BLEGATTSSETATTR : GATTS устанавливает атрибуты
  • [Только ESP32] AT + BLEGATTCPRIMSRV : Клиент общих атрибутов (GATTC) обнаруживает первичные службы
  • [Только ESP32] AT + BLEGATTCINCLSRV : GATTS обнаруживает включенные услуги
  • [Только ESP32] AT + BLEGATTCCHAR : GATTC обнаруживает характеристики
  • [Только ESP32] AT + BLEGATTCRD : GATTC считывает характеристики
  • [Только ESP32] AT + BLEGATTCWR : GATTC записывает характеристики
  • [Только ESP32] AT + BLESPPCFG : Устанавливает параметры BLE spp
  • [Только ESP32] AT+BLESPP : Enter BLE spp mode
  • [Только ESP32] AT + BLESECPARAM : установить параметры шифрования BLE
  • [Только ESP32] AT+BLEENC : Initiate BLE encryption request
  • [Только ESP32] AT + BLEENCRSP : Предоставить доступ для запроса безопасности.
  • [Только ESP32] AT + BLEKEYREPLY : Ответьте значение ключа равноправному устройству на этапе соединения lagecy.
  • [Только ESP32] AT + BLECONFREPLY : Ответьте значение comfirm одноранговому устройству на этапе соединения lagecy.
  • [Только ESP32] AT + BLEENCDEV : запрос списка устройств шифрования BLE
  • [Только ESP32] AT + BLEENCCLEAR : очистить список устройств шифрования BLE
  • [Только ESP32] AT + BLESETKEY : Установить BLE статическую пару ключей
  • [Только ESP32] AT+BLEHIDINIT : BLE HID device profile initialization
  • [Только ESP32] AT + BLEHIDKB : BLE HID Информация о клавиатуре отправлена
  • [Только ESP32] AT + BLEHIDMUS : BLE HID информация о мышке отправлена
  • [Только ESP32] AT+BLEHIDCONSUMER : BLE HID consumer information send
  • [Только ESP32] BLE AT Примеры

1.5 [Только ESP32] Список команд ETH AT

  • [Только ESP32] AT + CIPETHMAC : Устанавливает MAC-адрес ESP32 Ethernet.
  • [Только ESP32] AT + CIPETH : Устанавливает IP-адрес ESP32 Ethernet.

1.6 [Только ESP32] Список команд BT AT

Скачать BlueTooth Spec (ESP32 поддерживает Core версии 4.2)

  • [Только ESP32] AT + BTINIT : Классическая инициализация Bluetooth
  • [Только ESP32] AT + BTNAME : устанавливает имя устройства BT
  • [Только ESP32] AT + BTSCANMODE : Устанавливает режим BT SCAN.
  • [Только ESP32] AT + BTSTARTDISC : Запустить обнаружение BT
  • [Только ESP32] AT + BTSPPINIT : инициализация классического Bluetooth SPP профиля
  • [Только ESP32] AT + BTSPPCONN : устанавливает соединение SPP
  • [Только ESP32] AT + BTSPPDISCONN : Завершает соединение SPP
  • [Только ESP32] AT + BTSPPSTART : запуск классического профиля Bluetooth SPP
  • [Только ESP32] AT + BTSPPSEND : отправка данных на удаленное устройство bt spp
  • [Только ESP32] AT + BTA2DPINIT : инициализация классического профиля Bluetooth A2DP
  • [Только ESP32] AT + BTA2DPCONN : устанавливает соединение A2DP
  • [Только ESP32] AT + BTA2DPDISCONN : Завершает соединение A2DP
  • [Только ESP32] AT + BTA2DPSRC : установить или запросить URL аудиофайла
  • [Только ESP32] AT + BTA2DPCTRL : управление воспроизведением аудио
  • [Только ESP32] AT + BTSECPARAM : установите и запросите параметры безопасности Classic Bluetooth
  • [Только ESP32] AT + BTKEYREPLY : введите ключ простой пары
  • [Только ESP32] AT + BTPINREPLY : введите PIN-код устаревшей пары
  • [Только ESP32] AT + BTSECCFM : Ответьте значение подтверждения на одноранговое устройство на этапе устаревшего соединения
  • [Только ESP32] AT + BTENCDEV : список устройств шифрования Query BT
  • [Только ESP32] AT + BTENCCLEAR : очистить список устройств шифрования BT

1.7 [Только ESP32] Список команд MQTT AT

1.8 HTTP AT Список команд

2. Основные AT-команды

2,1 АТ—Tests AT Startup

Выполнить команду:

AT  

Отклик:

OK  

2.2 AT + RST – перезапускает модуль

Выполнить команду:

AT+RST  

Отклик:

OK  

2.3 AT+GMR—Checks Version Information

Выполнить команду:

AT+GMR  

Response:

AT version info
SDK version info
compile time

OK

Параметры:

  • Информация о версии AT : информация о версии AT.
  • Информация о версии SDK : информация о версии SDK.
  • время компиляции : продолжительность времени компиляции BIN.

2.4 AT+GSLP—Enters Deep-sleep Mode

Установить команду:

AT+GSLP=time  

Отклик:

time

OK

Параметры:

  • time: the duration of ESP32’s sleep. Unit: ms.
    ESP32 will wake up after Deep-sleep for as many milliseconds (ms) as time indicates.

2.5 ATE—AT Commands Echoing

Выполнить команду:

ATE  

Response:

OK  

Параметры:

  • ATE0 : выключает эхо.
  • ATE1 : включает эхо.

2.6 AT+RESTORE—Restores the Factory Default Settings

Выполнить команду:

AT+RESTORE  

Response:

OK  

Примечание:

  • The execution of this command will reset all parameters saved in flash, and restore the factory default settings of the module.
  • Чип будет перезапущен при выполнении этой команды.

2.7 AT + UART_CUR – текущая конфигурация UART, не сохраненная во Flash

Команда запроса:

AT+UART_CUR?

Отклик:

+UART_CUR:baudrate,databits,stopbits,parity,flow control

OK

Note:

  • Команда AT+UART_CUR?вернет фактическое значение параметров конфигурации UART, которое может иметь допустимые ошибки по сравнению с установленным значением из-за деления часов.

Set Command:

AT+UART_CUR=baudrate,databits,stopbits,parity,flow control

Отклик:

OK

Параметры:

  • baudrate: UART baud rate
  • databits : биты данных
    • 5: 5-битные данные
    • 6: 6-bit data
    • 7: 7-битные данные
    • 8: 8-битные данные
  • stopbits: stop bits
    • Стоповый бит 1: 1
    • 2: 1,5-битный стоп-бит
    • 3: 2-битный стоп-бит
  • четность : бит четности
    • 0: нет
    • 1: Нечетный
    • 2: даже
  • управление потоком : управление потоком
    • 0: управление потоком не включено
    • 1: включить RTS
    • 2: включить CTS
    • 3: включить RTS и CTS

Примечания:

  • Изменения конфигурации НЕ будут сохранены во флэш-памяти.
  • Использование управления потоком требует поддержки аппаратного обеспечения:
    • IO15 – это UART0 CTS
    • IO14 – это UART0 RTS
  • Диапазон поддерживаемых скоростей передачи: 80 ~ 5000000.

Пример:

AT+UART_CUR=115200,8,1,0,3  

2.8 AT+UART_DEF—Default UART Configuration, Saved in Flash

Команда запроса:

AT+UART_DEF?

Отклик:

+UART_DEF:baudrate,databits,stopbits,parity,flow control

OK

Установить команду:

AT+UART_DEF=baudrate,databits,stopbits,parity,flow control

Отклик:

OK

Параметры:

  • скорость передачи : скорость передачи UART
  • databits : биты данных
    • 5: 5-битные данные
    • 6: 6-битные данные
    • 7: 7-bit data
    • 8: 8-битные данные
  • стопбиты : стоповые биты
    • Стоповый бит 1: 1
    • 2: 1,5-битный стоп-бит
    • 3: 2-битный стоп-бит
  • четность : бит четности
    • 0: нет
    • 1: Нечетный
    • 2: даже
  • управление потоком : управление потоком
    • 0: управление потоком не включено
    • 1: включить RTS
    • 2: включить CTS
    • 3: включить RTS и CTS

Примечания:

  • Изменения конфигурации будут сохранены в области NVS и будут действительны при повторном включении чипа.
  • Использование управления потоком требует поддержки аппаратного обеспечения:
    • IO15 – это UART0 CTS
    • IO14 – это UART0 RTS
  • Диапазон поддерживаемых скоростей передачи: 80 ~ 5000000.

Пример:

AT+UART_DEF=115200,8,1,0,3  

2.9 AT+SLEEP—Sets the Sleep Mode

Установить команду:

AT+SLEEP=sleep mode

Отклик:

OK

Параметры:

  • спящий режим :
    • 0: отключить спящий режим.
    • 1: режим ожидания модема.

Пример:

AT+SLEEP=0

2.10 AT + SYSRAM – проверка оставшегося пространства оперативной памяти

Команда запроса:

AT+SYSRAM?  

Отклик:

+SYSRAM:remaining RAM size
OK  

Parameters:

  • оставшийся объем ОЗУ : оставшееся пространство ОЗУ, единица измерения: байт

Пример:

AT+SYSRAM?
+SYSRAM:148408
OK

2.11 AT+SYSMSG—Control to use new or old information

Команда запроса:

AT+SYSMSG?
Function:
Query the current system message state. 

Отклик:

+SYSMSG:state
OK  

Установить команду:

AT+SYSMSG=state
Function:
Control to use new or old information.  

Отклик:

OK  

Параметры:

  • состояние :
    • Бит 0: выйти из прозрачной передачи 0: выйти из прозрачной передачи без информации. 1: прекратить прозрачную передачу предоставит информацию.
    • Бит 1: Информация о соединении 0: Использовать старую информацию о соединении. 1: использовать новую информацию о соединении.

Примечания:

  • Изменения конфигурации будут сохранены в области NVS.
  • If set Bit0 to 1 will supply information “+QUITT” when quit transparent transmission.
  • Если бит 1 установлен на 1, это повлияет на информацию о команде AT+CIPSTARTиAT+CIPSERVER,
    • Вместо «XX, CONNECT» он будет выдавать «+ LINK_CONN: status_type, link_id, ip_type, terminal_type, remote_ip, remote_port, local_port». Пример:

    // Использовать новую информацию о соединении и выйти из прозрачной передачи нет информации AT + SYSMSG = 2

2.12 [Только ESP32] AT + SYSFLASH – установка пользовательских разделов во Flash

Команда запроса:

AT+SYSFLASH?
Function:
Check the user partitions in flash. 

Response:

+SYSFLASH:partition,type,subtype,addr,size
OK  

Установить команду:

AT+SYSFLASH=operation,partition,offset,length
Function:
Read/write the user partitions in flash.    

Отклик:

+SYSFLASH:length,data
OK  

Parameters:

  • operation:
    • 0: стереть сектор
    • 1: записать данные в пользовательский раздел
    • 2: read data from the user partition
  • раздел : имя пользовательского раздела
  • смещение : смещение пользовательского раздела
  • длина : длина данных
  • тип : тип пользовательского раздела
  • subtype : подтип пользовательского раздела
  • addr: address of user partition
  • размер : размер пользовательского раздела

Notes:

  • Необходимо загрузить at_customize.bin, чтобы можно было использовать соответствующие команды. Пожалуйста, обратитесь к ESP32_Customize_Partitions для более подробной информации.
  • Важные вещи, на которые следует обратить внимание при удалении пользовательских разделов:
    • При удалении целевого пользовательского раздела параметры полностью offsetи lengthмогут быть опущены. Например, команда AT+SYSFLASH=0,"ble_data"может стереть весь раздел пользователя ble_data.
    • Если параметры offsetи lengthне опущены при удалении пользовательского раздела, они должны быть выровнены по 4 КБ.
  • Введение в разделы содержится в таблицах разделов ESP-IDF .

Пример:

// read 100 bytes from the "ble_data" partition offset 0.
AT+SYSFLASH=2,"ble_data",0,100
// write 10 bytes to the "ble_data" partition offset 100.
AT+SYSFLASH=1,"ble_data",100,10
// erase 8192 bytes from the "ble_data" partition offset 4096.
AT+SYSFLASH=0,"ble_data",4096,8192

2.13 [Только ESP32] AT + FS – Операции файловой системы

Set Command:

AT+FS=type,operation,filename,offset,length

Отклик:

OK  

Параметры:

  • type: only FATFS is currently supported
    • 0: FATFS
  • операция :
    • 0: удалить файл
    • 1: записать файл
    • 2: прочитать файл
    • 3: запросить размер файла
    • 4: список файлов в определенном каталоге, в настоящее время поддерживается только корневой каталог
  • смещение : смещение, только для операций записи и чтения
  • длина : длина данных, только для операций записи и чтения

Примечания:

  • Необходимо загрузить at_customize.bin, чтобы можно было использовать соответствующие команды. Определения пользовательских разделов находятся в esp-at / at_customize.csv. Пожалуйста, обратитесь к ESP32_Customize_Partitions для более подробной информации.
  • Если длина прочитанных данных больше, чем фактическая длина файла, будет возвращена только фактическая длина данных файла.

Example:

// delete a file.
AT+FS=0,0,"filename"
// write 10 bytes to offset 100 of a file.
AT+FS=0,1,"filename",100,10
// read 100 bytes from offset 0 of a file.
AT+FS=0,2,"filename",0,100
// list all files in the root directory.
AT+FS=0,4,"."

2.14 AT + RFPOWER -Установить мощность RF TX

Команда запроса:

AT+RFPOWER?
Function: to query the RF TX Power.

Отклик:

+RFPOWER:wifi_power,ble_adv_power,ble_scan_power,ble_conn_power
OK

Установить команду:

AT+RFPOWER=wifi_power[,ble_adv_power,ble_scan_power,ble_conn_power]

Отклик:

OK

Параметры:

  • wifi_power : диапазон [40, 82], единица измерения составляет 0,25 дБм, например, если значение равно 78, то максимальная мощность RF составляет 78 * 0,25 дБм = 19,5 дБм.
  • ble_adv_power : RF TX Мощность рекламы BLE, диапазон: [0, 7]
    • 0: 7dBm
    • 1: 4dBm
    • 2: 1dBm
    • 3: -2 дБм
    • 4: -5 дБм
    • 5: -8 дБм
    • 6: -11 дБм
    • 7: -14 дБм
  • ble_scan_power : мощность радиочастотной передачи сканирования BLE, диапазон: [0, 7], такой же, как ble_adv_power
  • ble_conn_power : мощность RF TX соединения BLE, диапазон: [0, 7], такой же, как ble_adv_power

Примечания: Поскольку мощность RF TX фактически разделена на несколько уровней, и каждый уровень имеет свой собственный диапазон значений, поэтому wifi_powerзапрашиваемое значение esp_wifi_get_max_tx_powerможет отличаться от значения, установленного параметром esp_wifi_set_max_tx_power. И значение запроса не будет больше установленного.

2.15 AT + SYSROLLBACK – откат к предыдущей прошивке

Выполнить команду:

AT+SYSROLLBACK

Отклик:

OK

Примечание:

  • Эта команда не будет обновляться через OTA, а только откатится на прошивку, которая находится в другом разделе ota.

2.16 AT + SYSTIMESTAMP —Установить метку местного времени.

Команда запроса:

AT+SYSTIMESTAMP?
Function: to query the time stamp.

Отклик:

+SYSTIMESTAMP:Unix_timestamp
OK

Установить команду:

AT+SYSTIMESTAMP=Unix_timestamp
Function: to set local time stamp, it will update to SNTP time, if SNTP time is updated.

Отклик:

OK

Параметры:

  • Unix_timestamp : метка времени Unix, единица измерения – секунды.

Пример:

AT+SYSTIMESTAMP=1565853509    //2019-08-15 15:18:29

2.17 AT + SYSLOG : включить или отключить запрос кода ошибки AT.

Команда запроса:

AT+SYSLOG?  
Function: to query the AT error code prompt for whether it is enabled or disabled.  

Отклик:

+SYSLOG:status  

OK  

Установить команду:

AT+SYSLOG=status
Function: Enable or disable the AT error code prompt.

Отклик:

OK

Параметры:

  • статус :: включить или отключить
    • 0: отключить
    • 1: включить

Пример:
если включить подсказку с кодом ошибки AT:

AT+SYSLOG=1

OK
AT+FAKE
ERR CODE:0x01090000

ERROR

Если отключить запрос кода ошибки AT:

AT+SYSLOG=0

OK
AT+FAKE
//No `ERR CODE:0x01090000` 

ERROR  

2.18 AT + SYSLSP – ввод режима легкого сна (только поддержка ESP32)

Выполнить команду: AT + SYSLSP Ответ:

OK

Пример:

AT+SYSLSP

2.19 AT + SYSLSPCFG —Настройка источника пробуждения при слабом сне (только поддержка ESP32)

Установить команду:

AT+SYSLSPCFG=wakeup source,param[,wakeup level]

Отклик:

OK

Параметры:

  • источник пробуждения :
    • 0: пробуждение по таймеру.
    • 1: пробуждение от уарта.
    • 2: пробуждение от GPIO.
  • param :
    • Если источником пробуждения является таймер, этот параметр – время до пробуждения, единицы измерения – миллисекунды.
    • Если источником пробуждения является UART. этот параметр номер Uart.
    • Если источником пробуждения является GPIO, параметром является номер ввода-вывода.
  • уровень пробуждения : используется только для GPIO, 0: низкий уровень, 1: высокий уровень.

Пример:

AT+SYSLSPCFG=0,1000  // Timer wakeup
AT+SYSLSPCFG=1,1     // Uart1 wakeup
AT+SYSLSPCFG=2,12,1  // GPIO12 wakeup, high level

3 Wi-Fi AT команды

3.1 AT + CWMODE —Устанавливает режим Wi-Fi (Station / SoftAP / Station + SoftAP)

Команда запроса:

AT+CWMODE?
Function: to query the Wi-Fi mode of ESP32.

Отклик:

+CWMODE:mode
OK

Установить команду:

AT+CWMODE=mode
Function: to set the Wi-Fi mode of ESP32.

Отклик:

OK

Параметры:

  • режим :
    • 0: нулевой режим, WiFi RF будет отключен
    • 1: режим станции
    • 2: режим SoftAP
    • 3: режим SoftAP + Station

Примечание:

  • Изменения конфигурации будут сохранены в области NVS.

Пример:

AT+CWMODE=3 

3.2 AT + CWJAP – подключается к точке доступа

Команда запроса:

AT+CWJAP?
Function: to query the AP to which the ESP32 Station is already connected.

Отклик:

+CWJAP:ssid,bssid,channel,rssi
OK

Параметры:

  • ssid : строковый параметр, показывающий SSID точки доступа.
  • bssid : MAC-адрес точки доступа.
  • канал : канал
  • rssi : уровень сигнала

Установить команду:

AT+CWJAP=ssid,pwd[,bssid][,pci_en][,reconn]
Function: to set the AP to which the ESP32 Station needs to be connected.

Отклик:

OK

или + CWJAP: ERROR Параметры:

  • SSID : идентификатор сети целевой AP.
    • Синтаксис escape-символов необходим, если SSID или пароль содержат какие-либо специальные символы, такие как, или «или \».
  • pwd : пароль, MAX: 64-байтовый ASCII.
  • [bssid] : MAC-адрес целевой точки доступа, используемый, когда несколько точек доступа имеют одинаковый SSID.
  • [pci_en] : включить аутентификацию PCI, которая отключит соединение OPEN и WEP AP.
  • [reconn] : включить переподключение Wi-Fi; по истечении времени ожидания маяка ESP32 автоматически переподключится.
  • код ошибки : (только для справки)
    • 1: время ожидания соединения.
    • 2: неверный пароль.
    • 3: не удается найти целевой AP.
    • 4: соединение не удалось.
    • другие: произошла неизвестная ошибка.

Примечание:

  • Изменения конфигурации будут сохранены в области NVS.
  • Эта команда требует, чтобы режим Station был активным.

Примеры:

AT+CWJAP="abc","0123456789"
For example, if the target AP's SSID is "ab\,c" and the password is "0123456789"\", the command is as follows:
AT+CWJAP="ab\\\,c","0123456789\"\\"
If multiple APs have the same SSID as "abc", the target AP can be found by BSSID:
AT+CWJAP="abc","0123456789","ca:d7:19:d8:a6:44" 

3.3 AT + CWLAPOPT – устанавливает конфигурацию для команды AT + CWLAP

Установить команду:

AT+CWLAPOPT=sort_enable,mask

Отклик:

OK

Параметры:

  • sort_enable : определяет, будет ли результат команды AT + CWLAP отображаться в соответствии с RSSI:
    • 0: результат не упорядочен в соответствии с RSSI.
    • 1: результат упорядочен по RSSI.
  • маска : определяет параметры, показанные в результате AT+CWLAP;
    • 0 означает, что параметр не соответствует биту, а 1 означает его отображение.
    • бит 0: определяет, будет ли ecn отображаться в результате AT+CWLAP.
    • бит 1: определяет, будет ли ssid отображаться в результате AT+CWLAP.
    • бит 2: определяет, будет ли rssi отображаться в результате AT+CWLAP.
    • бит 3: определяет, будет ли mac отображаться в результате AT+CWLAP.
    • Бит 4: определяет, будет ли канал отображаться в результате AT+CWLAP.

Пример:

AT+CWLAPOPT=1,31
The first parameter is 1, meaning that the result of the command AT+CWLAP will be ordered according to RSSI;
The second parameter is 31, namely 0x1F, meaning that the corresponding bits of mask are set to 1. All parameters will be shown in the result of AT+CWLAP.

3,4 AT + CWLAP -Lists Доступные точки доступа

Установить команду:

AT+CWLAP=[ssid,mac,channel,scan_type,scan_time_min,scan_time_max]
Function: to query the APs with specific SSID and MAC on a specific channel.

Выполнить команду:

AT+CWLAP
Function: to list all available APs.

Отклик:

+CWLAP:ecn,ssid,rssi,mac,channel
OK

Параметры:

  • ecn : метод шифрования.
    • 0: ОТКРЫТО
    • 1: WEP
    • 2: WPA_PSK
    • 3: WPA2_PSK
    • 4: WPA_WPA2_PSK
    • 5: WPA2_Enterprise (AT пока не может подключиться к точке доступа WPA2_Enterprise.)
  • ssid : строковый параметр, SSID точки доступа.
  • rssi : уровень сигнала.
  • mac : строковый параметр, MAC-адрес точки доступа.
  • тип_сканирования : тип сканирования Wi-Fi, активный или пассивный.
    • 0: активное сканирование
    • 1: пассивное сканирование
  • scan_time_min : минимальное время активного сканирования на канал, единицы: миллисекунда, диапазон [0,1500], если тип сканирования пассивный, этот параметр недействителен.
  • scan_time_max : максимальное время активного сканирования на канал, единицы: миллисекунда, диапазон [0,1500]. если этот параметр равен нулю, встроенное ПО будет использовать время по умолчанию, тип активного сканирования – 120 мс, тип пассивного сканирования – 360 мс.

Примеры:

AT+CWLAP="Wi-Fi","ca:d7:19:d8:a6:44",6,0,400,1000
Or search for APs with a designated SSID: 
AT+CWLAP="Wi-Fi"

3.5 AT + CWQAP – отключение от точки доступа

Выполнить команду:

AT+CWQAP

Отклик:

OK

3.6 AT + CWSAP – Настройка ESP32 SoftAP

Команда запроса:

AT+CWSAP?
Function: to obtain the configuration parameters of the ESP32 SoftAP.

Отклик:

+CWSAP:ssid,pwd,channel,ecn,max conn,ssid hidden
OK

Установить команду:

AT+CWSAP=ssid,pwd,chl,ecn[,max conn][,ssid hidden]
Function: to set the configuration of the ESP32 SoftAP.

Отклик:

OK

Параметры:

  • ssid : строковый параметр, SSID точки доступа.
  • pwd : строковый параметр, длина пароля: 8 ~ 64 байта ASCII.
  • канал : идентификатор канала.
  • ecn : метод шифрования; WEP не поддерживается.
    • 0: ОТКРЫТО
    • 2: WPA_PSK
    • 3: WPA2_PSK
    • 4: WPA_WPA2_PSK
  • [max conn] (необязательный параметр): максимальное количество станций, к которым может быть подключена ESP32 SoftAP; в пределах [1, 10].
  • [ssid hidden] (необязательный параметр):
    • 0: SSID транслируется. (настройка по умолчанию)
    • 1: SSID не транслируется.

Примечание:

  • Эта команда доступна только тогда, когда SoftAP активен.
  • Изменения конфигурации будут сохранены в области NVS.

Пример:

AT+CWSAP="ESP32","1234567890",5,3   

3.7 AT + CWLIF – IP станций, к которым подключена ESP32 SoftAP

Выполнить команду:

AT+CWLIF

Отклик:

ip addr,mac
OK

Параметры:

  • ip addr : IP-адрес станций, к которым подключен ESP32 SoftAP.
  • mac : MAC-адрес станций, к которым подключена ESP32 SoftAP.

Примечание:

  • Эта команда не может получить статический IP. Он работает только в том случае, если включены оба протокола DHCP ESP32 SoftAP и станции, к которой подключен ESP32.

3.8 AT + CWDHCP – включает / отключает DHCP

Команда запроса:

AT+CWDHCP?

Ответ: состояние

Установить команду:

AT+CWDHCP=operate,mode
Function: to enable/disable DHCP.

Отклик:

OK

Параметры:

  • работа :
    • 0: отключить
    • 1: включить
  • режим :
    • Бит 0: станция DHCP
    • Бит 1: SoftAP DHCP
  • состояние :
    • DHCP отключен или включен?
    • Бит 0: – 0: DHCP станция отключена. 1: DHCP станция включена.
    • Бит 1: – 0: SoftAP DHCP отключена. 1: SoftAP DHCP включена.

Примечания:

  • Изменения конфигурации будут сохранены в области NVS.
  • Эта команда set взаимодействует с AT-командами, связанными со статическим IP-адресом (команды, связанные с AT + CIPSTA и AT + CIPAP):
    • Если DHCP включен, статический IP будет отключен;
    • Если статический IP включен, DHCP будет отключен;
    • Будь то DHCP или статический IP, который включен, зависит от последней конфигурации.

Примеры:

AT+CWDHCP=1,1    //Enable Station DHCP. If the last DHCP mode is 2, then the current DHCP mode will be 3.
AT+CWDHCP=0,2    //Disable SoftAP DHCP. If the last DHCP mode is 3, then the current DHCP mode will be 1.   

3.9 AT + CWDHCPS —Устанавливает IP-адрес, выделенный ESP32 SoftAP DHCP (конфигурация сохраняется во Flash.)

Команда запроса:

AT+CWDHCPS?

Отклик:

+CWDHCPS=lease time,start IP,end IP
OK

Установить команду:

AT+CWDHCPS=enable,lease time,start IP,end IP
Function: sets the IP address range of the ESP32 SoftAP DHCP server.

Отклик:

OK

Parameters:

  • enable :
    • 0: отключить настройки и использовать диапазон IP-адресов по умолчанию.
    • 1: Включите настройку диапазона IP-адресов, и должны быть установлены параметры ниже.
  • время аренды : время аренды, единица измерения: минута, диапазон [1, 2880].
  • start IP : начальный IP-адрес диапазона IP-адресов, который можно получить с DHCP-сервера ESP32 SoftAP.
  • end IP : конечный IP-адрес диапазона IP-адресов, который можно получить с DHCP-сервера ESP32 SoftAP.

Notes:

  • Изменения конфигурации будут сохранены в области NVS.
  • Эта команда AT включена, когда ESP8266 работает как SoftAP, и когда включен DHCP.
  • IP-адрес должен находиться в том же сегменте сети, что и IP-адрес ESP32 SoftAP.

Примеры:

AT+CWDHCPS=1,3,"192.168.4.10","192.168.4.15"
or
AT+CWDHCPS=0 //Disable the settings and use the default IP range.

3.10 AT + CWAUTOCONN – автоматически подключается к точке доступа или нет

Установить команду:

AT+CWAUTOCONN=enable

Отклик:

OK

Parameters:

  • enable :
    • 0: НЕ подключается автоматически к точке доступа при включении питания.
    • 1: автоматически подключается к точке доступа при включении питания.

Note:

  • Изменения конфигурации будут сохранены в области NVS.
  • Станция ESP32 подключается к точке доступа автоматически при включении по умолчанию.

Пример:

AT+CWAUTOCONN=1
 AT+CWAUTOCONN? // запрос состояния

3.11 AT + CIPSTAMAC – устанавливает MAC-адрес станции ESP32

Команда запроса:

AT+CIPSTAMAC?
Function: to obtain the MAC address of the ESP32 Station.

Отклик:

+CIPSTAMAC:mac
OK
---------------------------------------
AT+CIPSTAMAC?
+CIPSTAMAC:"18:fe:34:e0:72:ec"

OK

Установить команду:

AT+CIPSTAMAC=mac
Function: to set the MAC address of the ESP32 Station.

Response:

OK

Параметры:

  • mac : строковый параметр, MAC-адрес станции ESP8266.

Notes:

  • Изменения конфигурации будут сохранены в области NVS.
  • MAC-адрес ESP32 SoftAP отличается от MAC-адреса станции ESP32. Пожалуйста, убедитесь, что вы не установили одинаковый MAC-адрес для них обоих.
  • Бит 0 MAC-адреса ESP32 НЕ МОЖЕТ быть равен 1.
    • Например, MAC-адрес может быть «1a:…», но не «15:…».
  • FF: FF: FF: FF: FF: FF и 00: 00: 00: 00: 00: 00 являются недействительными MAC и не могут быть установлены.

Пример:

AT+CIPSTAMAC="1a:fe:35:98:d3:7b"    

3.12 AT+CIPAPMAC—Sets the MAC Address of the ESP32 SoftAP

Команда запроса:

AT+CIPAPMAC?
Function: to obtain the MAC address of the ESP32 SoftAP.

Отклик:

+CIPAPMAC:mac
OK

Установить команду:

AT+CIPAPMAC=mac
Function: to set the MAC address of the ESP32 SoftAP.

Отклик:

OK

Параметры:

  • mac : строковый параметр, MAC-адрес EAP8266 SoftAP.

Примечания:

  • Изменения конфигурации будут сохранены в области NVS.
  • MAC-адрес ESP32 SoftAP отличается от MAC-адреса станции ESP32. Пожалуйста, убедитесь, что вы не установили одинаковый MAC-адрес для них обоих.
  • Бит 0 MAC-адреса ESP32 НЕ МОЖЕТ быть равен 1.
    • Например, MAC-адрес может быть «18:…», но не «15:…».
  • FF:FF:FF:FF:FF:FF and 00:00:00:00:00:00 are invalid MAC and cannot be set.

Пример:

AT+CIPAPMAC="18:fe:35:98:d3:7b" 

3.13 AT+CIPSTA—Sets the IP Address of the ESP32 Station

Query Command:

AT+CIPSTA?
Function: to obtain the IP address of the ESP32 Station.
Notice: Only when the ESP32 Station is connected to an AP can its IP address be queried.

Отклик:

+CIPSTA:ip
OK
----------------------------- например, реальный ответ
AT+CIPSTA?
+CIPSTA:ip:"192.168.2.150"
+CIPSTA:gateway:"192.168.2.70"
+CIPSTA:netmask:"255.255.255.0"

OK

Установить команду:

AT+CIPSTA=ip[,gateway,netmask]
Function: to set the IP address of the ESP32 Station.

Отклик:

OK

Параметры:

  • ip: string parameter, the IP address of the ESP32 Station.
  • [шлюз] : шлюз.
  • [Маска подсети]: netmask.

Примечания:

  • Изменения конфигурации будут сохранены в области NVS.
  • Команда set взаимодействует с командами AT, связанными с DHCP (команды, связанные с AT + CWDHCP):
    • Если статический IP включен, DHCP будет отключен;
    • If DHCP is enabled, static IP will be disabled;
    • Будь то DHCP или статический IP, который включен, зависит от последней конфигурации.

Пример:

AT+CIPSTA="192.168.6.100","192.168.6.1","255.255.255.0" 

3.14 AT + CIPAP – устанавливает IP-адрес ESP32 SoftAP

Команда запроса:

AT+CIPAP?
Function: to obtain the IP address of the ESP32 SoftAP.

Отклик:

+CIPAP:ip,gateway,netmask
OK
------------------- например, реальный ответ
AT+CIPAP?
+CIPAP:ip:"192.168.4.1"
+CIPAP:gateway:"192.168.4.1"
+CIPAP:netmask:"255.255.255.0"

OK

Set Command:

AT+CIPAP=ip[,gateway,netmask]
Function: to set the IP address of the ESP32 SoftAP.

Отклик:

OK

Параметры:

  • ip : строковый параметр, IP-адрес ESP32 SoftAP.
  • [шлюз] : шлюз.
  • [маска сети] : маска сети.

Notes:

  • Изменения конфигурации будут сохранены в области NVS.
  • Команда set взаимодействует с командами AT, связанными с DHCP (команды, связанные с AT + CWDHCP):
    • Если статический IP включен, DHCP будет отключен;
    • Если DHCP включен, статический IP будет отключен;
    • Будь то DHCP или статический IP, который включен, зависит от последней конфигурации.

Пример:

AT+CIPAP="192.168.5.1","192.168.5.1","255.255.255.0"

3.15 AT+CWSTARTSMART—Starts SmartConfig

Выполнить команду:

AT+CWSTARTSMART
Function: to start SmartConfig. (The type of SmartConfig is ESP-TOUCH + AirKiss.)

Установить команду:

AT+CWSTARTSMART=type
Function: to start SmartConfig of a designated type.

Response:

OK  

Параметры:

  • тип :
    • 1: ESP-TOUCH
    • 2: AirKiss
    • 3: ESP-TOUCH + AirKiss

Примечания:

  • For details on SmartConfig please see ESP-TOUCH User Guide.
  • SmartConfig доступен только в режиме станции ESP32.
  • Сообщение Smart get Wi-Fi infoозначает, что SmartConfig успешно получил информацию AP. ESP32 попытается подключиться к целевой точке доступа.
  • Сообщение Smartconfig connected Wi-Fiраспечатывается, если соединение установлено успешно.
  • Используйте команду, AT+CWSTOPSMARTчтобы остановить SmartConfig перед выполнением других команд. Пожалуйста, убедитесь, что вы не выполняете другие команды во время SmartConfig.

Пример:

AT+CWMODE=1
AT+CWSTARTSMART

3.16 AT + CWSTOPSMART—Stops SmartConfig

Выполнить команду:

AT+CWSTOPSMART

Отклик:

OK

Примечание:

  • Независимо от того, успешно ли выполняется SmartConfig или нет, перед выполнением любых других AT-команд всегда звоните, AT+CWSTOPSMARTчтобы освободить внутреннюю память, занятую SmartConfig.

Example:

AT+CWMODE=1
AT+CWSTARTSMART
AT+CWSTOPSMART

3.17 AT + WPS – включает функцию WPS

Установить команду:

AT+WPS=enable

Отклик:

OK 

Параметры:

  • enable :
    • 1: включить WPS / Wi-Fi Protected Setup (реализовано с помощью конфигурации PBC / Push Button).
    • 0: отключить WPS (реализовано PBC).

Notes:

  • WPS необходимо использовать, когда включена станция ESP32.
  • WPS не поддерживает шифрование WEP / Wired-Equivalent Privacy.

Пример:

AT+CWMODE=1
AT+WPS=1

3.18 AT + MDNS—Configurates the MDNS Function

Установить команду:

AT+MDNS=enable[,hostname,service_name,port]

Отклик:

OK 

Параметры:

  • enable :
    • 1: включает функцию MDNS; следующие три параметра должны быть установлены.
    • 0: отключает функцию MDNS; следующие три параметра не нужно устанавливать.
  • имя хоста : имя хоста MDNS
  • service_name : имя службы MDNS
  • порт : порт MDNS

Пример:

AT+MDNS=1,"espressif","_iot",8080  
AT+MDNS=0

3.19 AT+CWJEAP—Connects to an WPA2 Enterprise AP.

Команда запроса:

AT+CWJEAP?
Function: to query the Enterprise AP to which the ESP32 Station is already connected.

Отклик:

+CWJEAP:ssid,method,identity,username,password,security
OK

Set Command:

AT+CWJEAP=ssid,method,identity,username,password,security
Function: to set the Enterprise AP to which the ESP32 Station needs to be connected.

Отклик:

OK

или + CWJEAP: Параметры ОШИБКИ тайм-аута:

  • SSID: the SSID of the Enterprise AP.
    • Синтаксис escape-символов необходим, если SSID или пароль содержат какие-либо специальные символы, такие как, или «или \».
  • method : метод аутентификации предприятия wpa2.
    • 0: EAP-TLS.
    • 1: EAP-PEAP.
    • 2: EAP-TTLS.
  • identity: identity for phase 1, string limited to 1~32.
  • username : имя пользователя для фазы 2, должно быть задано для режимов EAP-PEAP и EAP-TTLS, равно как и для EAP-TLS, строка ограничена 1 ~ 32.
  • пароль : пароль для фазы 2, должен быть установлен для режимов EAP-PEAP и EAP-TTLS, а также для EAP-TLS, строка ограничена 1 ~ 32.
  • Безопасность:
    • Бит0: сертификат клиента
    • Бит 1: сертификат сервера

Пример:

1. Connect to EAP-TLS mode enterprise AP, set identity, verify server certificate and load client certificate
AT+CWJEAP="dlink11111",0,"example@espressif.com",,,3
2. Connect to EAP-PEAP mode enterprise AP, set identity, username and password, not verify server certificate and not load client certificate
AT+CWJEAP="dlink11111",1,"example@espressif.com","espressif","test11",0

Примечание:

  • Изменения конфигурации будут сохранены в области NVS.
  • Эта команда требует, чтобы режим Station был активным.
  • Режим TLS будет использовать сертификат клиента, убедитесь, что включен.

3.20 AT+CWHOSTNAME : Configures the Name of ESP Station

Команда запроса:

AT+CWHOSTNAME?
Function: Checks the host name of ESP Station.

Отклик:

+CWHOSTNAME:hostname

OK
----------------- например, запрос и реальный ответ
AT+CWHOSTNAME?
+CWHOSTNAME:LWIP

OK

Установить команду:

AT+CWHOSTNAME=hostname
Function: Sets the host name of ESP Station.

Response:

OK

Если режим станции не включен, команда вернет:

ERROR

Параметры:

  • имя хоста : имя хоста станции ESP, максимальная длина 32 байта.

Примечание:

  • Изменения конфигурации не сохраняются во флэш-памяти.

Example:

AT+CWMODE=3
AT+CWHOSTNAME="my_test"

4. Связанные с TCP / IP AT-команды

4.1 AT+CIPSTATUS—Gets the Connection Status

Выполнить команду:

AT+CIPSTATUS

Отклик:

STATUS:stat
+CIPSTATUS:link ID,type,remote IP,remote port,local port,tetype
-----------------например, запрос и реальный ответ
AT+CIPSTATUS
STATUS:2

OK

Параметры:

  • stat : состояние интерфейса ESP32 Station.
    • 0: станция ESP32 неактивна.
    • 1: станция ESP32 не используется.
    • 2: Станция ESP32 подключена к точке доступа, и ее IP-адрес получен.
    • 3: Станция ESP32 создала передачу TCP или UDP.
    • 4: передача TCP или UDP станции ESP32 отключена.
    • 5: Станция ESP32 НЕ подключается к точке доступа.
  • link ID : идентификатор соединения (0 ~ 4), используемый для нескольких соединений.
  • тип : строковый параметр, «TCP» или «UDP».
  • remote IP : строковый параметр, обозначающий удаленный IP-адрес.
  • удаленный порт : номер удаленного порта.
  • локальный порт : номер локального порта ESP32.
  • tetype :
    • 0: ESP32 работает как клиент.
    • 1: ESP32 работает как сервер.

4.2 AT + CIPDOMAIN – функция разрешения доменных имен

Выполнить команду:

AT+CIPDOMAIN=domain name

Отклик:

+CIPDOMAIN:IP address

Параметр:

  • имя домена : имя домена.

Пример:

AT+CWMODE=1                       // set Station mode
AT+CWJAP="SSID","password"        // access to the internet
AT+CIPDOMAIN="iot.espressif.cn"   // Domain Name Resolution function

4.3 AT + CIPSTART – устанавливает соединение TCP, передачу UDP или соединение SSL

4.3.1 Установить TCP-соединение

Установить команду:

Single TCP connection (AT+CIPMUX=0):
AT+CIPSTART=type,remote IP,remote port[,TCP keep alive][,local IP]
Multiple TCP Connections (AT+CIPMUX=1):
AT+CIPSTART=link ID,type,remote IP,remote port[,TCP keep alive][,local IP]

Отклик:

OK

Или, если соединение TCP уже установлено, ответом будет: УЖЕ СОЕДИНЕННАЯ ОШИБКА Параметры:

  • link ID: ID of network connection (0~4), used for multiple connections.
  • тип : строковый параметр, указывающий тип соединения: «TCP», «UDP» или «SSL».
  • remote IP: string parameter indicating the remote IP address.
  • удаленный порт : номер удаленного порта.
  • [TCP keep alive] (необязательный параметр): интервал времени обнаружения, когда TCP поддерживается живым; эта функция отключена по умолчанию.
    • 0: disable TCP keep-alive.
    • 1 ~ 7200: интервал времени обнаружения; единица измерения: секунда
  • [local IP] (необязательный параметр): выберите, какой IP-адрес хотите использовать, это полезно при использовании как Ethernet, так и WiFi; этот параметр по умолчанию отключен. Если вы хотите использовать этот параметр, должен быть указан в первую очередь, также допустимо значение null.

Examples:

AT+CIPSTART="TCP","iot.espressif.cn",8000
AT+CIPSTART="TCP","192.168.101.110",1000
AT+CIPSTART="TCP","192.168.101.110",1000,,"192.168.101.100"

4.3.2 Установить UDP-передачу

Установить команду:

Single connection (AT+CIPMUX=0): 
AT+CIPSTART=type,remote IP,remote port[,(UDP local port),(UDP mode)][,local IP]
Multiple connections (AT+CIPMUX=1): 
AT+CIPSTART=link ID,type,remote IP,remote port[,(UDP local port),(UDP mode)][,local IP]

Отклик:

OK

Or if the UDP transmission is already established, the response is: ALREADY CONNECTTED ERROR Parameters:

  • link ID : идентификатор сетевого подключения (0 ~ 4), используемый для нескольких подключений.
  • тип : строковый параметр, указывающий тип соединения: «TCP», «UDP» или «SSL».
  • remote IP : строковый параметр, обозначающий удаленный IP-адрес.
  • удаленный порт : номер удаленного порта.
  • [UDP local port] (необязательный параметр): UDP-порт ESP32.
  • [Режим UDP] (необязательный параметр): при прозрачной передаче UDP значение этого параметра должно быть 0.
    • 0: конечный объект UDP не изменится; Это значение по умолчанию.
    • 1: конечный объект UDP может измениться один раз.
    • 2: одноранговый объект назначения UDP может измениться.
  • [local IP] (необязательный параметр): выберите, какой IP-адрес хотите использовать, это полезно при использовании как Ethernet, так и WiFi; этот параметр по умолчанию отключен. Если вы хотите использовать этот параметр и должны быть указаны в первую очередь, также допустимо значение null.

Примечание:

  • Чтобы использовать параметр UDP mode, параметр UDP local port должен быть установлен первым.

Пример:

AT+CIPSTART="UDP","192.168.101.110",1000,1002,2
AT+CIPSTART="UDP","192.168.101.110",1000,,,"192.168.101.100"

[Только ESP32] 4.3.3 Установка SSL-соединения

Установить команду:

AT+CIPSTART=[link ID,]type,remote IP,remote port[,TCP keep alive][,local IP]    

Отклик:

OK

Или, если соединение TCP уже установлено, ответом будет: УЖЕ СОЕДИНЕННАЯ ОШИБКА Параметры:

  • идентификатор ссылки: ID of network connection (0~4), used for multiple connections.
  • тип : строковый параметр, указывающий тип соединения: «TCP», «UDP» или «SSL».
  • remote IP : строковый параметр, обозначающий удаленный IP-адрес.
  • удаленный порт : номер удаленного порта.
  • [TCP keep alive] (необязательный параметр): интервал времени обнаружения, когда TCP поддерживается живым; эта функция отключена по умолчанию.
    • 0: disable the TCP keep-alive function.
    • 1 ~ 7200: интервал времени обнаружения, единица измерения: секунда (с).
  • [local IP] (необязательный параметр): выберите, какой IP-адрес хотите использовать, это полезно при использовании как Ethernet, так и WiFi; этот параметр по умолчанию отключен. Если вы хотите использовать этот параметр, должен быть указан в первую очередь, также допустимо значение null.

Примечания:

  • ESP32 может установить не более одного SSL-соединения.
  • SSL-соединение не поддерживает сквозной режим UART-WiFi (прозрачная передача).
  • SSL-соединение требует большого объема памяти; в противном случае это может привести к перезагрузке системы.

Пример:

AT+CIPSTART="SSL","iot.espressif.cn",8443
AT+CIPSTART="SSL","192.168.101.110",1000,,"192.168.101.100" 

4.4 AT + CIPSEND – отправляет данные

Установить команду:

Single connection: (+CIPMUX=0)
AT+CIPSEND=length
Multiple connections: (+CIPMUX=1)
AT+CIPSEND=link ID,length
Remote IP and ports can be set in UDP transmission: 
AT+CIPSEND=[link ID,]length[,remote IP,remote port]
Function: to configure the data length in normal transmission mode.

Отклик:

OK

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

ERROR

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

SEND OK 

Выполнить команду:

AT+CIPSEND
Function: to start sending data in transparent transmission mode.

Отклик:

OK

Введите прозрачную передачу с интервалом 20 мс между каждым пакетом и максимум 2048 байтов на пакет. При получении одного пакета, содержащего +++, ESP32 возвращается в обычный командный режим. Пожалуйста, подождите хотя бы одну секунду перед отправкой следующей AT-команды. Эта команда может использоваться только в прозрачном режиме передачи, который требует одного соединения. Для прозрачной передачи UDP значение должно быть 0 при использовании AT + CIPSTART.

Или же

ERROR

Параметры:

  • link ID : идентификатор соединения (0 ~ 4) для нескольких соединений.
  • длина : длина данных, МАКС .: 2048 байтов.
  • [remote IP] (необязательный параметр): удаленный IP может быть установлен при передаче UDP.
  • [удаленный порт] (необязательный параметр): удаленный порт можно настроить при передаче UDP.

4.5 AT + CIPSENDEX – отправляет данные

Установить команду:

Single connection: (+CIPMUX=0)
AT+CIPSENDEX=length
Multiple connections: (+CIPMUX=1)
AT+CIPSENDEX=link ID,length
Remote IP and ports can be set in UDP transmission:
AT+CIPSENDEX=[link ID,]length[,remote IP,remote port]
Function: to configure the data length in normal transmission mode.

Отклик:

OK

Send data of designated length. Wrap return after the set command. Begin receiving serial data. When the requirement of data length, determined by , is met, or when \0 appears in the data, the transmission starts. If connection cannot be established or gets disconnected during transmission, the system returns:

ERROR

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

  • идентификатор ссылки: ID of the connection (0~4), for multiple connections.
  • длина : длина данных, МАКС .: 2048 байтов.
    • Когда выполняется требование длины данных, определяемое length, или когда появляется строка \ 0, начинается передача данных. Вернитесь в обычный командный режим и дождитесь следующей AT-команды.
    • При отправке \ 0, пожалуйста, отправьте как \\ 0.

4.6 AT + CIPCLOSE – закрывает соединение TCP / UDP / SSL

Установить команду (для нескольких подключений):

AT+CIPCLOSE=link ID
Function: to close TCP/UDP connection.

Параметры:

  • link ID : идентификационный номер соединения, которое будет закрыто; когда ID = 5, все соединения будут закрыты.

Выполнить команду (для одиночного соединения):

AT+CIPCLOSE

Response:

OK  

4.7 AT + CIFSR – получает локальный IP-адрес

Выполнить команду:

AT+CIFSR    

Response:

+CIFSR:SoftAP IP address
+CIFSR:Station IP address
OK

Параметры:

  • IP address:
    • IP-адрес ESP32 SoftAP;
    • IP-адрес станции ESP32.

Примечания:

  • Только когда станция ESP32 подключена к точке доступа, IP-адрес станции может быть запрошен.

4.8 AT + CIPMUX – включает / отключает несколько подключений

Команда запроса:

AT+CIPMUX?
Function: to query the connection type.

Отклик:

+CIPMUX:mode
OK

Установить команду:

AT+CIPMUX=mode
Function: to set the connection type.

Отклик:

OK

Параметры:

  • режим :
    • 0: одиночное соединение
    • 1: несколько соединений

Notes:

  • Режим по умолчанию – режим одиночного соединения.
  • Несколько соединений могут быть установлены только когда прозрачная передача отключена ( AT+CIPMODE=0).
  • This mode can only be changed after all connections are disconnected.
  • Если TCP-сервер работает, он должен быть удален ( AT+CIPSERVER=0), прежде чем активируется режим единого соединения.

Пример:

AT+CIPMUX=1 

4.9 AT + CIPSERVER – Удаляет / Создает сервер TCP или SSL

Установить команду:

AT+CIPSERVER=mode[,port][,SSL,SSL CA enable]    

Отклик:

OK  

Параметры:

  • режим :
    • 0: удалить сервер.
    • 1: создать сервер.
  • порт : номер порта; 333 по умолчанию.
  • [Только ESP32] [SSL] (необязательный параметр): строка «SSL», чтобы установить сервер SSL
  • [Только ESP32] [SSL CA enable] (необязательный параметр):
    • 0: отключить CA.
    • 1: включить CA.

Примечания:

  • Сервер TCP может быть создан только тогда, когда активировано несколько подключений ( AT+CIPMUX=1).
  • Монитор сервера будет создан автоматически при создании TCP-сервера. И только один сервер разрешен.
  • When a client is connected to the server, it will take up one connection and be assigned an ID.

Пример:

// To create a TCP server
AT+CIPMUX=1
AT+CIPSERVER=1,80
// To create a SSL server
AT+CIPMUX=1
AT+CIPSERVER=1,443,"SSL",1

4.10 AT + CIPSERVERMAXCONN —Установите максимальное количество соединений, разрешенных сервером

Команда запроса:

AT+CIPSERVERMAXCONN?
Function: obtain the maximum number of clients allowed to connect to the TCP or SSL server.

Response:

+CIPSERVERMAXCONN:num
OK  

Установить команду:

AT+CIPSERVERMAXCONN=num
Function: set the maximum number of clients allowed to connect to the TCP or SSL server.    

Отклик:

OK  

Параметры:

  • num : максимальное количество клиентов, которым разрешено подключаться к серверу TCP или SSL.

Примечания:

  • Чтобы настроить эту конфигурацию, вы должны вызвать команду AT+CIPSERVERMAXCONN=numперед созданием сервера.

Пример:

AT+CIPMUX=1
AT+CIPSERVERMAXCONN=2
AT+CIPSERVER=1,80

4.11 AT + CIPMODE — Настраивает режим передачи

Команда запроса:

AT+CIPMODE?
Function: to obtain information about transmission mode.

Отклик:

+CIPMODE:mode
OK

Установить команду:

AT+CIPMODE=mode
Function: to set the transmission mode.

Отклик:

OK

Параметры:

  • режим :
    • 0: нормальный режим передачи.
    • 1: транзитный режим UART-Wi-Fi (прозрачная передача), который может быть включен только в режиме единого соединения TCP или в режиме UDP, когда удаленный IP-адрес и порт не изменяются.

Примечания:

  • Изменения конфигурации НЕ будут сохранены во флэш-памяти.
  • Если во время передачи по протоколу UART-WiFi разрывается соединение TCP, ESP32 будет пытаться восстановить соединение, пока не будет введен +++вход для выхода из передачи.
  • Если это обычная передача TCP и соединение TCP разрывается, ESP32 выдаст запрос и не будет пытаться восстановить соединение.

Пример:

AT+CIPMODE=1    

4,12 AT+SAVETRANSLINK—Saves the Transparent Transmission Link in Flash

4.12.1. Сохранение одного TCP-соединения во Flash

Установить команду:

AT+SAVETRANSLINK=mode,remote IP or domain name,remote port[,type,TCP keep alive]  

Отклик:

OK

Parameters:

  • режим :
    • 0: нормальный режим, ESP32 НЕ войдет в режим сквозного подключения UART-WiFi при включении питания.
    • 1: ESP32 will enter UART-WiFi passthrough mode on power-up.
  • удаленный IP : удаленный IP или имя домена.
  • удаленный порт : удаленный порт.
  • [тип] (необязательный параметр): TCP или UDP, TCP по умолчанию.
  • [TCP keep alive] (необязательный параметр): TCP поддерживается живым. Эта функция по умолчанию отключена.
    • 0: отключает функцию поддержания активности TCP.
    • 1 ~ 7200: интервал времени обнаружения активности; единица измерения: секунда

Notes:

  • Эта команда сохранит режим сквозного прохождения UART-WiFi и его ссылку в области NVS. ESP32 войдет в режим сквозного прохождения UART-WiFi при любых последующих циклах питания.
  • Пока удаленный IP-адрес (или имя домена) и порт действительны, конфигурация будет сохранена во флэш-памяти.

Example:

AT+SAVETRANSLINK=1,"192.168.6.110",1002,"TCP"   

4.12.2 Сохранить UDP-передачу во Flash

Установить команду:

AT+SAVETRANSLINK=mode,remote IP,remote port,type[,UDP local port] 

Отклик:

OK

Параметры:

  • mode:
    • 0: нормальный режим; ESP32 НЕ войдет в режим сквозного подключения UART-WiFi при включении питания.
    • 1: ESP32 входит в режим сквозного подключения UART-WiFi при включении питания.
  • удаленный IP : удаленный IP или имя домена.
  • удаленный порт : удаленный порт.
  • [Тип](optional parameter): UDP, TCP by default.
  • [UDP local port] (необязательный параметр): локальный порт, когда прозрачная передача UDP включена при включении питания.

Примечания:

  • Эта команда сохранит режим сквозного прохождения UART-WiFi и его ссылку в области NVS. ESP32 войдет в режим сквозного прохождения UART-WiFi при любых последующих циклах питания.
  • Пока удаленный IP-адрес (или имя домена) и порт действительны, конфигурация будет сохранена во флэш-памяти.

Пример:

AT+SAVETRANSLINK=1,"192.168.6.110",1002,"UDP",1005  

4.13 AT+CIPSTO—Sets the TCP Server Timeout

Команда запроса:

AT+CIPSTO?
Function: to check the TCP server timeout.

Отклик:

+CIPSTO:time
OK

Установить команду:

AT+CIPSTO=time
Function: to set the TCP server timeout.

Отклик:

OK

Параметр:

  • time: TCP server timeout within the range of 0 ~ 7200s.

Примечания:

  • ESP32, настроенный как сервер TCP, будет отключаться от клиента TCP, который не связывается с ним до истечения времени ожидания.
  • Если AT+CIPSTO=0соединение никогда не истечет. Эта конфигурация не рекомендуется.

Example:

AT+CIPMUX=1
AT+CIPSERVER=1,1001
AT+CIPSTO=10

4.14 AT + CIPSNTPCFG – устанавливает часовой пояс и сервер SNTP

Команда запроса:

AT+CIPSNTPCFG?

Отклик:

+CIPSNTPCFG:enable,timezone,SNTP server1[,SNTP server2,SNTP server3]
OK

Выполнить команду:

AT+CIPSNTPCFG
Function: to clear the SNTP server information.

Отклик:

OK

Установить команду:

AT+CIPSNTPCFG=timezone[,SNTP server1,SNTP server2,SNTP server3]

Отклик:

OK

Параметры:

  • enable :
    • 1: сервер SNTP настроен.
    • 0: сервер SNTP не настроен.
  • часовой пояс : часовой пояс, диапазон: [-11,13].
  • SNTP server1 : первый сервер SNTP.
  • SNTP server2 : второй SNTP-сервер.
  • SNTP server3 : третий SNTP-сервер.

Примечание:

  • Если три сервера SNTP не настроены, используется следующая конфигурация по умолчанию: «cn.ntp.org.cn», «ntp.sjtu.edu.cn», «us.pool.ntp.org».

Пример:

AT+CIPSNTPCFG=8,"cn.ntp.org.cn","ntp.sjtu.edu.cn"   

4.15 AT+CIPSNTPTIME—Queries the SNTP Time

Команда запроса:

AT+CIPSNTPTIME? 

Отклик:

+CIPSNTPTIME:SNTP time
OK

Пример:

AT+CIPSNTPCFG=8,"cn.ntp.org.cn","ntp.sjtu.edu.cn"
OK
AT+CIPSNTPTIME?
+CIPSNTPTIME:Mon Dec 12 02:33:32 2016
OK  

4.16 AT + CIUPDATE – обновление программного обеспечения через Wi-Fi

Выполнить команду:

AT+CIUPDATE  
Function: OTA the lastest version via TCP from server.

Отклик:

+CIPUPDATE:n
OK

Выполнить команду:

AT+CIUPDATE=ota mode[,version]  
Function: OTA the specified version from server.  

Отклик:

+CIPUPDATE:n
OK

Parameters:

  • режим ota :
    • 0: OTA через TCP
    • 1: OTA с помощью SSL, пожалуйста , убедитесь , make menuconfig Component config AT OTA based upon sslвключен.
  • версия : AT версии, например, v1.2.0.0v1.1.3.0,v1.1.2.0
  • n :
    • 1: найти сервер.
    • 2: подключиться к серверу.
    • 3: получить версию программного обеспечения.
    • 4: начать обновление.

Пример:

AT+CIUPDATE  

Или же

AT+CIUPDATE=1,"v1.2.0.0"

Примечания:

  • The speed of the upgrade is susceptible to the connectivity of the network.
  • ОШИБКА будет возвращена, если обновление завершится неудачно из-за неблагоприятных условий в сети. Пожалуйста, подождите некоторое время, прежде чем повторить попытку.

Примечание:

  • При использовании Espressif в AT BIN , AT+CIUPDATEзагрузит новый AT BIN из Espressif Cloud.
  • При использовании скомпилированного пользователем AT BIN пользователям необходимо реализовать собственную функцию AT + CIUPDATE FOTA. Проект esp-at предоставляет пример FOTA .
  • Пользователям предлагается позвонить, AT+RESTOREчтобы восстановить заводские настройки по умолчанию после обновления прошивки AT.

4.17 AT + CIPDINFO – Показывает удаленный IP и порт с «+ IPD»

Установить команду:

AT+CIPDINFO=mode  

Отклик:

OK  

Параметры:

  • режим :
    • 0: не показывает удаленный IP и порт с «+ IPD».
    • 1: показывает удаленный IP и порт с «+ IPD».

Example:

AT+CIPDINFO=1   

4.18 + IPD – получает данные сети

Команда:

Single connection: 
(+CIPMUX=0)+IPD,len[,remote IP,remote port]:data
multiple connections: 
(+CIPMUX=1)+IPD,link ID,len[,remote IP,remote port]:data

Параметры:

  • [remote IP]: remote IP, enabled by command AT+CIPDINFO=1.
  • [удаленный порт] : удаленный порт, включается командой AT+CIPDINFO=1.
  • link ID : идентификационный номер соединения.
  • len : длина данных.
  • данные : данные получены.

Примечание:

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

4.19 AT + CIPSSLCCONF – Настройка SSL-клиента

Команда запроса:

AT+CIPSSLCCONF?
Function: to get the configuration of each link that running as SSL client.

Отклик:

+CIPSSLCCONF:link ID,auth_mode,pki_number,ca_number
OK

Установить команду:

Single connection: (+CIPMUX=0)
AT+CIPSSLCCONF=auth_mode,pki_number,ca_number
Multiple connections: (+CIPMUX=1)
AT+CIPSSLCCONF=link ID,auth_mode,pki_number,ca_number

Отклик:

OK

Параметры:

  • link ID : идентификатор соединения (0 ~ макс.), для нескольких соединений, если значение max, это означает все соединения. По умолчанию максимум 5.
  • auth_mode :
    • 0: no authorization.
    • 1: загрузить сертификат и закрытый ключ для авторизации на сервере.
    • 2: загрузить CA для сертификата авторизации сервера и закрытого ключа клиента.
    • 3: оба разрешения.
  • pki_number : индекс сертификата и закрытого ключа, если только один сертификат и закрытый ключ, значение должно быть 0.
  • ca_number : индекс CA, если только один CA, значение должно быть 0.

Примечания:

  • Вызовите эту команду перед установкой SSL-соединения, если вы хотите, чтобы конфигурация вступила в силу немедленно.
  • Изменения конфигурации будут сохранены в области NVS. Если вы используете AT + SAVETRANSLINK для установки режима сквозной передачи SSL, ESP установит соединение SSL на основе этой конфигурации после следующего включения.

4.20 AT + CIPRECONNINTV —Установите прозрачный интервал автоматического подключения для передачи по Wi-Fi.

Установить команду:

AT+CIPRECONNINTV=interval
Function: to set the interval of auto reconnecting when the TCP/UDP/SSL transmission broke in UART-WiFi transparent mode.

Параметры:

  • интервал : интервал времени для автоматического переподключения, по умолчанию 1, диапазон от 1 до 36000, единица измерения 100 мс.

Пример:

AT+CIPRECONNINTV=10  

4.21 + IPD – получает данные сети

Команда:

Single connection: 
(+CIPMUX=0)+IPD,len[,remote IP,remote port]:data
multiple connections: 
(+CIPMUX=1)+IPD,link ID,len[,remote IP,remote port]:data

Параметры:

  • [remote IP] : удаленный IP, включается командой AT+CIPDINFO=1.
  • [удаленный порт] : удаленный порт, включается командой AT+CIPDINFO=1.
  • link ID : идентификационный номер соединения.
  • len : длина данных.
  • данные : данные получены.

Примечание:

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

4.22 AT + CIPRECVMODE —Set Socket Receive Mode

Команда запроса:

AT+CIPRECVMODE?
Function: to query socket receive mode.

Отклик:

+CIPRECVMODE:mode
OK

Установить команду:

AT+CIPRECVMODE=mode

Отклик:

OK

Параметры:

  • режим : режим приема данных сокета является активным режимом по умолчанию.
    • 0: активный режим – ESP AT немедленно отправит все полученные данные сокета на MCU хоста через UART с заголовком «+ IPD».
    • 1: пассивный режим – ESP AT сохранит полученные данные сокета во внутреннем буфере (по умолчанию 5840 байтов) и будет ждать, пока MCU хоста прочитает данные. Если буфер заполнен, передача через сокет будет заблокирована.

Пример:

AT+CIPRECVMODE=1   

Примечания:

  • Конфигурация предназначена только для передачи по TCP и SSL и не может использоваться в режиме сквозного доступа WiFi-UART. Если это передача UDP в пассивном режиме, при заполнении буфера данные будут пропущены.
  • Если пассивный режим включен, когда ESP AT получает данные сокета, он будет выводить следующее сообщение в различных сценариях:
    • для режима множественного подключения (AT + CIPMUX = 1) сообщение: +IPD,link ID,len
    • for single connection mode (AT+CIPMUX=0), the message is: +IPD,len
    • len общая длина данных сокета в буфере

4.23 AT + CIPRECVDATA – получение данных сокета в режиме пассивного приема

Установить команду:

Single connection: (+CIPMUX=0)ß
AT+CIPRECVDATA=len
Multiple connections: (+CIPMUX=1)
AT+CIPRECVDATA=link_id,len

Response:

+CIPRECVDATA:actual_len,data
OK

Параметры:

  • link_id : идентификатор соединения в режиме нескольких соединений.
  • len : длина данных, которую вы хотите получить, макс. 2048 байт за раз.
  • actual_len : длина данных, которые вы на самом деле получаете
  • данные : данные, которые вы получаете

Пример:

AT+CIPRECVMODE=1
For example, if host MCU gets a message of receiving 100 bytes data in connection with No.0, the message will be as following: +IPD,0,100
then you can read those 100 bytes by using the command below
AT+CIPRECVDATA=0,100

Примечания:

  • В случае разъединения буферизованные данные сокета все еще будут там и могут быть прочитаны MCU, пока вы не отправите AT+CIPCLOSE, или вместо этого новое соединение заняло предыдущий link_id.

4.24 AT + CIPRECVLEN – получение длины данных сокета в режиме пассивного приема

Команда запроса:

AT+CIPRECVLEN?
Function: query the length of the entire data buffered for the link.

Отклик:

+CIPRECVLEN:data length of link0,data length of link1,data length of link2,data length of link3,data length of link4
OK

Параметры:

  • длина данных ссылки : длина всех данных, буферизованных для ссылки

Пример:

AT+CIPRECVLEN?
+CIPRECVLEN:100,,,,,
OK

Примечания:

  • Для ссылки ssl он вернет длину зашифрованных данных, поэтому возвращаемая длина будет больше, чем реальная длина данных.

4.25 AT + PING : пакеты пинга

Установить команду:

AT+PING=IP
Function: Ping packets.

Отклик:

+PING:time

OK

или же

+timeout

ERROR

Parameters:

  • IP : строка; IP-адрес хоста или доменное имя
  • время : время отклика пинга, единица измерения: миллисекунда.

Пример:

AT+PING="192.168.1.1"
AT+PING="www.baidu.com"

4.26 AT+CIPDNS : Configures Domain Name System.

Команда запроса:

AT+CIPDNS?
Function: to obtain current Domain Name System information.

Отклик:

+CIPDNS:enable[,"DNS IP1","DNS IP2","DNS IP3"]
OK

Установить команду:

AT+CIPDNS=enable[,"DNS IP1","DNS IP2","DNS IP3"]
Function: Configures Domain Name System.

Отклик:

OK

или же

ERROR

Параметры:

  • enable :
    • 0: Включить автоматические настройки DNS с DHCP, DNS будет восстановлен 222.222.67.208, только после обновления DHCP он вступит в силу.
    • 1: Включить ручные настройки DNS, если не установлен DNS IP, будет использоваться 222.222.67.208по умолчанию.
  • DNS IP1 : первый DNS-IP. Для команды set, только для ручных настроек DNS; для команды запроса это текущая настройка DNS.
  • DNS IP2: the second DNS IP. For set command, only for manual DNS settings; for query command, it is current DNS setting.
  • DNS IP3 : третий DNS IP. Для команды set, только для ручных настроек DNS; для команды запроса это текущая настройка DNS.

Пример:

AT+CIPDNS=0
AT+CIPDNS=1,"222.222.67.208","114.114.114.114","8.8.8.8"

Примечания:

  • Изменения конфигурации будут сохранены в области NVS.
  • Три параметра не могут быть установлены на одном сервере.
  • Сервер DNS может меняться в зависимости от конфигурации маршрутизатора, к которому подключен чип ESP.

5. [Только ESP32] BLE-связанные AT-команды

5.1 [Только ESP32] AT + BLEINIT —BLE Initialization

Команда запроса:

AT+BLEINIT?
Function: to check the initialization status of BLE.

Отклик:

Если BLE не инициализирован, он вернется

+BLEINIT:0
OK

Если BLE инициализирован, он вернется

+BLEINIT:role
OK

Установить команду:

AT+BLEINIT=init
Function: to initialize the role of BLE.

Отклик:

OK

Параметр:

  • init :
    • 0: deinit ble
    • 1: роль клиента
    • 2: роль сервера

Примечания:

  • Необходимо загрузить at_customize.bin, чтобы можно было использовать соответствующие команды. Пожалуйста, обратитесь к ESP32_Customize_Partitions для более подробной информации.
  • Перед использованием команд BLE AT необходимо сначала вызвать эту команду, чтобы запустить процесс инициализации.
  • После инициализации роль BLE изменить нельзя. Пользователь должен вызвать AT + RST, чтобы сначала перезапустить систему, а затем повторно запустить роль BLE.
  • Если вы используете ESP32 в качестве сервера BLE, сервисный бин должен быть загружен во Flash.
    • Чтобы узнать, как создать сервисный бин, пожалуйста, обратитесь к esp-at / tools / readme.md.
    • Адрес загрузки бина службы – это адрес «ble_data» в esp-at / partitions_at.csv.

Пример:

AT+BLEINIT=1    

5.2 [Только ESP32] AT + BLEADDR – устанавливает адрес устройства BLE

Команда запроса:

AT+BLEADDR?
Function: to get the BLE public address.

Отклик:

+BLEADDR:BLE_public_addr
OK

Установить команду:

AT+BLEADDR=addr_type[,random_addr]
Function: to set the BLE address type.

Отклик:

OK

Параметр:

  • addr_type :
    • 0: публичный адрес
    • 1: случайный адрес

Примечания:

  • Статический адрес должен соответствовать следующим требованиям:
    • Два старших разряда адреса должны быть равны 1
    • По крайней мере один бит случайной части адреса должен быть 0
    • По крайней мере, один бит случайной части адреса должен быть 1

Пример:

AT+BLEADDR=1,"f8:7f:24:87:1c:7b"    // Set Random Device Address, Static Address
AT+BLEADDR=1                        // Set Random Device Address, Private Address
AT+BLEADDR=0                        // Set Public Device Address

5.3 [Только ESP32] AT + BLENAME – устанавливает имя устройства BLE

Команда запроса:

AT+BLENAME?
Function: to get the BLE device name.

Отклик:

+BLENAME:device_name
OK

Установить команду:

AT+BLENAME=device_name
Function: to set the BLE device name.

Отклик:

OK

Параметр:

  • имя_устройства : имя устройства BLE

Примечания:

  • Имя устройства BLE по умолчанию – «BLE_AT».

Пример:

AT+BLENAME="esp_demo"   

5.4 [Только ESP32] AT + BLESCANPARAM – Устанавливает параметры сканирования BLE

Команда запроса:

AT+BLESCANPARAM?
Function: to get the parameters of BLE scanning.

Отклик:

+BLESCANPARAM:scan_type,own_addr_type,filter_policy,scan_interval,scan_window
OK

Установить команду:

AT+BLESCANPARAM=scan_type,own_addr_type,filter_policy,scan_interval,scan_window
Function: to set the parameters of BLE scanning.

Отклик:

OK

Параметры:

  • scan_type:
    • 0: пассивное сканирование
    • 1: активное сканирование
  • own_addr_type :
    • 0: публичный адрес
    • 1: случайный адрес
    • 2: RPA public address
    • 3: случайный адрес RPA
  • filter_policy :
    • 0: BLE_SCAN_FILTER_ALLOW_ALL
    • 1: BLE_SCAN_FILTER_ALLOW_ONLY_WLST
    • 2: BLE_SCAN_FILTER_ALLOW_UND_RPA_DIR
    • 3: BLE_SCAN_FILTER_ALLOW_WLIST_PRA_DIR
  • scan_interval: scan interval
  • scan_window : окно сканирования

Примечания:

  • scan_window НЕ МОЖЕТ быть больше, чем scan_interval.

Пример:

AT+BLEINIT=1   // role: client
AT+BLESCANPARAM=0,0,0,100,50

5.5 [Только ESP32] AT+BLESCAN—Enables BLE Scanning

Установить команду:

AT+BLESCAN=enable[,interval]
Function: to enable/disable scanning.

Отклик:

+BLESCAN:addr,rssi,adv_data,scan_rsp_data,addr_type
OK

Параметры:

  • enable :
    • 0: отключить непрерывное сканирование
    • 1: включить непрерывное сканирование
  • [интервал] : необязательный параметр, единица измерения: секунда
    • При отключении сканирования этот параметр должен быть пропущен
    • При включении сканирования, когда значение intervalравно 0, это означает, что сканирование продолжается
    • При включении сканирования, intervalнапример команде NOT 0, AT+BLESCAN=1,3это означает, что сканирование должно длиться 3 секунды, а затем автоматически останавливаться, чтобы возвращались результаты сканирования.
  •  адрес  : адрес BLE
  • rssi : уровень сигнала
  • adv_data : рекламные данные
  • scan_rsp_data : данные ответа сканирования
  • addr_type : тип адреса вещателей

Пример:

AT+BLEINIT=1   // role: client
AT+BLESCAN=1    // start scanning
AT+BLESCAN=0     // stop scanning

5.6 [Только ESP32] AT + BLESCANRSPDATA – устанавливает ответ сканирования BLE

Установить команду:

AT+BLESCANRSPDATA=scan_rsp_data
Function: to set scan response.

Отклик:

OK  

Параметр:

  • scan_rsp_data : данные ответа на сканирование представляют собой строку HEX.
    • Например, чтобы установить ответные данные как «0x11 0x22 0x33 0x44 0x55», команда должна быть AT+BLESCANRSPDATA="1122334455".

Пример:

AT+BLEINIT=2   // role: server
AT+BLESCANRSPDATA="1122334455"

5.7 [Только для ESP32] AT + BLEADVPARAM – набор параметров рекламы

Команда запроса:

AT+BLEADVPARAM?
Function: to query the parameters of advertising.

Отклик:

+BLEADVPARAM:adv_int_min,adv_int_max,adv_type,own_addr_type,channel_map,adv_filter_policy,peer_addr_type,peer_addr
OK

Установить команду:

AT+BLEADVPARAM=adv_int_min,adv_int_max, adv_type,own_addr_type,channel_map[,adv_filter_policy][,peer_addr_type] [,peer_addr]
Function: to set the parameters of advertising.

Отклик:

OK

Параметры:

  • adv_int_min : минимальное значение рекламного интервала; диапазон: 0x0020 ~ 0x4000
  • adv_int_max : максимальное значение рекламного интервала; диапазон: 0x0020 ~ 0x4000
  • adv_type :
    • 0: ADV_TYPE_IND
    • 2: ADV_TYPE_SCAN_IND
    • 3: ADV_TYPE_NONCONN_IND
  • own_addr_type:own BLE address type
    • 0: BLE_ADDR_TYPE_PUBLIC
    • 1: BLE_ADDR_TYPE_RANDOM
  • channel_map: канал рекламы
    • 1: ADV_CHNL_37
    • 2: ADV_CHNL_38
    • 4:ADV_CHNL_39
    • 7: ADV_CHNL_ALL
  • [adv_filter_policy] (необязательный параметр): политика фильтрации рекламы
    • 0: ADV_FILTER_ALLOW_SCAN_ANY_CON_ANY
    • 1: ADV_FILTER_ALLOW_SCAN_WLST_CON_ANY
    • 2: ADV_FILTER_ALLOW_SCAN_ANY_CON_WLST
    • 3: ADV_FILTER_ALLOW_SCAN_WLST_CON_WLST
  • [peer_addr_type] (необязательный параметр): тип адреса удаленного BLE
    • 0:PUBLIC
    • 1: RANDOM
  • [peer_addr] (необязательный параметр): адрес удаленного BLE

Пример:

AT+BLEINIT=2   // role: server
AT+BLEADVPARAM=50,50,0,0,4,0,0,"12:34:45:78:66:88"

5.8 [Только для ESP32] AT + BLEADVDATA – набор рекламных данных

Установить команду:

AT+BLEADVDATA=adv_data
Function: to set advertising data.

Отклик:

OK

Параметры:

  • adv_data : рекламные данные; это шестнадцатеричная строка.
    • Например, чтобы установить рекламные данные как «0x11 0x22 0x33 0x44 0x55», команда должна быть AT+BLEADVDATA="1122334455".

Example:

AT+BLEINIT=2   // role: server
AT+BLEADVDATA="1122334455"

5.9 [Только для ESP32] AT + BLEADVSTART — Начало рекламы

Выполнить команду:

AT+BLEADVSTART
Function: to start advertising.

Отклик:

OK

Примечания:

  • Если рекламные параметры НЕ установлены командой AT+BLEADVPARAM=adv_parameter, будут использоваться параметры по умолчанию.
  • Если рекламные данные НЕ установлены командой AT+BLEADVDATA=adv_data, все нули будут отправлены.

Пример:

AT+BLEINIT=2   // role: server
AT+BLEADVSTART

5.10 [ESP32 Only] AT+BLEADVSTOP—Stops Advertising

Выполнить команду:

AT+BLEADVSTOP
Function: to stop advertising.

Отклик:

OK

Примечания:

  • После запуска рекламы, если соединение BLE установлено успешно, оно автоматически прекратит рекламу. В таком случае эту команду НЕ нужно вызывать.

Пример:

AT+BLEINIT=2   // role: server
AT+BLEADVSTART
AT+BLEADVSTOP

5.11 [ESP32 Only] AT+BLECONN—Establishes BLE connection

Команда запроса:

AT+BLECONN?
Function: to query the BLE connection.

Отклик:

+BLECONN:conn_index,remote_address
OK

Если соединение не было установлено, НЕ будет установлено conn_index и remote_address Set Command:

AT+BLECONN=conn_index,remote_address[,addr_type,timeout]
Function: to establish the BLE connection, the address_type is an optional parameter.

Отклик:

OK

При успешном установлении соединения появится следующее сообщение:

+BLECONN:conn_index,remote_address

Будет показано сообщение ниже, если НЕТ:

+BLECONN:conn_index,-1

Параметры:

  • conn_index : индекс соединения BLE; только 0 поддерживается для одного соединения прямо сейчас, но в будущем будет поддерживаться несколько соединений BLE.
  • remote_address:remote BLE address
  • addr_type : тип адреса вещателей
  • timeout : время ожидания для команды подключения, диапазон составляет [3,30] секунды.

Пример:

AT+BLEINIT=1   // role: client
AT+BLECONN=0,"24:0a:c4:09:34:23",0,10

5.12 [Только ESP32] AT + BLEDISCONN – Завершает соединение BLE

Выполнить команду:

AT+BLEDISCONN=conn_index
Function: to end the BLE connection.

Отклик:

OK  // the AT+BLEDISCONN command is received
If the command is successful, it will prompt + BLEDISCONN:conn_index,remote_address

Parameter:

  • conn_index : индекс соединения BLE; только 0 поддерживается для одного соединения прямо сейчас, но в будущем будет поддерживаться несколько соединений BLE.
  • remote_address : адрес удаленного BLE

Примечания:

  • Только клиент может вызвать эту команду, чтобы разорвать соединение.

Пример:

AT+BLEINIT=1   // role: client
AT+BLECONN=0,"24:0a:c4:09:34:23"
AT+BLEDISCONN=0

5.13 [Только ESP32] AT + BLEDATALEN —Устанавливает длину пакета данных BLE

Установить команду:

AT+BLEDATALEN=conn_index,pkt_data_len
Function: to set the length of BLE data packet.

Отклик:

OK 

Параметр:

  • conn_index : индекс соединения BLE; только 0 поддерживается для одного соединения прямо сейчас, но в будущем будет поддерживаться несколько соединений BLE.
  • pkt_data_len : длина пакета данных; диапазон: 0x001b ~ 0x00fb

Примечания:

  • Соединение BLE должно быть установлено в первую очередь.

Пример:

AT+BLEINIT=1   // role: client
AT+BLECONN=0,"24:0a:c4:09:34:23"
AT+BLEDATALEN=0,30

5.14 [Только ESP32] AT + BLECFGMTU – устанавливает длину MTU BLE

Команда запроса:

AT+BLECFGMTU?
Function: to query the length of the maximum transmission unit (MTU).

Отклик:

+BLECFGMTU:conn_index,mtu_size
OK

Установить команду:

AT+BLECFGMTU=conn_index,mtu_size
Function: to set the length of the maximum transmission unit (MTU).

Отклик:

OK  // the command is received

Параметр:

  • conn_index : индекс соединения BLE; только 0 поддерживается для одного соединения прямо сейчас, но в будущем будет поддерживаться несколько соединений BLE.
  • mtu_size: MTU length

Примечания:

  • Только клиент может вызвать эту команду, чтобы установить длину MTU. Однако сначала необходимо установить соединение BLE.
  • Фактическая длина MTU должна быть согласована. Ответ «ОК» означает только то, что длина MTU должна быть установлена. Таким образом, пользователь должен использовать команду AT+BLECFGMTU?для запроса фактической длины MTU.

Пример:

AT+BLEINIT=1   // role: client
AT+BLECONN=0,"24:0a:c4:09:34:23"
AT+BLECFGMTU=0,300

5.15 [Только ESP32] AT + BLEGATTSSRVCRE —GATTS создает сервисы

Выполнить команду:

AT+BLEGATTSSRVCRE
Function: The Generic Attributes Server (GATTS) creates BLE services.

Отклик:

OK

Примечания:

  • При использовании ESP32 в качестве сервера BLE, сервисный бин должен быть загружен во Flash для предоставления сервисов.
    • Чтобы узнать, как создать сервисный бин, пожалуйста, обратитесь к esp-at / tools / readme.md.
    • Адрес загрузки бина службы – это адрес «ble_data» в esp-at / partitions_at.csv.
  • Эта команда должна вызываться немедленно для создания служб, сразу после инициализации сервера BLE.
  • Если сначала установлено соединение BLE, создание службы завершится неудачно.

Пример:

AT+BLEINIT=2   // role: server
AT+BLEGATTSSRVCRE

5.16 [Только ESP32] AT + BLEGATTSSRVSTART – GATTS запускает службы

Выполнить команду:

AT+BLEGATTSSTART
Function: GATTS starts all services.

Установить команду:

AT+BLEGATTSSRVSTART=srv_index
Function: GATTS starts a specific service.

Response:

OK  

Параметр:

  • srv_index : индекс сервиса, начиная с 1

Пример:

AT+BLEINIT=2   // role: server
AT+BLEGATTSSRVCRE
AT+BLEGATTSSRVSTART

5.17 [Только ESP32] AT + BLEGATTSSRV – GATTS обнаруживает службы

Команда запроса:

AT+BLEGATTSSRV?
Function: GATTS services discovery.

Отклик:

+BLEGATTSSRV:srv_index,start,srv_uuid,srv_type
OK

Параметры:

  • srv_index : индекс сервиса, начиная с 1
  • начало :
    • 0 : сервис не запущен
    • 1 : сервис уже запущен
  • srv_uuid : UUID службы
  • Srv_type: service’s type
    • 0 : не является основной услугой
    • 1 : является основной услугой

Пример:

AT+BLEINIT=2   // role: server
AT+BLEGATTSSRVCRE
AT+BLEGATTSSRV?

5.18 [Только ESP32] AT + BLEGATTSCHAR —GATTS обнаруживает характеристики

Команда запроса:

AT+BLEGATTSCHAR?
Function: GATTS characteristics discovery.

Отклик:

При показе характеристики это будет выглядеть так:

+BLEGATTSCHAR:"char",srv_index,char_index,char_uuid,char_prop

При отображении дескриптора это будет выглядеть так:

+BLEGATTSCHAR:"desc",srv_index,char_index,desc_index 
OK

Параметры:

  • Srv_index: service’s index starting from 1
  • char_index : индекс характеристики, начиная с 1
  • char_uuid : UUID характеристики
  • char_prop : свойства характеристики
  • desc_index : индекс дескриптора
  • desc_uuid : UUID дескриптора

Пример:

AT+BLEINIT=2   // role: server
AT+BLEGATTSSRVCRE
AT+BLEGATTSSRVSTART
AT+BLEGATTSCHAR?

5.19 [Только ESP32] AT + BLEGATTSNTFY —GATTS уведомляет о характеристиках

Установить команду:

AT+BLEGATTSNTFY=conn_index,srv_index,char_index,length
Function: GATTS to notify of its characteristics.

Отклик:


Начните получать серийные данные. Когда требование длины данных, определяемое, выполняется, начинается уведомление. Если передача данных прошла успешно, система возвращает: OK Параметры:

  • conn_index : индекс соединения BLE; только 0 поддерживается для одного соединения прямо сейчас, но в будущем будет поддерживаться несколько соединений BLE.
  • srv_index : индекс сервиса; это можно получить с помощью командыAT+BLEGATTSCHAR?
  • char_index : индекс характеристики; это можно получить с помощью командыAT+BLEGATTSCHAR?
  • длина : длина данных

Пример:

AT+BLEINIT=2   // role: server
AT+BLEGATTSSRVCRE
AT+BLEGATTSSRVSTART
AT+BLEADVSTART // starts advertising. After the client is connected, it must be configured to receive notifications.
AT+BLEGATTSCHAR?  // check which characteristic the client will be notified of
// for example, to notify of 4 bytes of data using the 6th characteristic in the 3rd service, use the following command:
AT+BLEGATTSNTFY=0,3,6,4 
// after  shows, inputs 4 bytes of data, such as "1234"; then, the data will be transmitted automatically

5.20 [ESP32 Only] AT+BLEGATTSIND—GATTS Indicates Characteristics

Установить команду:

AT+BLEGATTSIND=conn_index,srv_index,char_index,length
Function: GATTS indicates its characteristics.

Отклик:


Начните получать серийные данные. Когда требование длины данных, определяемое, выполнено, индикация начинается. Если передача данных прошла успешно, система возвращает: OK Параметры:

  • conn_index : индекс соединения BLE; только 0 поддерживается для одного соединения прямо сейчас, но в будущем будет поддерживаться несколько соединений BLE.
  • srv_index : индекс сервиса; это можно получить с помощью командыAT+BLEGATTSCHAR?
  • char_index : индекс характеристики; это можно получить с помощью командыAT+BLEGATTSCHAR?
  • длина : длина данных

Пример:

AT+BLEINIT=2   // role: server
AT+BLEGATTSSRVCRE
AT+BLEGATTSSRVSTART
AT+BLEADVSTART // starts advertising. After the client is connected, it must be configured to receive indications.
AT+BLEGATTSCHAR?  // check for which characteristic the client can receive indications
// for example, to indicate 4 bytes of data using the 7th characteristic in the 3rd service, use the following command:
AT+BLEGATTSIND=0,3,7,4 
// after  shows, inputs 4 bytes of data, such as "1234"; then, the data will be transmitted automatically

5.21 [Только ESP32] AT + BLEGATTSSETATTR—GATTS Sets Characteristic

Установить команду:

AT+BLEGATTSSETATTR=srv_index,char_index[,desc_index],length
Function: GATTS to set its characteristic (descriptor).

Отклик:


Начните получать серийные данные. Когда требование длины данных, определяемое, выполнено, настройка начинается. Если настройка прошла успешно, система вернет: OK Параметры:

  • srv_index : индекс сервиса; это можно получить с помощью командыAT+BLEGATTSCHAR?
  • char_index : индекс характеристики; это можно получить с помощью командыAT+BLEGATTSCHAR?
  • [desc_index] (Необязательный параметр): индекс дескриптора.
    • Если он установлен, эта команда используется для установки значения дескриптора; если это не так, эта команда используется для установки значения характеристики.
  • length: data length

Примечание:

  • Если длина value превышает максимально допустимую длину, настройка не будет выполнена.

Пример:

AT+BLEINIT=2   // role: server
AT+BLEGATTSSRVCRE
AT+BLEGATTSSRVSTART
AT+BLEGATTSCHAR? 
// for example, to set 4 bytes of data of the 1st characteristic in the 1st service, use the following command:
AT+BLEGATTSSETATTR=1,1,,4
// after  shows, inputs 4 bytes of data, such as "1234"; then, the setting starts

5.22 [Только ESP32] AT + BLEGATTCPRIMSRV – GATTC обнаруживает первичные сервисы

Команда запроса:

AT+BLEGATTCPRIMSRV=conn_index
Function: GATTC to discover primary services.

Отклик:

+ BLEGATTCPRIMSRV:conn_index,srv_index,srv_uuid,srv_type
OK

Параметры:

  • conn_index: index of BLE connection; only 0 is supported for the single connection right now, but multiple BLE connections will be supported in the future.
  • srv_index : индекс сервиса, начиная с 1
  • srv_uuid : UUID службы
  • srv_type : тип сервиса
    • 0 : не является основной услугой
    • 1 : является основной услугой

Примечание:

  • Соединение BLE должно быть установлено в первую очередь.

Пример:

AT+BLEINIT=1   // role: client
AT+BLECONN=0,"24:12:5f:9d:91:98"
AT+BLEGATTCPRIMSRV=0

5.23 [Только ESP32] AT + BLEGATTCINCLSRV – GATTC обнаруживает включенные услуги

Установить команду:

AT+BLEGATTCINCLSRV=conn_index,srv_index
Function: GATTC to discover included services.

Отклик:

+ BLEGATTCINCLSRV:conn_index,srv_index,srv_uuid,srv_type,included_srv_uuid,included_srv_type
OK

Параметры:

  • conn_index : индекс соединения BLE; только 0 поддерживается для одного соединения прямо сейчас, но в будущем будет поддерживаться несколько соединений BLE.
  • srv_index : индекс сервиса; это можно получить с помощью командыAT+BLEGATTCPRIMSRV=conn_index
  • srv_uuid : UUID службы
  • srv_type : тип сервиса
    • 0 : не является основной услугой
    • 1 : является основной услугой
  • Included_srv_uuid: included service’s UUID
  • enabled_srv_type : тип включенной службы
    • 0 : не является основной услугой
    • 1 : является основной услугой

Примечание:

  • Соединение BLE должно быть установлено в первую очередь.

Пример:

AT+BLEINIT=1   // role: client
AT+BLECONN=0,"24:12:5f:9d:91:98"
AT+BLEGATTCPRIMSRV=0
AT+BLEGATTCINCLSRV=0,1  // set a specific index according to the result of the previous command

5.24 [ESP32 Only] AT+BLEGATTCCHAR—GATTC Discovers Characteristics

Установить команду:

AT+BLEGATTCCHAR=conn_index,srv_index
Function: GATTC to discover characteristics.

Отклик:

При показе характеристики это будет выглядеть так:

+BLEGATTCCHAR:"char",conn_index,srv_index,char_index,char_uuid,char_prop

При отображении дескриптора это будет выглядеть так:

+BLEGATTCCHAR:"desc",conn_index,srv_index,char_index,desc_index,desc_uuid 
OK

Параметры:

  • conn_index : индекс соединения BLE; только 0 поддерживается для одного соединения прямо сейчас, но в будущем будет поддерживаться несколько соединений BLE.
  • srv_index : индекс сервиса; это можно получить с помощью командыAT+BLEGATTCPRIMSRV=conn_index
  • char_index: characteristic’s index starting from 1
  • char_uuid : UUID характеристики
  • char_prop : свойства характеристики
  • desc_index : индекс дескриптора
  • desc_uuid : UUID дескриптора

Примечание:

  • Соединение BLE должно быть установлено в первую очередь.

Пример:

AT+BLEINIT=1   // role: client
AT+BLECONN=0,"24:12:5f:9d:91:98"
AT+BLEGATTCPRIMSRV=0
AT+BLEGATTCCHAR=0,1 // set a specific index according to the result of the previous command

5.25 [Только ESP32] AT + BLEGATTCRD – GATTC читает характеристику

Установить команду:

AT+BLEGATTCRD=conn_index,srv_index,char_index[,desc_index]
Function: GATTC to read a characteristic or descriptor.

Отклик:

+BLEGATTCRD:conn_index,len,value
OK

Параметры:

  • conn_index : индекс соединения BLE; только 0 поддерживается для одного соединения прямо сейчас, но в будущем будет поддерживаться несколько соединений BLE.
  • srv_index : индекс сервиса; это можно получить с помощью командыAT+BLEGATTCPRIMSRV=conn_index
  • char_index : индекс характеристики; это можно получить с помощью командыAT+BLEGATTCCHAR=conn_index,srv_index
  • [desc_index] (Необязательный параметр): индекс дескриптора.
    • Если он установлен, значение целевого дескриптора будет прочитано;
    • если он не установлен, будет прочитано значение целевой характеристики.
  • len : длина данных
  • char_value : значение характеристики. HEX строка читается по команде AT+BLEGATTCRD=conn_index,srv_index,char_index.
    • Например, если ответ «+ BLEGATTCRD: 1,30», это означает, что длина значения равна 1, а содержимое – «0x30».
  • desc_value : значение дескриптора. HEX строка читается по команде AT+BLEGATTCRD=conn_index,srv_index,char_index,desc_index.
    • Например, если ответ «+ BLEGATTCRD: 4,30313233», это означает, что длина значения равна 4, а содержимое «0x30 0x31 0x32 0x33».

Note:

  • Соединение BLE должно быть установлено в первую очередь.
  • Если целевой признак не может быть прочитан, он вернет «ОШИБКА».

Пример:

AT+BLEINIT=1   // role: client
AT+BLECONN=0,"24:12:5f:9d:91:98"
AT+BLEGATTCPRIMSRV=0
AT+BLEGATTCCHAR=0,3 // set a specific index according to the result of the previous command
// for example, to read 1st descriptor of the 2nd characteristic in the 3rd service, use the following command:
AT+BLEGATTCRD=0,3,2,1

5.26 [Только ESP32] AT + BLEGATTCWR —GATTC записывает характеристику

Установить команду:

AT+BLEGATTCWR=conn_index,srv_index,char_index[,desc_index],length
Function: GATTC to write characteristics or descriptor.

Отклик:


Начните получать серийные данные. Когда требование длины данных, определяемое, выполнено, начинается запись. Если настройка прошла успешно, система возвращает: ОК
Parameters:

  • conn_index : индекс соединения BLE; только 0 поддерживается для одного соединения прямо сейчас, но в будущем будет поддерживаться несколько соединений BLE.
  • srv_index : индекс сервиса; это можно получить с помощью командыAT+BLEGATTCPRIMSRV=conn_index
  • char_index : индекс характеристики; это можно получить с помощью командыAT+BLEGATTCCHAR=conn_index,srv_index
  • [desc_index] (Необязательный параметр): индекс дескриптора.
    • Если он установлен, будет записано значение целевого дескриптора;
    • Если он не установлен, будет записано значение целевой характеристики.
  • длина : длина данных

Note:

  • Соединение BLE должно быть установлено в первую очередь.
  • Если целевой признак не может быть записан, он вернет «ОШИБКА».

Пример:

AT+BLEINIT=1   // role: client
AT+BLECONN=0,"24:12:5f:9d:91:98"
AT+BLEGATTCPRIMSRV=0
AT+BLEGATTCCHAR=0,3 // set a specific index according to the result of the previous command
// for example, to write 6 bytes of data to the 4th characteristic in the 3rd service, use the following command:
AT+BLEGATTCWR=0,3,4,,6 
// after  shows, inputs 6 bytes of data, such as "123456"; then, the writing starts

5.27 [Только ESP32] AT + BLESPPCFG – устанавливает параметры BLE spp

Команда запроса:

AT+BLESPPCFG?
Function: to get the parameters of BLE spp.

Отклик:

+BLESPPCFG:tx_service_index,tx_char_index,rx_service_index,rx_char_index
OK

Установить команду:

AT+BLESCANPARAM=option[,tx_service_index,tx_char_index,rx_service_index,rx_char_index]
Function: to set or reset the parameters of BLE spp.

Отклик:

OK

Параметры:

  • option : если опция равна 0, это означает, что все параметры spp будут сброшены, и следующие четыре параметра не требуют ввода. если опция 1, пользователь должен ввести все параметры.
  • tx_service_index : индекс службы tx; его можно получить с помощью команды AT+BLEGATTCPRIMSRV=conn_indexиAT+BLEGATTSSRVCRE?
  • tx_char_index : индекс характеристики tx; его можно получить с помощью команды AT+BLEGATTCCHAR=conn_index,srv_indexиAT+BLEGATTSCHAR?
  • rx_service_index : индекс службы rx; его можно получить с помощью команды AT+BLEGATTCPRIMSRV=conn_indexиAT+BLEGATTSSRVCRE?
  • rx_char_index : индекс характеристики rx; его можно получить с помощью команды AT+BLEGATTCCHAR=conn_index,srv_indexиAT+BLEGATTSCHAR?

Примечание:

  • В клиенте BLE свойство характеристики tx должно быть записано с ответом или записано без ответа, свойство характеристики rx должно быть указано или уведомлено.
  • На сервере BLE свойство характеристики tx должно быть указано или уведомлено, свойство характеристики rx должно быть записано с ответом или записано без ответа.

Пример:

AT+BLESPPCFG=0          // reset ble spp parameters
AT+BLESPPCFG=1,3,5,3,7  // set ble spp parameters
AT+BLESPPCFG?           // query ble spp parameters 

5.28 [Только ESP32] AT + BLESPP —Введите режим SLE BLE

Execute Command:

AT+BLESPP
Function: Enter BLE spp mode.

Отклик:

   

Примечание:

  • Если параметры ble spp недопустимы, эта команда вернет ERROR.

Пример:

AT+BLESPP   // enter ble spp mode

5.29 [Только ESP32] AT + BLESECPARAM —Установите параметры шифрования BLE

Команда запроса:

AT+BLESECPARAM?
Function: to get the parameters of BLE smp.

Response:

+BLESECPARAM:auth_req,iocap,key_size,init_key,rsp_key,auth_option
OK

Установить команду:

AT+BLESECPARAM=auth_req,iocap,key_size,init_key,rsp_key[,auth_option]
Function: to set the parameters of BLE smp.

Отклик:

OK

Параметры:

  • auth_req :
    • 0: NO_BOND
    • 1: СВЯЗЬ
    • 4: MITM
    • 8: SC_ONLY
    • 9: SC_BOND
    • 12: SC_MITM
    • 13: SC_MITM_BOND
  • iocap :
    • 0: DisplayOnly
    • 1: Показать Да Нет
    • 2 : KeyboardOnly
    • 3: NoInputNoOutput
    • 4: Клавиатура диспл
  • key_size : размер ключа должен быть 7 ~ 16 байт.
  • init_key : комбинация битового шаблона.
  • rsp_key : комбинация битового шаблона.
  • auth_option : опция аутентификации безопасности.
    • 0: выберите уровень безопасности автоматически.
    • 1: Если не удается выполнить заданный уровень безопасности, соединение будет разорвано.

Примечание:

  • Битовая комбинация для init_key & rsp_key:
    • (1 0) Используется для обмена ключом шифрования в ключе инициализации и ключе ответа
    • (1 1) Используется для обмена ключом IRK в ключе инициализации и ключе ответа
    • (12) Used to exchange the CSRK key in the init key & response key
    • (1 3) Используется для обмена ключом связи (этот ключ только что использовался в режиме сосуществования BLE & BR / EDR) в ключе инициализации и ключе ответа

Пример:

AT+BLESECPARAM=1,4,16,3,3,0

5.30 [Только ESP32] AT + BLEENC – инициировать запрос шифрования BLE

Установить команду:

AT+BLEENC=conn_index,sec_act
Function: to start a pairing request

Отклик:

OK

Параметры:

  • conn_index : индекс соединения BLE.
  • sec_act :
    • 0: SEC_NONE
    • 1: SEC_ENCRYPT
    • 2: SEC_ENCRYPT_NO_MITM
    • 3: SEC_ENCRYPT_MITM

Примечание:

  • Before ipput this command, user must set the security paramsters and connection with remote device.

Пример:

AT+BLESECPARAM=1,4,16,3,3
AT+BLEENC=0,3

5.31 [Только ESP32] AT + BLEENCRSP – Предоставить доступ для запроса безопасности

Установить команду:

AT+BLEENCRSP=conn_index,accept
Function: to set a pairing response.

Отклик:

OK

Параметры:

  • conn_index : индекс соединения BLE.
  • принять :
    • 0: отклонить
    • 1: принять;

Пример:

AT+BLEENCRSP=0,1

5.32 [ESP32 Only] AT+BLEKEYREPLY—Reply the key value to the peer device in the lagecy connection stage

Установить команду:

AT+BLEKEYREPLY=conn_index,key
Function: to reply a pairing key.

Отклик:

OK

Параметры:

  • conn_index : индекс соединения BLE.
  • ключ : ключ сопряжения

Пример:

AT+BLEKEYREPLY=0,649784

5.33 [ESP32 Only] AT+BLECONFREPLY—Reply the comfirm value to the peer device in the lagecy connection stage

Установить команду:

AT+BLECONFREPLY=conn_index,confirm
Function: to reply to a pairing result.

Отклик:

OK

Параметры:

  • conn_index : индекс соединения BLE.
  • подтвердить :
    • 0: НЕТ
    • 1: да

Пример:

AT+BLECONFREPLY=0,1

5.34 [Только ESP32] AT + BLEENCDEV – Запрос списка устройств шифрования BLE

Команда запроса:

AT+BLEENCDEV?
Function: to get the bounded devices.

Отклик:

+BLEENCDEV:enc_dev_index,mac_address
OK

Параметры:

  • enc_dev_index : индекс связанных устройств.
  • mac_address: Mac address.

Пример:

AT+BLEENCDEV?

5.35 [Только ESP32] AT + BLEENCCLEAR – Очистить список устройств шифрования BLE

Установить команду:

AT+BLEENCCLEAR=enc_dev_index
Function: remove a device from the security database list with a specific index.

Отклик:

OK

Выполнить команду:

AT+BLEENCCLEAR
Function: remove all devices from the security database.

Отклик:

OK

Параметры:

  • Enc_dev_index: index of the bonded devices.

Пример:

AT+BLEENCCLEAR

5.36 [Только ESP32] AT + BLESETKEY —Установить ключ статической пары BLE

Команда запроса:

AT+BLESETKEY?
Function: to query the ble static pair key, If it's not set, it will returns -1.

Отклик:

+BLESETKEY:static_key
OK

Установить команду:

AT+BLESETKEY=static_key
Function: to set a BLE static pair key for all BLE connections.

Отклик:

OK

Параметры:

  • static_key : статический ключ пары BLE.

Example:

AT+BLESETKEY=123456

5.37 [Только ESP32] AT + BLEHIDINIT – BLE HID инициализация профиля устройства

Query Command:

AT+BLEHIDINIT?
Function: to check the initialization status of BLE HID profile.

Отклик:

Если профиль устройства BLE HID не инициализирован, он вернет:

+BLEHIDINIT:0
OK

Если профиль устройства BLE HID инициализирован, он вернет:

+BLEHIDINIT:1
OK

Установить команду:

AT+BLEHIDINIT=init
Function: to initialize the BLE HID device profile.

Отклик:

OK

Параметр:

  • init :
    • 0: профиль устройства deinit ble hid
    • 1: инициализировать скрытый профиль устройства

Примечания:

  • Команда BLE HID не может использоваться одновременно с общими командами GATT / GAP.

Пример:

AT+BLEHIDINIT=1 

5.38 [Только ESP32] AT + BLEHIDKB – BLE HID Информация о клавиатуре отправлена

Установить команду:

AT+BLEHIDKB=Modifier_keys,key_1,key_2,key_3,key_4,key_5,key_6
Function: to send keyboard informations.

Отклик:

OK

Параметр:

  • Modifier_keys: Modifier keys mask
  • key_1 : код ключа 1
  • key_2 : код ключа 2
  • key_3 : код ключа 3
  • key_4 : код ключа 4
  • key_5 : код ключа 5
  • key_6: key code 6

Пример:

AT+BLEHIDKB=0,4,0,0,0,0,0   // input a

5.39 [Только для ESP32] AT + BLEHIDMUS — BLE HID Информация о мыши отправлена

Установить команду:

AT+BLEHIDMUS=buttons,X_displacement,Y_displacement,wheel
Function: to send mouse informations.

Отклик:

OK

Параметр:

  • кнопки : кнопка мыши
  • X_displacement : смещение X
  • Y_displacement : смещение по оси Y
  • колесо : колесо

Пример:

AT+BLEHIDMUS=0,10,10,0

5.40 [Только для ESP32] AT + BLEHIDCONSUMER – BLE HID отправляет информацию о потребителе

Установить команду:

AT+BLEHIDCONSUMER=consumer_usage_id
Function: to send consumer informations.

Отклик:

OK

Параметр:

  • consumer_usage_id : идентификатор потребителя, такой как мощность, сброс, справка, громкость и т. д.

Пример:

AT+BLEHIDCONSUMER=233   // volume up

6. [Только ESP32] BLE AT Пример

Ниже приведен пример использования двух модулей ESP32, один из которых используется в качестве сервера BLE (в дальнейшем именуемый «Сервер ESP32»), а другой – в качестве клиента BLE (далее именуемый «Клиент ESP32»). В примере показано, как использовать функции BLE с AT-командами.
Обратите внимание:

  • Сервер ESP32 должен загрузить «корзину услуг» во Flash для предоставления услуг BLE.
    • Чтобы узнать, как создать «сервисный бин», пожалуйста, обратитесь к esp-at / tools / readme.md.
    • Адрес загрузки «сервисного бина» – это адрес «ble_data» в esp-at / partitions_at.csv.
  1. Инициализация BLE:Сервер ESP32:
     Command:
     AT+BLEINIT=2                              // server role
     
     Response:
     OK
    

    Клиент ESP32:

     Command:
     AT+BLEINIT=1                              // client role
     
     Response:
     OK
    
  2. Установите соединение BLE:Сервер ESP32:
    (1) Запросить адрес BLE. Например, его адрес: «24: 0a: c4: 03: f4: d6».

     Command:
     AT+BLEADDR?                              // get server's BLE address
     
     Response:
     +BLEADDR:24:0a:c4:03:f4:d6
     OK
    

    (2) Начать рекламу.

     Command:
     AT+BLEADDR?                              // get server's BLE address
     
     Response:
     +BLEADDR:24:0a:c4:03:f4:d6
     OK
    

    Клиент ESP32:
    (1) Запустите сканирование.

     Command:
     AT+BLESCAN=1,3
     
     Response:
     +BLESCAN:BLE address,rssi,adv_data,scan_rsp_data
     OK
    

    (2) Установите соединение BLE после успешного сканирования сервера.

     AT+BLECONN=0,"24:0a:c4:03:f4:d6"
     
     Response:
     OK
     +BLECONN:0,"24:0a:c4:03:f4:d6"
    

    Примечания:

    • If the BLE connection is established successfully, it will prompt +BLECONN:conn_index,remote_BLE_address
    • Если соединение BLE прервано, оно подскажет +BLEDISCONN:conn_index,remote_BLE_address
  3. Читать / написать характеристику:Сервер ESP32:
    (1) Создание сервисов.

     AT+BLEGATTSSRVCRE
     
     Response:
     OK
    

    (2) Запустить услуги.

     AT+BLEGATTSSRVSTART
     
     Response:
     OK
    

    (3) Откройте для себя характеристики.

     AT+BLEGATTSCHAR?          
     
     Response:
     +BLEGATTSCHAR:"char",1,1,0xC300
     +BLEGATTSCHAR:"desc",1,1,1
     +BLEGATTSCHAR:"char",1,2,0xC301
     +BLEGATTSCHAR:"desc",1,2,1
     +BLEGATTSCHAR:"char",1,3,0xC302
     +BLEGATTSCHAR:"desc",1,3,1
     OK
    

    Клиент ESP32:
    (1) Обнаружение услуг.

     AT+BLEGATTCPRIMSRV=0   
     
     Response:
     +BLEGATTCPRIMSRV:0,1,0x1801,1
     +BLEGATTCPRIMSRV:0,2,0x1800,1
     +BLEGATTCPRIMSRV:0,3,0xA002,1
     OK
    

    Примечание:

    • При обнаружении служб клиент ESP32 получит еще две службы по умолчанию (UUID: 0x1800 и 0x1801), чем сервер ESP32.
    • Таким образом, для той же службы srv_index, полученный клиентом ESP32, равен srv_index, полученному ESP32 Server + 2.
    • Например, srv_index вышеупомянутой службы, 0xA002, равен 3, когда клиент ESP32 находится в процессе обнаружения служб. Но если сервер ESP32 попытается обнаружить его с помощью команды AT+BLEGATTSSRV?, srv_index будет равен 1.

    (2) Откройте для себя характеристики.

     AT+BLEGATTCCHAR=0,3
     
     Response:
     +BLEGATTCCHAR:"char",0,3,1,0xC300,2
     +BLEGATTCCHAR:"desc",0,3,1,1,0x2901
     +BLEGATTCCHAR:"char",0,3,2,0xC301,2
     +BLEGATTCCHAR:"desc",0,3,2,1,0x2901
     +BLEGATTCCHAR:"char",0,3,3,0xC302,8
     +BLEGATTCCHAR:"desc",0,3,3,1,0x2901
     +BLEGATTCCHAR:"char",0,3,4,0xC303,4
     +BLEGATTCCHAR:"desc",0,3,4,1,0x2901
     +BLEGATTCCHAR:"char",0,3,5,0xC304,8
     +BLEGATTCCHAR:"char",0,3,6,0xC305,16
     +BLEGATTCCHAR:"desc",0,3,6,1,0x2902
     +BLEGATTCCHAR:"char",0,3,7,0xC306,32
     +BLEGATTCCHAR:"desc",0,3,7,1,0x2902
     OK  
    

    (3) Прочитайте характеристику. Обратите внимание, что свойство целевой характеристики должно поддерживать операцию чтения.

     AT+BLEGATTCRD=0,3,1
     
     Response:
     +BLEGATTCRD:0,1,30
     OK
    

    Примечание:

    • Если клиент ESP32 успешно читает характеристику, +READ:conn_index,remote BLE addressна стороне сервера ESP32 будет отображаться сообщение .

    (4) Напишите характеристику. Обратите внимание, что свойство целевой характеристики должно поддерживать операцию записи.

     AT+BLEGATTCWR=0,3,3,,2
     
     Response:
            // waiting for data
     OK
    

    Note:

    • Если клиент ESP32 успешно записывает характеристику, +WRITE:conn_index,srv_index,char_index,[desc_index],len,valueпоявится сообщение на стороне сервера ESP32.
  4. Уведомить о характеристике:Клиент ESP32:
    (1) Настройте дескриптор характеристики. Обратите внимание, что свойство целевой характеристики должно поддерживать уведомления.

     AT+BLEGATTCWR=0,3,6,1,2       
     
     Response:
            // waiting for data
     OK
    

    Примечание:

    • Если клиент ESP32 успешно пишет дескриптор, +WRITE:conn_index,srv_index,char_index,desc_index,len,valueна стороне сервера ESP32 появится сообщение.

    Сервер ESP32:
    (1) Уведомить о характеристике. Обратите внимание, что свойство целевой характеристики должно поддерживать уведомления.

     AT+BLEGATTSNTFY=0,1,6,3
     
     Response:
            // waiting for data
     OK
    

    Примечание:

    • Если клиент ESP32 получит уведомление, он выдаст сообщение +NOTIFY:conn_index,srv_index,char_index,len,value.
    • Для той же службы srv_index на стороне клиента ESP32 равен srv_index на стороне сервера ESP32 + 2.
  5. Укажите характеристику:Клиент ESP32:
    (1) Настройте дескриптор характеристики. Обратите внимание, что свойство целевой характеристики должно поддерживать операцию указания.

     AT+BLEGATTCWR=0,3,7,1,2       
     
     Response:
            // waiting for data
     OK
    

    Примечание:

    • If the ESP32 Client writes the descriptor successfully, message +WRITE:conn_index,srv_index,char_index,desc_index,len,value will be prompted on the ESP32 Server side.

    Сервер ESP32:
    (1) Укажите характеристику. Обратите внимание, что свойство целевой характеристики должно поддерживать операцию указания.

     AT+BLEGATTSIND=0,1,7,3
     
     Response:
            // waiting for data
     OK
    

    Примечание:

    • Если клиент ESP32 получает указание, он выдаст сообщение +INDICATE:conn_index,srv_index,char_index,len,value
    • Для той же службы srv_index на стороне клиента ESP32 равен srv_index на стороне сервера ESP32 + 2.

7 [Только ESP32] ETH AT Команды

7.1 [Только ESP32] AT + CIPETHMAC —Устанавливает MAC-адрес Ethernet ESP32

Команда запроса:

AT+CIPETHMAC?
Function: to obtain the MAC address of the ESP32 Ethernet.

Отклик:

+CIPETHMAC:mac
OK

Установить команду:

AT+CIPETHMAC =mac
Function: to set the MAC address of the ESP32 Ethernet.

Отклик:

OK

Параметры:

  • mac : строковый параметр, MAC-адрес ESP8266 Ethernet.

Примечания:

  • Изменения конфигурации будут сохранены в области NVS.
  • MAC-адрес ESP32 SoftAP отличается от MAC-адреса станции ESP32. Пожалуйста, убедитесь, что вы не установили одинаковый MAC-адрес для них обоих.
  • Бит 0 MAC-адреса ESP32 НЕ МОЖЕТ быть равен 1.
    • Например, MAC-адрес может быть «1a:…», но не «15:…».
  • FF: FF: FF: FF: FF: FF и 00: 00: 00: 00: 00: 00 являются недействительными MAC и не могут быть установлены.

Пример:

AT+CIPETHMAC ="1a:fe:35:98:d4:7b"

7.2 [Только ESP32] AT + CIPETH – Устанавливает IP-адрес ESP32 Ethernet

Query Command:

AT+CIPETH?
Function: to obtain the IP address of the ESP32 Ethernet.
Notice: Only after calling esp_at_eth_cmd_regist can its IP address be queried.

Отклик:

+CIPETH:ip:ip
+CIPETH:gateway:gateway
+CIPETH:netmask:netmask
OK

Установить команду:

AT+CIPETH=ip[,gateway,netmask]
Function: to set the IP address of the ESP32 Ethernet.

Отклик:

OK

Параметры:

  • ip : строковый параметр, IP-адрес ESP32 Ethernet.
  • [шлюз] : шлюз.
  • [маска сети] : маска сети.

Примечания:

  • Изменения конфигурации будут сохранены в области NVS.
  • Команда set взаимодействует с командами AT, связанными с DHCP (команды, связанные с AT + CWDHCP):
    • Если статический IP включен, DHCP будет отключен;
    • Если DHCP включен, статический IP будет отключен;
    • Будь то DHCP или статический IP, который включен, зависит от последней конфигурации.

Пример:

AT+CIPETH="192.168.6.100","192.168.6.1","255.255.255.0"

8. [Только ESP32] BT-связанные AT-команды

8.1 [Только ESP32] AT + BTINIT – Классическая инициализация Bluetooth

Команда запроса:

AT+BTINIT?
Function: to check the initialization status of classic bluetooth.

Отклик:

Если классический блютуз не инициализирован, он вернет:

+BTINIT:0
OK

Если классический bluetooth инициализирован, он вернет:

+BTINIT:1
OK

Установить команду:

AT+BTINIT=init
Function: to init or deinit classic bluetooth.

Отклик:

OK

Параметр:

  • INIT:
    • 0: классический Bluetooth
    • 1: init classic bluetooth

Пример:

AT+BTINIT=1    

8.2 [Только ESP32] AT + BTNAME – устанавливает имя устройства BT

Команда запроса:

AT+BTNAME?
Function: to get the classic bluetooth device name.

Отклик:

+BTNAME:device_name
OK

Установить команду:

AT+BTNAME=device_name
Function: to set the classic bluetooth device name.

Отклик:

OK

Параметр:

  • имя_устройства : классическое имя устройства Bluetooth

Примечания:

  • Классическое имя устройства Bluetooth по умолчанию – «ESP32_AT».

Пример:

AT+BTNAME="esp_demo"    

8.3 [Только ESP32] AT + BTSCANMODE —Устанавливает режим BT SCAN

Установить команду:

AT+BTSCANMODE=scan_mode
Function: to set the scan mode of classic bluetooth.

Отклик:

OK

Параметры:

  • scan_mode :
    • 0: Neither discoverable nor connectable
    • 1: подключаемый, но не обнаруживаемый
    • 2: как обнаруживаемые, так и подключаемые

Пример:

AT+BTSCANMODE=2   // both discoverable and connectable

8.4 [Только ESP32] AT + BTSTARTDISC – запуск обнаружения BT

Установить команду:

AT+BTSTARTDISC=inq_mode,inq_len,inq_num_rsps
Function: to set the scan mode of classic bluetooth.

Отклик:

+BTSTARTDISC:bt_addr,dev_name,major_dev_class,minor_dev_class,major_srv_class,rssi

OK

Параметры:

  • inq_mode:
    • 0: режим общего запроса
    • 1: режим ограниченного запроса
  • inq_len : длительность запроса от 0x01 до 0x30
  • inq_num_rsps : количество ответов на запросы, которые могут быть получены, значение 0 указывает на неограниченное количество ответов
  • bt_addr : адрес Bluetooth
  • dev_name : имя устройства
  • major_dev_class :
    • 0x0: Разное
    • 0x1: компьютер
    • 0x2: телефон (сотовый, беспроводной, таксофон, модем)
    • 0x3: LAN, точка доступа к сети
    • 0x4: Разное
    • 0x5: периферия (мышь, джойстик, клавиатура)
    • 0x6: Imaging (принтер, сканер, камера, дисплей)
    • 0x7: носимый
    • 0x8: игрушка
    • 0x9: здоровье
    • 0x1F: Без категории: устройство не указано
  • Minor_dev_class
    • пожалуйста, обратитесь к этой сети
  • major_srv_class :
    • 0x0: None указывает на недопустимое значение
    • 0x1: режим ограниченного обнаружения
    • 0x8: Позиционирование (идентификация местоположения)
    • 0x10: сеть, например LAN, Ad hoc
    • 0x20: рендеринг, например печать, динамики
    • 0x40: захват, например, сканер, микрофон
    • 0x80: передача объекта, например, v-Inbox, v-Folder
    • 0x100: аудио, например, динамик, микрофон, служба набора заголовков
    • 0x200: телефония, например, беспроводная телефония, модем, гарнитура
    • 0x400: информация, например, WEB-сервер, WAP-сервер
  • rssi : уровень сигнала

Пример:

AT+BTINIT=1
AT+BTSCANMODE=2
AT+BTSTARTDISC=0,10,10

8.5 [ESP32 Only] AT+BTSPPINIT—Classic Bluetooth SPP profile initialization

Команда запроса:

AT+BTSPPINIT?
Function: to check the initialization status of classic bluetooth SPP profile.

Отклик:

Если классический профиль Bluetooth SPP не инициализирован, он вернет:

+BTSPPINIT:0
OK

Если классический профиль Bluetooth SPP инициализирован, он вернет:

+BTSPPINIT:1
OK

Установить команду:

AT+BTSPPINIT=init
Function: to init or deinit classic bluetooth SPP profile.

Отклик:

OK

Параметр:

  • init :
    • 0: профиль deinit classic bluetooth SPP
    • 1: инициализация классического профиля Bluetooth SPP, роль хозяина
    • 2: инициализация классического профиля Bluetooth SPP, роль подчиненного

Пример:

AT+BTSPPINIT=1    //master    
AT+BTSPPINIT=2    //slave

8.6 [Только ESP32] AT + BTSPPCONN – устанавливает соединение SPP

Команда запроса:

AT+BTSPPCONN?
Function: to query classic bluetooth SPP connection.

Отклик:

+BTSPPCONN:conn_index,remote_address
OK

Если соединение не было установлено, то нет conn_index и remote_address Set Command:

AT+BTSPPCONN=conn_index,sec_mode,remote_address
Function: to establish the classic bluetooth SPP connection.

Response:

OK

При успешном установлении соединения появится следующее сообщение:

+BTSPPCONN:conn_index,remote_address

Будет показано сообщение ниже, если НЕТ:

+BTSPPCONN:conn_index,-1

Параметры:

  • conn_index : индекс классического соединения Bluetooth spp; только 0 поддерживается для одного соединения прямо сейчас.
  • sec_mode
    • 0x0000: нет безопасности
    • 0x0001: требуется авторизация (требуется только для исходящего соединения)
    • 0x0012: требуется аутентификация.
    • 0x0024: требуется шифрование.
    • 0x0040: услуга уровня 4 уровня 4, то есть входящее / исходящее MITM и шифрование P-256
    • 0x3000: защита человека в середине
    • 0x4000: минимум 16 цифр для пин-кода
  • remote_address : удаленный классический адрес устройства Bluetooth spp

Пример:

AT+BTSPPCONN=0,0,"24:0a:c4:09:34:23"

8.7 [Только ESP32] AT + BTSPPDISCONN – Завершает соединение SPP

Выполнить команду:

AT+BTSPPDISCONN=conn_index
Function: to end the classic bluetooth SPP connection.

Отклик:

OK

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

+BTSPPDISCONN:conn_index,remote_address

Parameter:

  • conn_index : индекс классического соединения Bluetooth SPP; только 0 поддерживается для одного соединения прямо сейчас.
  • remote_address : удаленный классический адрес устройства Bluetooth A2DP.

Пример:

AT+BTSPPDISCONN=0

8.8 [Только ESP32] AT + BTSPPSEND – отправляет данные на удаленное классическое устройство Bluetooth spp

Выполнить команду:

AT+BTSPPSEND
Function: Enter BT SPP mode.

Отклик:

   

Выполнить команду:

AT+BTSPPSEND=conn_index,data_len
Function: send data to the remote classic bluetooth SPP device.

Отклик:

OK

Параметр:

  • conn_index : индекс классического соединения Bluetooth SPP; только 0 поддерживается для одного соединения прямо сейчас.
  • data_len : длина данных, которые были готовы к отправке.

Примечания:

  • Возврат переноса после выполнения этой команды. Затем ESP32 переходит в режим сквозной передачи UART-BT. При получении одного пакета, содержащего +++, ESP32 возвращается в обычный командный режим. Пожалуйста, подождите хотя бы одну секунду перед отправкой следующей AT-команды.

Пример:

AT+BTSPPSEND=0,100
AT+BTSPPSEND

8.9 [Только ESP32] AT + BTSPPSTART – запуск классического профиля Bluetooth SPP.

Выполнить команду:

AT+BTSPPSTART
Function: start the classic bluetooth SPP profile.

Отклик:

OK

Example:

AT+BTSPPSTART

8.10 [Только ESP32] AT + BTA2DPINIT – Классическая инициализация профиля Bluetooth A2DP

Команда запроса:

AT+BTA2DPINIT?
Function: to check the initialization status of classic bluetooth A2DP profile.

Отклик:

Если классический профиль Bluetooth A2DP не инициализирован, он вернется

+BTA2DPINIT:0
OK

Если классический профиль Bluetooth A2DP инициализирован, он вернется

+BTA2DPINIT:1
OK

Установить команду:

AT+BTA2DPINIT=role,init_val
Function: to init or deinit classic bluetooth A2DP profile.

Отклик:

OK

Параметр:

  • роль :
    • 0: источник
    • 1: раковина
  • init_val :
    • 0: профиль deinit классический bluetooth A2DP
    • 1: инициализация классического профиля Bluetooth A2DP

Пример:

AT+BTA2DPINIT=0,1

8.11 [Только ESP32] AT + BTA2DPCONN – создание соединения A2DP

Команда запроса:

AT+BTA2DPCONN?
Function: to query classic bluetooth A2DP connection.

Отклик:

+BTA2DPCONN:conn_index,remote_address
OK

Если соединение не было установлено, НЕ будет установлено conn_index и remote_address Set Command:

AT+BTA2DPCONN=conn_index,remote_address
Function: to establish the classic bluetooth A2DP connectionn.

Отклик:

OK

При успешном установлении соединения появится следующее сообщение:

+BTA2DPCONN:conn_index,remote_address

It will prompt the message below, if NOT:

+BTA2DPCONN:conn_index,fail

Параметры:

  • conn_index: index of classic bluetooth A2DP connection; only 0 is supported for the single connection right now.
  • remote_address:remote classic bluetooth A2DP device address.

Пример:

AT+BTA2DPCONN=0,0,0,"24:0a:c4:09:34:23"

8.12 [Только ESP32] AT + BTA2DPDISCONN – Завершает соединение A2DP

Выполнить команду:

AT+BTA2DPDISCONN=conn_index
Function: to end the classic bluetooth A2DP connection.

Отклик:

OK

Если команда выполнена успешно, она предложит + BTA2DPDISCONN: conn_index, remote_address Параметр:

  • conn_index : индекс классического соединения Bluetooth A2DP; только 0 поддерживается для одного соединения прямо сейчас.
  • remote_address : удаленный классический адрес устройства Bluetooth A2DP.

Пример:

AT+BTA2DPDISCONN=0

8.13 [Только ESP32] AT + BTA2DPSRC – установить или запросить URL аудиофайла

Выполнить команду:

AT+BTA2DPSRC=conn_index,url
Function: Set the audio file URL.

Отклик:

OK

Команда запроса:

AT+BTA2DPSRC?
Function: to query the audio file URL.

Отклик:

+BTA2DPSRC:url,type
OK

Параметр:

  • conn_index : индекс классического соединения Bluetooth A2DP; только 0 поддерживается для одного соединения прямо сейчас.
  • url : путь к исходному файлу. HTTP HTTPS и FLASH в настоящее время поддерживаются.
  • тип : тип аудиофайла, например, «mp3».

Примечание:

  • В настоящее время поддерживается только формат mp3.

Пример:

AT+BTA2DPSRC="https://dl.espressif.com/dl/audio/ff-16b-2c-44100hz.mp3"
AT+BTA2DPSRC="flash://spiffs/zhifubao.mp3"

8.14 [Только ESP32] AT + BTA2DPCTRL – управление воспроизведением аудио

Выполнить команду:

AT+BTA2DPCTRL=conn_index,ctrl
Function: control the audio play

Отклик:

OK

Параметр:

  • conn_index : индекс классического соединения Bluetooth A2DP; только 0 поддерживается для одного соединения прямо сейчас.
  • ctrl : типы контроля.
    • 0: A2DP Раковина, остановка воспроизведения
    • 1: A2DP Раковина, начать играть
    • 2: A2DP Раковина, вперед
    • 3: A2DP Раковина, назад
    • 4: A2DP Раковина, быстрый старт
    • 5: A2DP Раковина, быстрая остановка
    • 0: источник A2DP, остановка воспроизведения
    • 1: A2DP Источник, начать игру
    • 2: источник A2DP, приостановить

Пример:

AT+BTA2DPCTRL=0,1  // start play audio

8.15 [Только ESP32] AT + BTSECPARAM —Установите и запросите параметры безопасности классического Bluetooth

Команда запроса:

AT+BTSECPARAM?
Function: to query classic bluetooth security parameters.

Отклик:

+BTSECPARAM:io_cap,pin_type,pin_code
OK

Установить команду:

AT+BTSECPARAM=io_cap,pin_type,pin_code
Function: set the Classic Bluetooth security parameters.

Отклик:

OK

Параметры:

  • io_cap : возможность io.
    • 0: DisplayOnly
    • 1: Показать Да Нет
    • 2: KeyboardOnly
    • 3: NoInputNoOutput
  • pin_type : используйте переменный или фиксированный PIN-код.
    • 0: переменная
    • 1: исправлено
  • pin_code : ПИН-код устаревшей пары (до 16 байт).

Примечания:

  • Если pin_type является переменной, pin_code будет игнорироваться,

Пример:

AT+BTSECPARAM=3,1,"9527"

8.16 [Только ESP32] AT + BTKEYREPLY —Ввод простой пары ключей

Выполнить команду:

AT+BTKEYREPLY=conn_index,Key
Function: Input the Simple Pair Key.

Отклик:

OK

Параметр:

  • conn_index : индекс классического соединения Bluetooth; В настоящее время поддерживается только 0 для одного соединения.
  • Ключ : ключ простой пары.

Пример:

AT+BTKEYREPLY=0,123456

8.17 [Только ESP32] AT + BTPINREPLY – введите PIN-код устаревшей пары

Выполнить команду:

AT+BTPINREPLY=conn_index,Pin
Function: Input the Legacy Pair PIN Code.

Отклик:

OK

Параметр:

  • conn_index : индекс классического соединения Bluetooth; В настоящее время поддерживается только 0 для одного соединения.
  • Pin : PIN-код устаревшей пары.

Пример:

AT+BTPINREPLY=0,"6688"

8.18 [Только ESP32] AT + BTSECCFM – Повторное подтверждение значения для однорангового устройства на этапе устаревшего соединения

Выполнить команду:

AT+BTSECCFM=conn_index,accept
Function: Reply the confirm value to the peer device in the legacy connection stage.

Отклик:

OK

Параметр:

  • conn_index : индекс классического соединения Bluetooth; В настоящее время поддерживается только 0 для одного соединения.
  • принять : отклонить или принять.
    • 0: отклонить
    • 1: принять

Пример:

AT+BTSECCFM=0,1

8.19 [Только ESP32] AT + BTENCDEV – Список устройств шифрования запросов BT

Команда запроса:

AT+BTENCDEV?
Function: to get the bonded devices.

Отклик:

+BTENCDEV:enc_dev_index,mac_address
OK

Параметры:

  • enc_dev_index : индекс связанных устройств.
  • mac_address : Mac-адрес.

Пример:

AT+BTENCDEV?

8.20 [Только ESP32] AT + BTENCCLEAR – Очистить список устройств шифрования BT

Установить команду:

AT+BTENCCLEAR=enc_dev_index
Function: remove a device from the security database list with a specific index.

Отклик:

OK

Выполнить команду:

AT+BLEENCCLEAR
Function: remove all devices from the security database.

Отклик:

OK

Параметры:

  • enc_dev_index : индекс связанных устройств.

Пример:

AT+BTENCCLEAR

AT + MQTTUSERCFG – Установить конфигурацию пользователя MQTT

Установить команду:

AT+MQTTUSERCFG=LinkID,scheme,"client_id","username","password",cert_key_ID,CA_ID,"path"

Функция:

Set MQTT User Config  

Отклик:

OK 

Параметры:

  • LinkID : пока поддерживается только идентификатор ссылки 0
  • схема :
    • 1: MQTT over TCP
    • 2: MQTT over TLS(no certificate verify)
    • 3: MQTT over TLS(verify server certificate)
    • 4: MQTT over TLS(provide client certificate)
    • 5: MQTT over TLS(verify server certificate and provide client certificate)
    • 6: MQTT over WebSocket(based on TCP)
    • 7: MQTT over WebSocket Secure(based on TLS, no certificate verify)
    • 8: MQTT over WebSocket Secure(based on TLS, verify server certificate)
    • 9: MQTT over WebSocket Secure(based on TLS, provide client certificate)
    • 10: MQTT over WebSocket Secure(based on TLS, verify server certificate and provide client certificate)
  • client_id : идентификатор клиента MQTT, максимальная длина 256 байт
  • username : имя пользователя для входа в брокер MQTT, максимальная длина 64Bytes
  • пароль : пароль для входа в брокер MQTT, максимальная длина 64 байта
  • cert_key_ID : идентификатор сертификата, на данный момент поддерживается только один сертификат с идентификатором 0
  • CA_ID : CA ID, пока поддерживает только один CA с ID 0
  • путь : путь к ресурсу, максимальная длина 32 байта

Примечание:

  • Общая длина всей AT-команды должна быть не более 256 байт.

AT + MQTTCONNCFG – Установить конфигурацию соединения MQTT


Установить команду:

AT+MQTTCONNCFG=LinkID,keepalive,disable_clean_session,"lwt_topic","lwt_msg",lwt_qos,lwt_retain

Функция:

Set configuration of MQTT Connection 

Отклик:

OK

Параметры:

  • LinkID : пока поддерживается только идентификатор ссылки 0
  • keepalive : время ожидания пинга MQTT, диапазон [60, 7200], единица измерения: секунда. По умолчанию 120 с.
  • disable_clean_session : установить чистый сеанс MQTT
    • 0: включить чистую сессию
    • 1: отключить чистую сессию
  • lwt_topic : тема сообщения LWT (Last Will и Завет), максимальная длина 64Bytes
  • lwt_msg : сообщение LWT, максимальная длина 64 байт
  • lwt_qos : LWT QoS, может быть установлено в 0, или 1, или 2. По умолчанию 0.
  • lwt_retain : сохранение LWT, может быть установлено в 0 или 1. По умолчанию 0.

AT + MQTTCONN – подключиться к MQTT Broker

Установить команду:

AT+MQTTCONN=LinkID,"host",port,reconnect

Функция:

Connect to a MQTT broker.  

Отклик:

OK

Команда запроса:

AT+MQTTCONN?

Функция:

Get the MQTT broker that the ESP chip connected to.  

Отклик:

+MQTTCONN:LinkID,state,scheme"host",port,"path",reconnect
OK

Параметры:

  • LinkID : пока поддерживается только идентификатор ссылки 0
  • host : домен брокера MQTT, максимальная длина 128 байт
  • порт : порт MQTT-брокера, макс. порт 65535
  • путь : путь, максимальная длина 32 байта
  • восстановить соединение :
    • 0: MQTT не будет автоматически переподключаться
    • 1: MQTT автоматически переподключится, потребуется больше ресурсов
  • состояние : состояния MQTT
    • 0: MQTT неинициализирован
    • 1: уже установлено AT+MQTTUSERCFG
    • 2: уже установлено AT+MQTTCONNCFG
    • 3: соединение отключено
    • 4: соединение установлено
    • 5: подключен, но не подписался ни на одну тему
    • 6: подключен и подписан на тему MQTT
  • схема :
    • 1: MQTT через TCP`
    • 2: MQTT по TLS (без проверки сертификата)
    • 3: MQTT через TLS (проверьте сертификат сервера)
    • 4: MQTT через TLS (предоставить сертификат клиента)
    • 5: MQTT по TLS (проверить сертификат сервера и предоставить сертификат клиента) `
    • 6: MQTT через WebSocket (на основе TCP)
    • 7: MQTT через WebSocket Secure (на основе TLS, без проверки сертификата)
    • 8: MQTT через WebSocket Secure (на основе TLS, проверьте сертификат сервера)
    • 9: MQTT через WebSocket Secure (на основе TLS, предоставить сертификат клиента)
    • 10: MQTT через WebSocket Secure (на основе TLS, проверьте сертификат сервера и предоставьте сертификат клиента)

AT + MQTTPUB – опубликовать MQTT-сообщение в строке

Установить команду:

AT+MQTTPUB=LinkID,"topic","data",qos,retain

Функция:

Publish MQTT message in string to defined topic. If you need to publish message in binary, please use command `AT+MQTTPUBRAW` instead.

Отклик:

OK

Параметры:

  • LinkID : пока поддерживается только идентификатор ссылки 0
  • topic : тема MQTT, максимальная длина 64 байт
  • данные : MQTT-сообщение в строке.
  • qos : qos сообщения публикации, может быть установлено в 0, или 1, или 2. По умолчанию 0.
  • сохранить : сохранить флаг

Примечание:

  • Общая длина всей AT-команды должна быть не более 256 байт.
  • Эта команда не может отправлять данные \0, если вам нужно отправить \0, используйте AT+MQTTPUBRAWвместо этого команду .

AT + MQTTPUBRAW – Опубликовать сообщение MQTT в двоичном формате.

Установить команду:

AT+MQTTPUBRAW=LinkID,"topic",length,qos,retain

Функция:

Publish MQTT message in binary to defined topic.

Отклик:

OK
 

Wrap return после команды Set. Начните получать серийные данные. Микропрограмма AT будет ждать до тех пор, пока не будет достигнута длина данных, определяемая параметром. Все полученные данные будут рассматриваться как сообщение публикации MQTT. Когда данные встречаются, начинается передача данных. И тогда он ответит как следующее сообщение.

+MQTTPUB:FAIL    

Или же

+MQTTPUB:OK  

Параметры:

  • LinkID : пока поддерживается только идентификатор ссылки 0
  • topic : тема MQTT, максимальная длина 64 байт
  • длина : длина сообщения MQTT, максимальная длина по умолчанию составляет 1024. Пользователи могут изменить ограничение максимальной длины, установив MQTT_BUFFER_SIZE_BYTEвmake menuconfig
  • qos : qos сообщения публикации, может быть установлено в 0, или 1, или 2. По умолчанию 0.
  • сохранить : сохранить флаг

AT + MQTTSUB – Подписаться на тему MQTT

Установить команду:

AT+MQTTSUB=LinkID,"topic",qos

Функция:

Subscribe to defined MQTT topic with defined QoS. It supports subscribing to multiple topics.

Отклик:

OK

Когда получено MQTT-сообщение из подписавшейся темы, оно подскажет:

+MQTTSUBRECV:LinkID,"topic",data_length,data    

Если тема была подписана ранее, она предложит:
ALREADY SUBSCRIBE

Команда запроса:

AT+MQTTSUB?    

Функция:

Get all MQTT topics that already subscribed.

Отклик:

+MQTTSUB:LinkID,state,"topic1",qos  
+MQTTSUB:LinkID,state,"topic2",qos
+MQTTSUB:LinkID,state,"topic3",qos
...
OK

Параметры:

  • LinkID : пока поддерживается только идентификатор ссылки 0
  • состояние : состояния MQTT
    • 0: MQTT неинициализирован
    • 1: уже установлено AT+MQTTUSERCFG
    • 2: уже установлено AT+MQTTCONNCFG
    • 3: соединение отключено
    • 4: соединение установлено
    • 5: подключен, но не подписался ни на одну тему
    • 6: подключен и подписан на тему MQTT
  • topic : тема, на которую подписан
  • qos : QoS, который подписался на

AT + MQTTUNSUB – Отписаться от темы MQTT

Установить команду:

AT+MQTTUNSUB=LinkID,"topic"   

Функция:

 Unsubscribe the client from defined topic. This command can be called multiple times to unsubscribe from differrent topics.

Отклик:

OK

Параметры:

  • LinkID : пока поддерживается только идентификатор ссылки 0
  • topic : тема MQTT, максимальная длина 64 байт

Примечание:

  • Если тема не была подписана, то появится журнал AT NO UNSUBSCRIBE. И команда AT все равно ответит OK.

AT + MQTTCLEAN – закрыть соединение MQTT

Установить команду:

AT+MQTTCLEAN=LinkID  

Функция:

Close the MQTT connection, and release the resource.

Отклик:

OK

Параметры:

  • LinkID : пока поддерживается только идентификатор ссылки 0

Коды ошибок MQTT

Код ошибки MQTT будет отображаться как ERR CODE:0x%08x.

    AT_MQTT_NO_CONFIGURED,                              // 0x6001
    AT_MQTT_NOT_IN_CONFIGURED_STATE,                    // 0x6002
    AT_MQTT_UNINITIATED_OR_ALREADY_CLEAN,               // 0x6003
    AT_MQTT_ALREADY_CONNECTED,                          // 0x6004
    AT_MQTT_MALLOC_FAILED,                              // 0x6005
    AT_MQTT_NULL_LINK,                                  // 0x6006
    AT_MQTT_NULL_PARAMTER,                              // 0x6007
    AT_MQTT_PARAMETER_COUNTS_IS_WRONG,                  // 0x6008
    AT_MQTT_TLS_CONFIG_ERROR,                           // 0x6009
    AT_MQTT_PARAM_PREPARE_ERROR,                        // 0x600A
    AT_MQTT_CLIENT_START_FAILED,                        // 0x600B
    AT_MQTT_CLIENT_PUBLISH_FAILED,                      // 0x600C
    AT_MQTT_CLIENT_SUBSCRIBE_FAILED,                    // 0x600D
    AT_MQTT_CLIENT_UNSUBSCRIBE_FAILED,                  // 0x600E
    AT_MQTT_CLIENT_DISCONNECT_FAILED,                   // 0x600F
    AT_MQTT_LINK_ID_READ_FAILED,                        // 0x6010
    AT_MQTT_LINK_ID_VALUE_IS_WRONG,                     // 0x6011
    AT_MQTT_SCHEME_READ_FAILED,                         // 0x6012
    AT_MQTT_SCHEME_VALUE_IS_WRONG,                      // 0x6013
    AT_MQTT_CLIENT_ID_READ_FAILED,                      // 0x6014
    AT_MQTT_CLIENT_ID_IS_NULL,                          // 0x6015
    AT_MQTT_CLIENT_ID_IS_OVERLENGTH,                    // 0x6016
    AT_MQTT_USERNAME_READ_FAILED,                       // 0x6017
    AT_MQTT_USERNAME_IS_NULL,                           // 0x6018
    AT_MQTT_USERNAME_IS_OVERLENGTH,                     // 0x6019
    AT_MQTT_PASSWORD_READ_FAILED,                       // 0x601A
    AT_MQTT_PASSWORD_IS_NULL,                           // 0x601B
    AT_MQTT_PASSWORD_IS_OVERLENGTH,                     // 0x601C
    AT_MQTT_CERT_KEY_ID_READ_FAILED,                    // 0x601D
    AT_MQTT_CERT_KEY_ID_VALUE_IS_WRONG,                 // 0x601E
    AT_MQTT_CA_ID_READ_FAILED,                          // 0x601F
    AT_MQTT_CA_ID_VALUE_IS_WRONG,                       // 0x6020
    AT_MQTT_CA_LENGTH_ERROR,                            // 0x6021
    AT_MQTT_CA_READ_FAILED,                             // 0x6022
    AT_MQTT_CERT_LENGTH_ERROR,                          // 0x6023
    AT_MQTT_CERT_READ_FAILED,                           // 0x6024
    AT_MQTT_KEY_LENGTH_ERROR,                           // 0x6025
    AT_MQTT_KEY_READ_FAILED,                            // 0x6026
    AT_MQTT_PATH_READ_FAILED,                           // 0x6027
    AT_MQTT_PATH_IS_NULL,                               // 0x6028
    AT_MQTT_PATH_IS_OVERLENGTH,                         // 0x6029
    AT_MQTT_VERSION_READ_FAILED,                        // 0x602A
    AT_MQTT_KEEPALIVE_READ_FAILED,                      // 0x602B
    AT_MQTT_KEEPALIVE_IS_NULL,                          // 0x602C
    AT_MQTT_KEEPALIVE_VALUE_IS_WRONG,                   // 0x602D
    AT_MQTT_DISABLE_CLEAN_SESSION_READ_FAILED,          // 0x602E
    AT_MQTT_DISABLE_CLEAN_SESSION_VALUE_IS_WRONG,       // 0x602F
    AT_MQTT_LWT_TOPIC_READ_FAILED,                      // 0x6030
    AT_MQTT_LWT_TOPIC_IS_NULL,                          // 0x6031
    AT_MQTT_LWT_TOPIC_IS_OVERLENGTH,                    // 0x6032
    AT_MQTT_LWT_MSG_READ_FAILED,                        // 0x6033
    AT_MQTT_LWT_MSG_IS_NULL,                            // 0x6034
    AT_MQTT_LWT_MSG_IS_OVERLENGTH,                      // 0x6035
    AT_MQTT_LWT_QOS_READ_FAILED,                        // 0x6036
    AT_MQTT_LWT_QOS_VALUE_IS_WRONG,                     // 0x6037
    AT_MQTT_LWT_RETAIN_READ_FAILED,                     // 0x6038
    AT_MQTT_LWT_RETAIN_VALUE_IS_WRONG,                  // 0x6039
    AT_MQTT_HOST_READ_FAILED,                           // 0x603A
    AT_MQTT_HOST_IS_NULL,                               // 0x603B
    AT_MQTT_HOST_IS_OVERLENGTH,                         // 0x603C
    AT_MQTT_PORT_READ_FAILED,                           // 0x603D
    AT_MQTT_PORT_VALUE_IS_WRONG,                        // 0x603E
    AT_MQTT_RECONNECT_READ_FAILED,                      // 0x603F
    AT_MQTT_RECONNECT_VALUE_IS_WRONG,                   // 0x6040
    AT_MQTT_TOPIC_READ_FAILED,                          // 0x6041
    AT_MQTT_TOPIC_IS_NULL,                              // 0x6042
    AT_MQTT_TOPIC_IS_OVERLENGTH,                        // 0x6043
    AT_MQTT_DATA_READ_FAILED,                           // 0x6044
    AT_MQTT_DATA_IS_NULL,                               // 0x6045
    AT_MQTT_DATA_IS_OVERLENGTH,                         // 0x6046
    AT_MQTT_QOS_READ_FAILED,                            // 0x6047
    AT_MQTT_QOS_VALUE_IS_WRONG,                         // 0x6048
    AT_MQTT_RETAIN_READ_FAILED,                         // 0x6049
    AT_MQTT_RETAIN_VALUE_IS_WRONG,                      // 0x604A
    AT_MQTT_PUBLISH_LENGTH_READ_FAILED,                 // 0x604B
    AT_MQTT_PUBLISH_LENGTH_VALUE_IS_WRONG,              // 0x604C
    AT_MQTT_RECV_LENGTH_IS_WRONG,                       // 0x604D
    AT_MQTT_CREATE_SEMA_FAILED,                         // 0x604E
    AT_MQTT_CREATE_EVENT_GROUP_FAILED,                  // 0x604F

MQTT Примечания

  • Как правило, команды AT MQTT будут обработаны в течение 10 секунд, кроме команды AT+MQTTCONN. Например, если маршрутизатору не удается получить доступ к Интернету, команда AT+MQTTPUBответит в течение 10 секунд. Но команде AT+MQTTCONNможет потребоваться больше времени из-за повторной передачи пакета в плохой сетевой среде.
  • Если AT+MQTTCONNосновано на соединении TLS, время ожидания каждого пакета составляет 10 с, тогда общее время ожидания будет намного больше в зависимости от количества пакетов квитирования.
  • Когда соединение MQTT завершится, появится сообщение +MQTTDISCONNECTED:LinkID
  • Когда MQTT-соединение установлено, появится сообщение +MQTTCONNECTED:LinkID,scheme,"host",port,"path",reconnect

Пример 1: MQTT через TCP (с локальным брокером MQTT)

Создайте локального брокера MQTT. Например, IP-адрес брокера MQTT – «192.168.31.113», порт 1883. Тогда пример взаимодействия с брокером MQTT будет следующим.

AT+MQTTUSERCFG=0,1,"ESP32","espressif","1234567890",0,0,""
AT+MQTTCONN=0,"192.168.31.113",1883,0
AT+MQTTSUB=0,"topic",1
AT+MQTTPUB=0,"topic","test",1,0
AT+MQTTCLEAN=0

Пример 2: MQTT поверх TLS (с локальным брокером MQTT)

Создайте локального брокера MQTT. Например, IP-адрес брокера MQTT – «192.168.31.113», порт 1883. Тогда пример взаимодействия с брокером MQTT будет следующим.

AT+CIPSNTPCFG=1,8,"ntp1.aliyun.com"
AT+CIPSNTPTIME?
AT+MQTTUSERCFG=0,3,"ESP32","espressif","1234567890",0,0,""
AT+MQTTCONNCFG=0,0,0,"lwtt","lwtm",0,0
AT+MQTTCONN=0,"192.168.31.113",1883,0
AT+MQTTSUB=0,"topic",1
AT+MQTTPUB=0,"topic","test",1,0
AT+MQTTCLEAN=0

Пример 3: MQTT через WSS

Это пример связи с брокером MQTT: iot.eclipse.org, чей порт 443.

AT+CIPSNTPCFG=1,8,"ntp1.aliyun.com"
AT+CIPSNTPTIME?
AT+MQTTUSERCFG=0,7,"ESP32","espressif","1234567890",0,0,"wss"
AT+MQTTCONN=0,"iot.eclipse.org",443,0
AT+MQTTSUB=0,"topic",1
AT+MQTTPUB=0,"topic","test",1,0
AT+MQTTCLEAN=0

9. HTTP AT команда

9.1 AT + HTTPCLIENT -Отправить запрос HTTP-клиента

Установить команду:

AT+HTTPCLIENT=opt,[url],[host],[path],transport_type,[data]

Отклик:

OK

Параметры:

  • opt : метод HTTP-запроса клиента
    • 1: HEAD
    • 2: GET
    • 3: POST
    • 4: PUT
    • 5: DELETE
  • content-type : тип даты HTTP-запроса клиента
    • 0: application/x-www-form-urlencoded
    • 1: application/json
    • 2: multipart/form-data
    • 3: text/xml
  • url : необязательный параметр, HTTP URL, поле url может переопределять параметры хоста и пути, если они нулевые.
  • хост : необязательный параметр, имя домена или IP-адрес
  • путь : необязательный параметр, путь HTTP
  • transport_type : тип транспорта HTTP-клиента, по умолчанию 0.
    • 0: HTTP_TRANSPORT_UNKNOWN
    • 1: HTTP_TRANSPORT_OVER_TCP
    • 2: HTTP_TRANSPORT_OVER_SSL
  • данные : необязательный параметр. Когда это запрос POST, dataотправляются ли пользовательские данные на HTTP-сервер.

Примечание:

  • Если urlопущен, hostи pathдолжен быть установлен.

Пример:

//HEAD Request
AT+HTTPCLIENT=1,0,"http://httpbin.org/get","httpbin.org","/get",1
AT+HTTPCLIENT=1,0,"http://httpbin.org/get",,,0
AT+HTTPCLIENT=1,0,"httpbin.org","/get",1
//GET Request
AT+HTTPCLIENT=2,0,"http://httpbin.org/get","httpbin.org","/get",1
AT+HTTPCLIENT=2,0,"http://httpbin.org/get",,,0
AT+HTTPCLIENT=2,0,,"httpbin.org","/get",1
//POST Request
AT+HTTPCLIENT=3,0,"http://httpbin.org/post","httpbin.org","/post",1,"field1=value1&field2=value2"
AT+HTTPCLIENT=3,0,"http://httpbin.org/post",,,0,"field1=value1&field2=value

9.2 Код ошибки HTTP

  • HTTP-клиент:
Код ошибки клиента HTTP Описание
0x7190 Неверный запрос
0x7191 неразрешенный
0x7192 Требуется оплата
0x7193 запрещено
0x7194 не обнаружена
0x7195 метод не разрешен
0x7196 Недопустимо
0x7197 Требуется проверка подлинности прокси
0x7198 Тайм-аут запроса
0x7199 конфликт
0x719a Прошло
0x719b Требуемая длина
0x719c Предварительное условие не выполнено
0x719d Запросить объект слишком большой
0x719e Слишком длинный запрос URI
0x719f Неподдерживаемый тип носителя
0x71a0 Запрошенный диапазон не удовлетворяет
0x71a1 Эктация не удалась
  • HTTP-сервер:
Код ошибки HTTP-сервера Описание
0x71f4 Внутренняя Ошибка Сервера
0x71f5 Не реализована
0x71f6 Bad Gateway
0x71f7 Сервис недоступен
0x71f8 Время ожидания шлюза
0x71f9 Версия HTTP не поддерживается
  • HTTP AT:
    код ошибки команды AT+HTTPбудет 0x7000+Standard HTTP Error Code.
    Например, если он получает ошибку HTTP 404 при вызове команды AT+HTTP, то AT ответит код ошибки, как 0x7194hex(0x7000+404)=0x7194.
  • Более подробная информация о стандартном коде ошибки HTTP / 1.1 содержится в RFC 2616: https://tools.ietf.org/html/rfc2616

Приложение. Как сгенерировать прошивку ESP8266 AT

  1. Загрузите основную ветку https://github.com/espressif/esp-at
  2. Изменить Makefile из export ESP_AT_PROJECT_PLATFORM ?= PLATFORM_ESP32 export ESP_AT_MODULE_NAME ?= WROOM-32 быть export ESP_AT_PROJECT_PLATFORM ?= PLATFORM_ESP8266 export ESP_AT_MODULE_NAME ?= WROOM-02
  3. Скомпилируйте проект esp-at, чтобы получить прошивку ESP8266 AT.
  4. Больше подробностей в esp-at/docs/How_to_Add_New_Platforom

Это может быть интересно


  • Тестирование модуля генератораТестирование модуля генератора
    Просмотров: 657  Тестирование модуля генератора Настройка, запуск и проверка рабочей частоты на примере PIC18F26K40. PIC18F26K40 Чтобы понять из-за чего зависит производительность микроконтроллера просто надо понять как работает его задающий тактовый …
  • MPLAB® Code Configurator and EncoderMPLAB® Code Configurator and Encoder
    Просмотров: 1222 Еще раз про энкодер… Для некоторых приложений очень удобно и экономически выгодно, для настройки и управления использовать энкодер. Такие энкодеры имеют строенную тактовую кнопку которую можно применить для выбора …
  • MPLAB® Harmony – или как это просто! Часть 1.MPLAB® Harmony – или как это просто! Часть 1.
    Просмотров: 3211 Часть первая – Установка Гармонии. Музыкальная тема к статье, слушаем: В начале запуска нового проекта и выбора микроконтроллера стоит задача правильно его сконфигурировать, прежде чем перейти к реализации …
  • Проект с использованием MCC часть 01Проект с использованием MCC часть 01
    Просмотров: 2196 Для изучения MCC я выбрал простой контроллер PIC16F1509. Выбор его был обусловлен богатой новой периферией которую можно изучить. Для начала была собрана схема на макетной плате Внешний вид …
  • MPLAB® Harmony – или как это просто! Часть 3.MPLAB® Harmony – или как это просто! Часть 3.
    Просмотров: 1850 Часть третья – копнём немного глубже. Вы наверное заметили, что во второй главе, вроде сначала все шло как по маслу, а потом, что бы заморгали светики, я вставил …
  • USB K-L-line адаптерUSB K-L-line адаптер
    Просмотров: 5614 USB K-L-line адаптер предназначен для связи персонального компьютера с диагностической шиной автомобиля – интерфейс ISO-9141. Этот проект предназначен для сборки недорого устройства с использованием специально для этой цели …
  • PIC32MZ – Core Timer (библиотека)PIC32MZ – Core Timer (библиотека)
    Просмотров: 400 Переработанные файлы от Microchip, библиотека для работы с Core Timer. Метки:PIC32MZ
  • Проект с использованием MCC часть 03Проект с использованием MCC часть 03
    Просмотров: 1327 Первым делом перенастроим регистры конфигурации, следующим образом: Отключим выход генератора (CLKOUT function is disabled. I/O function on the CLKOUT pin) Включим сторожевой таймер (WDT enabled) После этой настройки …
  • Мультимедийная сеть – AVC-LAN TOYOTAМультимедийная сеть – AVC-LAN TOYOTA
    Просмотров: 5355 AVC LAN – протокол обмена данными мультимедийных систем автомобиля. Кодирование данных. При кодировании различаться три типа данных : преамбула – её назначение, это сообщение устройствам на шине, что начинается передача данных. …
  • Проект с использованием MCC часть 06Проект с использованием MCC часть 06
    Просмотров: 1077 Изменим схему следующим образом добавим две тактовые кнопки BT1 и BT2. Теперь переключимся на конфигурацию выводов, для этого сделаем двойной клик в окне Ресурсы проекта на Pin Module. …



Поделись этим!

Catcatcat

catcatcat

Development of embedded systems based on Microchip microcontrollers.