Подключение ESP8266 к Arduino UNO
ESP8266 – популярный Wi-Fi модуль, без проблем работающий со всеми микроконтроллерами.
Большую популярность набирают перепрошитые модули, работающие самостоятельно, то есть без внешнего контроллера, однако в некоторых случаях бывает удобно подключиться к модулю по стандартному UART и обрабатывать пакеты, полученные ESP8266 из Интернета обычной Arduino Uno.
О таком подключение и работе с модулем мы сегодня и поговорим!
Для реализации проекта из этой статьи нам потребуются следующие компоненты:
Краткий обзор модуля
Мы будем использовать модуль ESP-01, так как он имеет минимальное количество GPIO – для работы с AT-командами нам нужно только 2 пина (интерфейс UART), остальными же пинами управлять командами невозможно, поэтому они не особо важны. Подключение ESP8266 будет производиться к Arduino Uno.
Модуль работает на ядре Tensilica с частотой до 160 МГц, что даёт значительный прирост производительности в сравнении с Arduino. Наплатная антенна способна передавать данные и получать пакеты на расстоянии до 100 м.
В модуль установлена память объёмом 512 Кб, в которую зашита стандартная AT-прошивка. Её можно заменить на стороннюю, но сегодня мы будем разбираться именно с самым простым вариантом.
Схема подключения к Arduino
Для подключения необходимо VCC и CH_PD подключить к питанию 3.3В, GND – к GND, TX и RX – к RX и TX соответственно (крест-накрест).
Можно использовать любую Arduino, причём лучше использовать свободный UART – любой, кроме нулевого – либо, если у платы их несколько (как у Arduino Mega), то второй хардварный, либо организовывать софтверный при помощи Software Serail.
И пример схемы подключения:
Работа с ESP8266 в Arduino IDE
Так как модуль подключается по UART, то и взаимодействовать с ним нужно по этому протоколу. В Arduino для этих целей применяется класс Serial.
Работу с ним мы уже рассматривали, вся задача – правильно сконфигурировать его. Крайне важно выбрать верную скорость: по умолчанию она равна 9600 бод, но если модуль не отзывается, имеет смысл попробовать на скоростях 115200, 57600.
Для теста связи попробуйте отправить модулю команду:
На неё он должен ответить “OK”, и пока вы этого не добьётесь, дальнейшие эксперименты бесполезны. Проверяйте подключение, пробуйте менять скорость, но обычно всё получается с первого раза.
У разных прошивок разный набор поддерживаемых команд. Узнать версию прошивки можно при помощи команды:
Набор команд для определённой прошивки можно скачать в разделе документации сайта esp8266.ru.
выполняет сканирование Wi-Fi сетей и выводит их список в удобном для разбора формате. А после того, как контроллер нашёл «свою» сеть, он может подключиться к ней при помощи команды:
Не забывайте отправлять окончания строки rn, без них модуль не будет воспринимать команды.
Для начала работы с беспроводными сетями надо установить режим работы модуля командой:
1 – режим клиента. Модуль может подключиться к любой точке доступа
2 – режим точки доступа. Модуль может создать свою Wi-Fi сеть
3 – смешанный режим. Модуль может подключиться к точке доступа и создать свою сеть.
Мы рассмотрели команды, назначение которых одинаково в большинстве прошивок. К сожалению, более сложные команды меняются с каждым обновлением, поэтому их необходимо уточнять в официальных спецификациях.
Источник: