ESP8266: справочник по командам AT |
![]() |
Добавил(а) microsin | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Каждая инструкция для модуля может находиться в одной строке, которая должна завершаться символом возврата каретки CR, или \r (Enter или Ctrl+M, код 0x0D). После поступления кода возврата каретки команда запускается модулем на выполнение, в результате в терминал консоли выводится ответ, содержащий результат выполнения команды. Примечание: некоторые старые прошивки (www.ai-thinker.com Version:0.9.2.4) требуют для завершения ввода команды последовательности CRLF, \r\n (т. е. Ctrl+M и Ctrl+J), где символы CR и LF следуют друг за другом (код LF 0x0A). Большинство популярных программ терминала (например putty) после нажатия на Enter выдают только символ возврата каретки \r.
TXD: синий светодиод, индицирующий передачу данных через TTL RS-232. [Общее описание инструкций] Каждая инструкция (строка символов, начинающаяся на префикс AT и завершающаяся символом CR) может содержать в себе один из 4 типов команд.
Замечания по инструкциям: • Не все инструкции AT имеют 4 типа команд, т. е. какой-то тип может отсутствовать (например, у инструкции AT+CIPSEND есть только типы set и execute). Скорость, с которой работает терминал, равна 115200 бод. Некоторые старые прошивки требуют скорости 9600 бод. Остальные параметры стандартные. Ниже показан скриншот настроек сессии Serial популярной утилиты терминала putty. [Базовые команды]
number информация о версии, длина 8 байт.
time значение в миллисекундах, устанавливает время сна ESP8266. Модуль ESP8266 автоматически проснется после истечения time миллисекунд времени глубокого сна. Примечание: для пробуждения из глубокого сна требуется аппаратная поддержка (сигнал XPD_DCDC должен соединяться с сигналом сброса EXT_RSTB через перемычку 0R).
ATE0 запрещает эхо. [Команды Wi-Fi]
Код режима mode: 1 режим станции (станция может подключаться к точке доступа).
ssid строка, где в двойных кавычках указан идентификатор (имя) точки доступа. Пример: AT+CWJAP="wifi-1","12345678" OK
enc какое используется шифрование доступа: 0 OPEN (доступ без пароля, доступ не защищен). ssid строка идентификатора (имени) точки доступа. rssi уровень сигнала от точки доступа. mac строка, в которой содержится MAC-адрес точки доступа. chn номер используемого радиоканала. Пример: AT+CWLAP +CWLAP:(3,"D323",-70,"c0:c1:c0:97:ad:0f",1) +CWLAP:(4,"Akado52",-78,"44:32:c8:fc:f3:2e",1) +CWLAP:(3,"SSID1",-86,"38:46:08:44:54:83",1) +CWLAP:(3,"Mgts 56",-79,"34:4b:50:1c:66:f1",1) +CWLAP:(2,"beeline-router105E44",-89,"84:c9:b2:10:5e:44",1) +CWLAP:(3,"MGTS71",-88,"34:4b:50:18:47:86",1) +CWLAP:(3,"mgts 53",-78,"4c:ac:0a:70:f1:93",6) +CWLAP:(4,"NetByNet_055",-69,"10:fe:ed:fb:89:92",6) +CWLAP:(3,"mgts 49",-85,"34:4b:50:1b:c9:4b",6) +CWLAP:(3,"mgts66",-86,"4c:ac:0a:70:a4:db",6) +CWLAP:(3,"mgts81",-87,"84:74:2a:09:7e:95",6) +CWLAP:(3,"SSID1",-92,"4c:ac:0a:70:e9:23",6) +CWLAP:(4,"onlime56",-77,"d4:bf:7f:0d:8c:d1",9) +CWLAP:(3,"mgts52",-82,"34:4b:50:1c:77:c2",11) +CWLAP:(4,"NetBynet",-84,"00:26:18:3d:4f:61",11) +CWLAP:(0,"Beeline_WiFi",-92,"00:18:b0:ee:e3:d0",1) +CWLAP:(0,"Beeline_WiFi_WPA",-87,"00:18:b0:ee:e3:d1",1) OK
Инструкция конфигурирует режим работы softAP модуля ESP8266 (режим, когда модуль работает как точка доступа).
ssid строка, задающая имя (SSID) точки доступа модуля ESP8266. Значение SSID должно быть указано в двойных кавычках. pwd строка пароля, максимальная длина 64 символа. Значение пароля должно быть указано в двойных кавычках. chn идентификатор канала. enc шифрование доступа: 0 OPEN (доступ без пароля, доступ не защищен). Пример: AT+CWSAP="esp_123","1234567890",5,3 OK
ipaddr адрес IP станции Wi-Fi, подключенной к модулю ESP8266, работающему как точка доступа.
mode: 1 режим станции (станция может подключаться к точке доступа). en: 0 запретить DHCP.
mac строка MAC-адреса станции ESP8266, заключенная в двойные кавычки. Пример: AT+CIPSTAMAC="18:aa:35:97:d4:7b" OK
mac строка MAC-адреса точки доступа ESP8266, заключенная в двойные кавычки. Пример: AT+CIPAPMAC="18:aa:35:97:d4:7b" OK
ip строка IP-адреса станции ESP8266, заключенная в двойные кавычки. Пример: AT+CIPSTA="192.168.0.23" OK
ip строка IP-адреса точки доступа ESP8266, заключенная в двойные кавычки. Пример: AT+CIPAP="192.168.0.100" OK [Команды TCP-IP]
stat текущее состояние модуля ESP8266: 2 получение IP-адреса от точки доступа. id идентификатор соединения (0..4) для режима множественного доступа. type строка, где в двойных кавычках указан тип IP-соединения, "TCP" или "UDP". addr строка в двойных кавычках, показывающая IP-адрес. port десятичный номер порта. tetype: 0 ESP8266 работает как клиент. Примечание: некоторые модули ESP-01 в ответ на команду AT+CIPSTATUS? выводят ошибку (ERROR), а в ответ на AT+CIPSTATUS выводят STATUS:1 вместо информации, показанной в таблице (означает нет дополнительной информации, но состояние поменялось). На прошивке 0018000902-AI03 эта команда возвращает вместо этого STATUS:2 (нет дополнительной информации, но состояние поменялось). Прошивка 00200.9.5(b1) AI-THINKER Dec 25 2014 выводит вместо этого STATUS:5. Пример вывода команды AT+CIPSTATUS, означающей, что установлено TCP-подключение к серверу ESP8266 от клиента с IP-адресом 192.168.0.56, порт клиента 29998: AT+CIPSTATUS STATUS:3 +CIPSTATUS:0,"TCP","192.168.0.56",29998,1 OK Пример вывода команды AT+CIPSTATUS, означающей, что есть подключение к точке доступа, но сетевых подключений к ESP8266 нет (сервер может быть запущен, но все сетевые подключения разорваны): AT+CIPSTATUS STATUS:4 OK Примечание: если нет обмена данными с сервером ESP8266, то сервер через определенное время (таймаут соединения) разрывает соединение. Таймаут устанавливается командой AT+CIPSTO (значение по умолчанию обычно 180 секунд). Команда устанавливает TCP-соединение с удаленным сервером или регистрирует локальный порт UDP и начинает соединение.
Описание параметров: id число от 0 до 4, идентификатор соединения. type строка, в двойных кавычках указывающая тип соединения "TCP" или "UDP". addr строка, в двойных кавычках указывающая IP-адрес удаленной точки подключения. port десятичное число, указывающее порт удаленной точки подключения.
Описание параметров: id номер идентификатора сетевого соединения (0..4). Существует 2 режима отправки данных - нормальный (normal) и прозрачный (unvarnished). Режим normal. В этом режиме данные передаются модулем ESP8266 порциями, при этом отправка каждой порции данных заранее подготавливается командой AT+CIPSEND=length. После ввода этой команды модуль ESP8266 выдает приглашение > и ждет поступления через сигнал RXD указанного length количества байт, после чего автоматически выходит обратно в режим обработки AT-инструкций. Режим unvarnished. Это прозрачный режим, когда все принимаемые через сигнал RXD данные прозрачно передаются через установленное сетевое соединение на удаленный хост сети, и когда все принимаемые данные от удаленного хоста прозрачно попадают на сигнал TXD. После ввода этой команды модуль выдает приглашение > и начинает работать в прозрачном режиме. Для выхода из прозрачного режима в режим обработки AT-инструкций необходимо поступление "магической" комбинации данных "+++". Примечание: не все версии прошивки позволяют выйти из прозрачного режима через магическую комбинацию. Например, мой модуль с прошивкой ai-thinker.com Version:0.9.2.4 выходит из прозрачного режима только после аппаратного сброса или передергивания питания.
id номер идентификатора соединения, которое нужно закрыть. Параметр id должен быть от 0 до 4, если нужно закрыть одно соединение. Если указать 5, то закроются все соединения.
ip значение IP-адреса для режима станции или softAP.
mode: 0 одиночное соединение. Примечание: этот режим можно поменять только после того, как все соединения были закрыты. Если запущен сервер, то требуется перезагрузка.
mode: 0 удаляет сервер (после этого нужна перезагрузка). port номер порта сервера. Не обязательный параметр, если не указан, то по умолчанию используется порт 333. Примечание: сервер может быть запущен только в том случае, если разрешен режим множественных соединений (выполнена команда AT+CIPMUX=1). Когда создается сервер, то автоматически создается монитор сервера (кто бы объяснил, что это такое?..). Когда клиент подключается к серверу, то он получает одно соединение, и ему присваивается идентификатор соединения id. Всего допускается не более 5 одновременных соединений (идентификаторы 0..4).
mode: 0 нормальный (normal) режим передачи. Существует 2 режима отправки данных - нормальный (normal) и прозрачный (unvarnished). Режим normal. В этом режиме данные передаются модулем ESP8266 порциями, при этом отправка каждой порции данных заранее подготавливается командой AT+CIPSEND=length. После ввода этой команды модуль ESP8266 выдает приглашение > и ждет поступления через сигнал RXD указанного length количества байт, после чего автоматически выходит обратно в режим обработки AT-инструкций. Нормальный режим позволяет выполнять AT-команды в перерывах между передачами блоков данных. Режим unvarnished. Это прозрачный режим, когда все принимаемые через сигнал RXD данные прозрачно передаются через установленное сетевое соединение на удаленный хост сети, и когда все принимаемые данные от удаленного хоста прозрачно попадают на сигнал TXD. После ввода этой команды модуль выдает приглашение > и начинает работать в прозрачном режиме. Для выхода из прозрачного режима в режим обработки AT-инструкций необходимо поступление "магической" комбинации данных "+++". Примечание 1: не все версии прошивки позволяют выйти из прозрачного режима через магическую комбинацию. Например, мой модуль с прошивкой ai-thinker.com Version:0.9.2.4 выходит из прозрачного режима только после аппаратного сброса или передергивания питания. Примечание 2: к сожалению, мне не удалось заставить работать ESP-01 в режиме сервера с прозрачной передачей данных. Прозрачная передача почему-то работает только в режиме клиента. Экспериментировал с прошивками 0018000902-AI03 (Version:0.9.2.4) и 00200.9.5(b1) (Version:0.9.5(b1)).
time таймаут сервера в секундах, может быть установлен в диапазоне 0..7200 секунд.
n: 1 найден сервер. [Разное]
id идентификатор соединения (0..4).
baud скорость в бодах. [Ссылки] 1. AT_Description site:github.com. |