Wi-Fi модули ESP-12E и ESP-12F на основе микросхемы ESP8266 позволяют управлять различными устройствами, подключенными к портам GPIO, с возможностью подключения к сети Wi-Fi. Поэтому данные модули — лучший и не самый дорогой вариант для проектов «Интернета вещей» (IoT). Рассмотрим характеристики и распиновку ESP8266 ESP-12E / ESP-12F, подключение и прошивку модуля через микроконтроллер Arduino Uno.
СОДЕРЖАНИЕ
Необходимые компоненты:
- Arduino Uno / Arduino Nano / Arduino Mega
- Wi-Fi модуль ESP 01 ESP 8266
- тактовые кнопки
- резисторы на 10кОм
- конденсатор 0,1 мкФ
- коннекторы
Дополнительные материалы на эту тему:
В этом обзоре будем использовать Wi-Fi модуль ESP-12E Ардуино, так как Wi-Fi модуль ESP-12F является лишь улучшенной версией 12E и особой разницы при работе с модулями нет. Оба устройства имеют одинаковый размер и расположение портов, главное отличие модулей заключается в конструкции антенны. У микроконтроллера ESP8266 ESP-12F повышенная стабильность связи благодаря тому, что антенна лучше оптимизирована.
ESP8266 ESP-12E распиновка, характеристики

Характеристики ESP-12E ESP8266 модуля (datasheet)
- Микросхема: ESP8266
- Рабочее напряжение: 3.3 В
- Предельное напряжение питания: 3.6 В
- Потребляемый ток: до 215мА, в зависимости от режима работы
- Тактовая частота процессора: 80 МГц
- Поддерживаемые интерфейсы: SDIO 1.1/2.0, SPI, UART
- Flash память: 512 Кб
- RAM: 80 Кб
- Поддерживаемые стандарты WI-FI: 802.11 b/g/n с WEP, WPA, WPA2
- Режимы работы: Клиент (STA), Точка доступа (AP), Клиент + Точка доступа (STA+AP)
- Количество цифровых выводов I/0: 16 (фактически 10)
- Габариты: 24 × 16 × 3 мм
ESP 12E является одноплатным микроконтроллером, разработанным компанией Espressif Systems, поэтому при использовании данного модуля, нет необходимости подключать дополнительный контроллер. Плата имеет встроенный WiFi модуль, который поддерживает стандарты 802.11 b/g/n, что позволяет подключаться к беспроводным сетям и обеспечить возможность коммуникации через ESP12E или ESP12F с другими устройствами.
Как подключить модуль ESP8266 ESP-12E к Arduino

Для загрузки программы в вайфай модуль через микроконтроллер Arduino, соберите следующую схему. Обратите внимание, что питание модуля ESP12E идет от контакта 3,3 Вольта Ардуино. Конденсатор в схеме служит для сглаживания помех в цепи питания модуля. Прошивка модуля ESP8266 осуществляется через UART шину (TX и RX) на портах 0 и 1 Arduino Uno, Nano и Mega. После сборки схемы, необходимо подготовить Arduino IDE.
Настройка Arduino IDE для прошивки модуля ESP-12
Перед тем как загружать первую программу в ESP, необходимо подготовить Arduino IDE для работы с этим модулем. Первым делом необходимо открыть «Файл — Настройки» Далее в поле «Дополнительные ссылки для Менеджера плат» вставить следующую ссылку http://arduino.esp8266.com/stable/package_esp8266com_index.json и нажать «OK«.

Далее необходимо перейти на вкладку «Инструменты — Платы — Менеджер плат» — у вас откроется окно, как на картинке ниже. В окне поиска следует ввести esp8266 и нажать на кнопку «Установка» После загрузки файлов (должно быть подключение к Интернету), в списке доступных плат Arduino IDE должны появиться платы на основе чипа ESP.

Далее переходим снова на вкладку «Инструменты — Платы» (смотри изображение ниже) и выбираем плату NodeMCU 0,9 (ESP-12 Module). Не забудьте выбрать COM-порт, на котором определилась плата Arduino Uno. Другие настройки в Arduino IDE не меняем.

Если вы правильно собрали схему и установили все необходимые компоненты, то при открытии монитора порта Arduino IDE и нажатия на кнопку «перезагрузка» (смотри схему подключения модуля) — ESP12 отправит информацию, как на картинке ниже. Если на мониторе порта ничего не появляется — проверяйте схему подключения, если появляются разные «кракозябры» поменяйте скорость передачи информации.

Внимание! Перед каждой загрузкой скетча необходимо переводить модуль в режим прошивки, для этого удерживая кнопку «прошивка» один раз нажмите на кнопку «перезагрузка» Если загрузка программы в микроконтроллер ESP пройдет успешно, то Arduino IDE напишет сообщение — «Hard resetting via RTS pin…» Это значит надо снова один раз нажать на кнопку «перезагрузка» , чтобы модуль вышел из режима прошивки.
Скетч для прошивки ESP8266 ESP-12E от Arduino Uno
#define GPIO2 2
void setup() {
pinMode(GPIO2, OUTPUT);
}
void loop() {
digitalWrite(GPIO2, HIGH);
delay(1000);
digitalWrite(GPIO2, LOW);
delay(1000);
}
Заключение. В этом обзоре мы подключили вай-фай модуль ESP8266 ESP-12E к Ардуино и загрузили в плату программу для мигающего светодиода. На модуле ЕСП-12Е встроенный светодиод висит на пине GPIO2. Так же на модуле есть 4 выхода с поддержкой ШИМ модуляции, поэтому вы можете использовать их для плавного включения светодиодов. Все вопросы по подключению микроконтроллера ESP 12 оставляйте в комментариях.

Ни одним прошивальщиком не могу прошить ESP-12F. При этом в мониторе порта, после ресета, на скорости 74880 видны все данные чипа, а после успешной компиляции, прошивальщик не может открыть com порт, пишет нет соединения.
При прошивке устанавливаю любую скорость com порта, все равно прошивальщик не открывает порт, я так понимаю не может достучаться до ESP. Почему — не понимаю.