Подключение ESP8266 к Arduino UNO

ESP8266 – популярный Wi-Fi модуль, без проблем работающий со всеми микроконтроллерами.

Большую популярность набирают перепрошитые модули, работающие самостоятельно, то есть без внешнего контроллера, однако в некоторых случаях бывает удобно подключиться к модулю по стандартному UART и обрабатывать пакеты, полученные ESP8266 из Интернета обычной Arduino Uno.

О таком подключение и работе с модулем мы сегодня и поговорим!

Для реализации проекта из этой статьи нам потребуются следующие компоненты:

Краткий обзор модуля

Мы будем использовать модуль ESP-01, так как он имеет минимальное количество GPIO – для работы с AT-командами нам нужно только 2 пина (интерфейс UART), остальными же пинами управлять командами невозможно, поэтому они не особо важны. Подключение ESP8266 будет производиться к Arduino Uno.

Модуль работает на ядре Tensilica с частотой до 160 МГц, что даёт значительный прирост производительности в сравнении с Arduino. Наплатная антенна способна передавать данные и получать пакеты на расстоянии до 100 м.

ESP8266 - подключение к Arduino

В модуль установлена память объёмом 512 Кб, в которую зашита стандартная AT-прошивка. Её можно заменить на стороннюю, но сегодня мы будем разбираться именно с самым простым вариантом.

Схема подключения к Arduino

Для подключения необходимо VCC и CH_PD подключить к питанию 3.3В, GND – к GND, TX и RX – к RX и TX соответственно (крест-накрест).

Можно использовать любую Arduino, причём лучше использовать свободный UART – любой, кроме нулевого – либо, если у платы их несколько (как у Arduino Mega), то второй хардварный, либо организовывать софтверный при помощи Software Serail.

Распиновка ESP-01

И пример схемы подключения:

ESP8266 - подключение к Arduino

Работа с ESP8266 в Arduino IDE

Так как модуль подключается по UART, то и взаимодействовать с ним нужно по этому протоколу. В Arduino для этих целей применяется класс Serial.

Работу с ним мы уже рассматривали, вся задача – правильно сконфигурировать его. Крайне важно выбрать верную скорость: по умолчанию она равна 9600 бод, но если модуль не отзывается, имеет смысл попробовать на скоростях 115200, 57600.

Для теста связи попробуйте отправить модулю команду:

На неё он должен ответить “OK”, и пока вы этого не добьётесь, дальнейшие эксперименты бесполезны. Проверяйте подключение, пробуйте менять скорость, но обычно всё получается с первого раза.

У разных прошивок разный набор поддерживаемых команд. Узнать версию прошивки можно при помощи команды:

Набор команд для определённой прошивки можно скачать в разделе документации сайта esp8266.ru.

выполняет сканирование Wi-Fi сетей и выводит их список в удобном для разбора формате. А после того, как контроллер нашёл «свою» сеть, он может подключиться к ней при помощи команды:

Не забывайте отправлять окончания строки rn, без них модуль не будет воспринимать команды.

Для начала работы с беспроводными сетями надо установить режим работы модуля командой:

1 – режим клиента. Модуль может подключиться к любой точке доступа

2 – режим точки доступа. Модуль может создать свою Wi-Fi сеть

3 – смешанный режим. Модуль может подключиться к точке доступа и создать свою сеть.

Мы рассмотрели команды, назначение которых одинаково в большинстве прошивок. К сожалению, более сложные команды меняются с каждым обновлением, поэтому их необходимо уточнять в официальных спецификациях.


Источник: voltiq.ru