В предыдущей статье на нашем сайте мы рассмотрели начало работы с модулем ESP8266 и сконструировали небольшую плату для его программирования с использованием платы (адаптера) FTDI, которая позволяет программировать модули ESP как с использованием AT команд, так и с помощью среды Arduino IDE.
В данной статье мы рассмотрим использование AT команд для работы с модулем ESP8266, а в следующей статье мы рассмотрим программирование ESP8266 с помощью Arduino IDE.
Основы программирования модуля ESP8266 с помощью AT команд
Самый простой способ программирования ESP модулей – это использование AT команд. Буквы AT здесь являются сокращением от английского слова "ATtention", что означает "внимание". AT команды обычно используются для управления каким-либо модемом, но в данном случае мы будем их использовать для программирования модуля ESP8266. Любая AT команда всегда начинается с символов AT, после которых следуют конкретные инструкции. Полный список AT команд, которые можно использовать для взаимодействия с модулем ESP8266, приведен в официальной документации от компании Espressif Systems.
В данной статье мы рассмотрим лишь небольшую часть этих команд, в частности мы рассмотрим проверку с их помощью версии программного обеспечения (прошивки) модуля и установки модуля в режим точки доступа (Access Point, AP).
AT команды модулю можно передавать с помощью любого программного обеспечения, реализующего функции последовательного монитора (Serial monitor), например, Putty или Arduino. Естественно, перед этим должна быть установлена последовательная связь между модулем ESP8266 и компьютером. Для установления этой последовательной связи необходимо подключить контакты Rx и Tx модуля ESP8266 к контактам Tx и RX соответственно платы FTDI как рассмотрено в нашем предыдущем руководстве.
Необходимые компоненты
- Модуль ESP8266 (купить на AliExpress).
- Плата FTDI (3.3V) (купить на AliExpress).
- Любое программное обеспечение, реализующее функции последовательного монитора, например, Putty или Arduino.
Схема проекта
Схема для программирования модуля ESP8266 с помощью AT команд представлена на следующем рисунке.
Более подробно схема соединений в данной схеме и назначение ее элементов рассмотрены в нашей предыдущей статье.
Использование AT команд для работы с модулем ESP8266
Выполните следующую последовательность шагов.
Шаг 1. Установите любое программное обеспечение монитора последовательного порта, мы использовали программу Arduino Serial Monitor – я думаю, большинство читателей нашего сайта с ней знакомы.
Шаг 2. Соберите схему нашего проекта, показанную выше, подключите к ней модуль ESP8266 и плату FTDI и подайте питание на схему. Убедитесь в том, кто контакт GPIO0 модуля никуда не подключен, после этого на короткое время замкните контакт RST (сброса) модуля на землю (ground) и затем отключите его от земли (оставьте его неподключенным). В нашей схеме проекта для переключения между режимом AT команд и режимом с Arduino IDE мы использовали переключатель (джампер). Также у нас в схеме есть специальная кнопка (Push button) чтобы сбрасывать модуль ESP8266. В результате у вас должна получиться следующая конструкция проекта:
Шаг 3. Подключите вашу FTDI плату к компьютеру и откройте диспетчер устройств. В результате этого вы должны увидеть к какому COM порту подключена ваша плата FTDI, запишите этот номер. В нашем случае плата FTDI оказалась подключенной к порту COM20 как показано на следующем рисунке.
Шаг 4. Откройте вашу Arduino IDE, убедитесь в том, что плата FTDI подключена к COM порту (в нашем случае это порт COM20). Это можно проверить в пункте меню Tools-> Ports. После этого откройте монитор последовательного порта (Serial Monitor) и выберите режим “Both NL&CR” и скорость передачи данных “115200” как показано на рисунке ниже.
Примечание: ваш модуль ESP8266 может не поддерживать скорость 115200 бод, это зависит от поставщика модуля. Если скорость 115200 не работает, попробуйте скорости 9600, 38400 и 74880.
Шаг 5. Убедитесь в том, что контакт GPIO0 модуля никуда не подключен (проверьте переключатель в схеме) и нажмите кнопку сброса. После этого вы увидите случайные значения в мониторе последовательного порта, затем они прекратятся и появится слово “ready” (готов) как показано на следующем рисунке.
Если вы дошли до этого момента, то значит теперь вы можете программировать ваш модуль ESP8266 с помощью AT команд. Далее мы рассмотрим конфигурирование модуля в режиме AP+STA.
Шаг 6. Сначала проверим работоспособность модуля, передав ему команду “AT” (после ввода команды необходимо нажать ввод), модуль в ответ на данную команду должен ответить словом “OK”.
Шаг 7. Версии SDK (набор инструментальных средств разработки программного обеспечения) и прошивки модуля можно проверить с помощью команды “AT+GMR”.
Шаг 8. Модули ESP могут работать как в режиме AP (точки доступа, Access Point) и режиме STA (станции), так и в совместном режиме AP и STA. Давайте переведем модуль в режим AP чтобы проверить его работоспособность. Для этого передайте ему команду “AT+CWMODE=2”, если все нормально, модуль должен ответить “OK”.
После исполнения всех команд, которые мы рассмотрели в данной статье, ваш монитор последовательного порта должен выглядеть примерно следующим образом:
После этого вы можете проверить действительно ли ваш модуль ESP8266 работает в режиме точки доступа (AP), просто подключившись к его сети Wi-Fi. Откройте настройки сети Wi-Fi на вашем смартфоне или ноутбуке, выполните поиск доступных сетей, среди них вы должны увидеть сеть от модуля ESP, в нашем случае эта сеть имеет название ESP_A3A3E7 как показано на следующем рисунке.