Views: 12755
Появление нового модуля на базе 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
- [Только ESP32] AT + MQTTUSERCFG : Установить конфигурацию пользователя MQTT
- [Только ESP32] AT + MQTTCONNCFG : Установить конфигурацию соединения MQTT
- [Только ESP32] AT+MQTTCONN : Connect to MQTT Broker
- [Только ESP32] AT + MQTTPUB : публикация данных MQTT в строке
- [Только ESP32] AT + MQTTPUBRAW : опубликовать сообщение MQTT в двоичном формате
- [Только ESP32] AT + MQTTSUB : Подписаться на тему MQTT
- [Только ESP32] AT + MQTTUNSUB : отписаться от темы MQTT
- [Только ESP32] AT + MQTTCLEAN : закрыть соединение MQTT
- [Только ESP32] Коды ошибок MQTT
- [Только ESP32] MQTT Примечания
- [Только ESP32] Пример 1: MQTT через TCP
- [Только ESP32] Пример 2: MQTT поверх TLS
- [Только ESP32] Пример 3: MQTT через WSS
1.8 HTTP AT Список команд
- AT+HTTPCLIENT – Send HTTP Client Request
- 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.
- Чип будет перезапущен при выполнении этой команды.
AT + UART_CUR – текущая конфигурация UART, не сохраненная во Flash
2.7Команда запроса:
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
AT+UART_DEF—Default UART Configuration, Saved in Flash
2.8Команда запроса:
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
при слабом сне (только поддержка ESP32)
2.19 AT + SYSLSPCFG —Настройка источника пробужденияУстановить команду:
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
AT + CIUPDATE – обновление программного обеспечения через Wi-Fi
4.16Выполнить команду:
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.0
,v1.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
общая длина данных сокета в буфере
- для режима множественного подключения (AT + CIPMUX = 1) сообщение:
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
по умолчанию.
- 0: Включить автоматические настройки DNS с DHCP, DNS будет восстановлен
- 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"
.
- Например, чтобы установить ответные данные как «0x11 0x22 0x33 0x44 0x55», команда должна быть
Пример:
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"
.
- Например, чтобы установить рекламные данные как «0x11 0x22 0x33 0x44 0x55», команда должна быть
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.
- Инициализация BLE:Сервер ESP32:
Command: AT+BLEINIT=2 // server role Response: OK
Клиент ESP32:
Command: AT+BLEINIT=1 // client role Response: OK
- Установите соединение 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
- If the BLE connection is established successfully, it will prompt
- Читать / написать характеристику:Сервер 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.
- Уведомить о характеристике:Клиент 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.
- Если клиент ESP32 успешно пишет дескриптор,
- Укажите характеристику:Клиент 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.
- If the ESP32 Client writes the descriptor successfully, message
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)
- 1:
- 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
- 0:
- url : необязательный параметр, HTTP URL, поле url может переопределять параметры хоста и пути, если они нулевые.
- хост : необязательный параметр, имя домена или IP-адрес
- путь : необязательный параметр, путь HTTP
- transport_type : тип транспорта HTTP-клиента, по умолчанию 0.
- 0:
HTTP_TRANSPORT_UNKNOWN
- 1:
HTTP_TRANSPORT_OVER_TCP
- 2:
HTTP_TRANSPORT_OVER_SSL
- 0:
- данные : необязательный параметр. Когда это запрос 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 ответит код ошибки, как0x7194
,hex(0x7000+404)=0x7194
. - Более подробная информация о стандартном коде ошибки HTTP / 1.1 содержится в RFC 2616: https://tools.ietf.org/html/rfc2616
Приложение. Как сгенерировать прошивку ESP8266 AT
- Загрузите основную ветку https://github.com/espressif/esp-at
- Изменить 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
- Скомпилируйте проект esp-at, чтобы получить прошивку ESP8266 AT.
- Больше подробностей в esp-at/docs/How_to_Add_New_Platforom
Это может быть интересно
- Altium Designer my Libraries, Project templates, System settings by Catcatcat V23.09Views: 329 September 2023 component base update. Release updates V. – 23_09 added new components. Changed the structure of the database. Configuration file name – DXPPreferences1.DXPPrf. Added project CLUBBEST_50_Light. …
- УКВ – радиоприем, часть 2Views: 6205 Пришло свободное время решил вторую часть проекта реализовать (правда есть мысль и третью с использование цветного OLED и функцией ch-светомузыки, но это только задумка… Для понимания функций интегрального …
- ch-4000 – универсальная печатная платаViews: 1010 На смену устаревшей плате ch-3000, пришла новая ch-4000. Плату уже можно приобрести в магазине Ворон. Схема. Плата позволяет создавать таймеры, часы реального времени, регуляторы температуры, регуляторы влажности, вольтметры, …
- Инфракрасный датчик движения, PIR-sensorViews: 3089 Домашняя автоматика предполагает наличие датчиков движения, которые способны контролировать движения человека. Самым простым и доступным устройством позволяющие контролировать изменения ИК-излучения, это ПИР-сенсоры. На текущий момент доступны не дорогие модели D203B, D204B, D205B. Все …
- MCC – K42 – настройка модуля DMAViews: 762 MCC – в версии v.3.95.0 и начиная ядра 4.85.0 конфигуратор предоставляет графический интерфейс для настройки модуля DMA. Для начала: Посмотреть какая версия МСС можно в закладке версии, если …
- Самый простой индикатор уровня звукового сигналаViews: 6301 Демонстрационный проект создания индикаторов уровня с использованием WS2812B. Изучив этот проект вы сможете самостоятельно изготавливать и конструировать свои индикаторы уровня звукового сигнала. Дополнительно читайте статью Бегущие огни на …
- Дисплей KD035C-3A подключение и управлениеViews: 710 Дисплей KD035C-3A производиться компанией SHENZHEN STARTEK ELECTRONIC TECHNOLOGY CO.,LTD Характеристики Параметр Спецификация Единицы измерения Размер дисплея 70.08(H)*52.56(V) (3.5inch) mm Тип дисплея TFT active matrix Цветовая гамма 65K/262K colors Разрешение …
- LED драйвер TM1639Views: 2190 TМ1639 позволяет работать на матрицу 8*8 или 8 семисегметных индикаторов. Может работать как на индикаторы с общим катодом, но и есть возможность подключать общим анодом. Для управления драйвером …
- Самый простой диммер для светодиодного освещенияViews: 3027 Светодиоды все больше входят в нашу жизнь как источники освещения и как само собой разумеющееся, это вопрос регулировки яркости. Существует множество схемных решений, но в нашем варианте мы …
- Проект с использованием MCC часть 02Views: 2287 Когда мы запустили конфигуратор, самое главное понять, что с этим делать и как проверить, то что мы делаем работает или нет. Для начала настроим регистры конфигурации микроконтроллера и настроем …