ESP8266:Прошивки/Arduino/Платы для аддона ESP8266 для IDE Arduino

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Cat poo.png Черновик


Платы для аддона ESP8266 для IDE Arduino[1]

В этой статье рассказывается о платах, которые оснащены чипом ESP8266 и поэтому могут быть использованы вместе с аддоном ESP8266 для IDE Arduino.

Adafruit HUZZAH ESP8266 (ESP-12)

Данных об этой плате пока не добавлено.

ESPresso Lite 1.0

ESPresso Lite 1.0 (бета-версия) – это прототипная WiFi-плата, совместимая с Arduino и оснащенная модулем ESP8266 WROOM-02 от Espressif Systems. Ее распиновка совместима с контактами макетной платы. Кроме того, она имеет встроенный светодиод и три кнопки (для записи прошивки, сброса и одну, которую может программировать сам пользователь). Рабочее напряжение – 3,3 вольта (постоянный ток) с максимальной силой тока 800 мА. Есть и несколько специальных функций, включая встроенные контактные площадки для интерфейса I2C, что позволяет напрямую подключаться к дисплею типа OLED LCD и сенсорным платам.

ESPresso Lite 2.0

ESPresso Lite 2.0 – это прототипная WiFi-плата, совместимая с Arduino и основанная на версии 1.0 (она была бета-версией). Перепроектированная совместно с Cytron Technologies, ESPresso Lite 2.0 оснащена функцией автозагрузки/автопрограммирования, что устраняет нужду в ручном сбросе платы перед записью новой программы. Кроме того, эта версия платы оснащена двумя программируемыми кнопками, которые расположены по бокам, и кнопкой сброса. Во второй версии остались и встроенные контактные площадки для интерфейса I2C, позволяющие подключаться к датчикам и устройствам вывода данных вроде дисплеев.

Phoenix 1.0

Страница продукта – http://www.espert.co.

Phoenix 2.0

Страница продукта – http://www.espert.co.

NodeMCU 0.9

Номера контактов, напечатанные на самой плате, не соответствуют номерам GPIO-контактов ESP8266. Чтобы упростить использование этой платы, были заданы следующие константы:

static const uint8_t D0   = 16;
static const uint8_t D1   = 5;
static const uint8_t D2   = 4;
static const uint8_t D3   = 0;
static const uint8_t D4   = 2;
static const uint8_t D5   = 14;
static const uint8_t D6   = 12;
static const uint8_t D7   = 13;
static const uint8_t D8   = 15;
static const uint8_t D9   = 3;
static const uint8_t D10  = 1;

То есть, если вы хотите использовать 5-ый контакт NodeMCU, используйте номер контакта D5, и он будет преобразован в 14-ый GPIO-контакт ESP8266.

NodeMCU 1.0

На AliExpress этот модуль продается под разными названиями примерно за $6,5, и это одна из дешевейших, полностью интегрированных плат с чипом ESP8266 (точнее, модулем ESP-12E). Кроме того, эта плата разработана по принципу «open source» и оснащена SPI-чипом с 4 Мб flash-памяти.

Согласно производителю, «NodeMCU можно подключить к ноутбуку при помощи кабеля microUSB и загружать прошивку безо всяких проблем». Это правда лишь отчасти. Плата оснащена USB-Serial адаптером CP2102, который работает, к сожалению, не всегда. Иногда загрузка прошивки успехом не завершается и плату приходится сбрасывать, нажимая на кнопки FLASH и RST, после чего отпуская сначала FLASH, а потом RST. В результате CP2102 включается/выключается, и Linux присваивает ему другой номер.

Плата также оснащена регулятором напряжения NCP1117, синим светодиодом на контакте GPIO16 и делителем напряжения (на 220/100 кОм) на входном контакте ADC.

Полную распиновку и схему можно найти тут.

Olimex MOD-WIFI-ESP8266-DEV

Эта плата оснащена SPI-чипом с 2 Мб flash-памяти и поставляется вместе с опциональными аксессуарами (например, отладочной платой ESP8266-EVB, коннектором-зарядником для литий-полимерных батареек и корпусом).

Базовый модуль имеет три перемычки, позволяющие переключаться между режимами SDIO, UART и FLASH. Если вам, к примеру, нужно переключить плату в режим FLASH, то перемычка TD0JP должна быть выставлена на «0», IO0JP – на «1», а IO2JP – на «1».

Перемычка IO0JP подключена к GPIO0 (т.е. к 21-ому контакту). Следовательно, перед программированием через адаптер USB-Serial этот контакт нужно заземлить, а затем включить/выключить плату.

Контакты UART предназначены для программирования. Контактами для последовательной передачи данных являются GPIO1 (TXD, контакт 3) и GPIO3 (RXD, контакт 4).

Схему платы можно посмотреть по этой ссылке.

Olimex MOD-WIFI-ESP8266

Это урезанная версия платы, о которой рассказывалось выше. Перемычки работают точно так же, но меньше входных/выходных контактов. Остался и SPI-чип с 2 Мб flash-памяти.

Olimex ESP8266-EVB

Это модуль Olimex MOD-WIFI-ESP8266-DEV, который установлен на гребешки прототипной платы, оснащенной несколькими коннекторами, кнопкой (GPIO0) и реле (GPIO5).

Чтобы загрузить программу, подключите контакты GND, RX и TX адаптера USB-Serial к коннектору UEXT, нажмите на кнопку (единственную кнопку на плате, подключенную к GPIO0), а затем подайте питание. Это переведет плату в режим UART.

Не подключайте к плате контакт 5V адаптера USB-Serial. В этом случае вы не сможете отключить, а затем подключить плату к питанию, чтобы перевести ее в режим UART.

Схему платы можно посмотреть тут.

Для первой настройки можно использовать это руководство. В нем, в частности, показана распиновка коннектора UEXT.

Варианты платы:

  • ESP8266-EVB-BAT: поставляется вместе со встроенным зарядником для литий-полимерных батареек и повышающим преобразователем
  • ESP8266-EVB-BAT-BOX: по сути, это версия выше, также закрытая в пластиковый корпус (не водонепроницаемый)

SparkFun ESP8266 Thing

Страница продукта – https://www.sparkfun.com/products/13231.

SweetPea ESP-210

Данных об этой плате пока не добавлено.

ESPino

Эта плата оснащена модулем ESP-12. Чтобы упростить программирование, ее также укомплектовали 3,3-вольтовым регулятором, USB-Serial адаптером CP2104 и коннектором microUSB. Чтобы упростить прототипирование, ESPino оснастили RGB-светодиодом и двумя кнопками, а также установили контакты таким образом, чтобы они были совместимы с контактами макетной платы.

Более подробно об аппаратной начинке, распиновке и процессах программирования смотрите в даташите.

Страница продукта – http://www.espino.io/en.

WifInfo

Эта серверная плата оснащена модулем ESP-12 или ESP-07 (плюс внешняя антенна), а также 3,3-вольтовым регулятором и оборудованием для измерения телеметрии, представленной в виде последовательных данных и генерируемой устройствами от французской энергетической компании ERDF.

WifiInfo также укомплектована USB-коннектором (для питания), RGB-светодиодом WS2812, 4-контактным I2C-коннектором (для подключения OLED-дисплея или датчика), а также двумя кнопками и FTDI-коннектором. Кроме того, плата оснащена функцией автосброса.

Более подробно читайте в блоге, на GitHub и форуме сообщества.

Стандартные модули ESP8266

Эти модули могут поставляться в разных форм-факторах и с разной распиновкой. Более подробно о них читайте на вики-сайте сообщества ESP8266, т.е. здесь.

У таких модулей нет бутстрепных резисторов, регулятора напряжения, цепи для сброса и адаптера USB-Serial. Есть развязывающие конденсаторы, но они малопригодны. Модулями, которые оснащены всеми этими функциями, пользоваться гораздо удобней и приятней.

Чтобы пользоваться таким модулем, проделайте следующее:

  • Обеспечьте модуль достаточным питанием. Для стабильной работы ESP8266 необходимо питание с напряжением 3,3 вольт и силой тока не меньше 250 мА. Использовать питание от адаптера USB-Serial не рекомендуется – эти адаптеры, как правило, не обеспечивают достаточно питания для постоянной стабильной работы ESP8266. Предпочтительнее вариант с внешним питанием или регулятором вместе с фильтрующими конденсаторами.
  • Подключите бутстрепные резисторы к контактам GPIO0, GPIO2 и GPIO15 согласно схеме ниже.
  • Переключите ESP8266 в режим загрузчика перед загрузкой кода.

Адаптер USB-Serial

Существует множество разных адаптеров/плат для преобразования USB-сигнала в Serial-сигнал и наобоорот. Чтобы переключить ESP8266 в режим загрузчика при помощи «квитирующих» линий, понадобится адаптер, у которого есть выходные линии RTS и DTR. Линии CTS и DSR для загрузки не подойдут, т.к. это входные линии. Кроме того, этот адаптер должен работать с 3,3-вольтовым напряжением: либо у него должен быть переключатель/перемычка, позволяющий переключаться между 5 и 3,3 вольтами, либо он должен быть помечен как «3.3V only» (т.е. умеющий работать только с 3,3 вольтами).

Должны подойти адаптеры, оснащенные следующими чипами:

Примечание: С операционной системой Mac OS X не совместимы адаптеры на базе PL2303. Более подробно смотрите здесь.

Минимум для загрузки прошивки и нормального использования

Чип Резистор Адаптер
VCC VCC (3.3V)
GND GND
TX или GPIO2 RX
RX TX
GPIO0 Подтягивающий DTR
Reset Подтягивающий RTS
GPIO15 Стягивающий
CH_PD Подтягивающий

Примечания:

  • Контакт GPIO15 также называют MTDO
  • Контакт Reset (сброс) также называют RSBT или REST (если подключить к нему подтягивающий резистор, это повысит стабильность модуля)
  • Контакт GPIO2 – это альтернатива TX для режима загрузчика
  • Прямое подключение VCC к GND – это не замена подтягивающему или стягивающему резистору. Кроме того, если подключить их, это помешает работе консоли и квитированию. Также в некоторых случаях модуль начинает нестабильно работать.

ESP и последовательная коммуникация

ESP to serial.png

Минимум для загрузки прошивки

Для чипов ESPxx.

Чип Резистор Адаптер
VCC VCC (3.3V)
GND GND
TX или GPIO2 RX
RX TX
GPIO0 GND
Reset RTS
GPIO15 Стягивающий
CH_PD Подтягивающий

Примечание: Если контакт RTS не используется, потребуется ручной переключатель питания.

Минимум для нормального использования

Для чипов ESPxx.

Чип Резистор Адаптер
VCC VCC (3.3V)
GND GND
GPIO0 Подтягивающий
GPIO15 Стягивающий
CH_PD Подтягивающий

Минимум

ESP min.png

Улучшенная стабильность

ESP improved stability.png

Сообщения о режимах запуска и причине сброса/перезагрузки

При каждом запуске ESP8266 считывает данные с контактов 0, 2 и 15. От считанных значений зависит, в каком именно режиме запустится ESP8266.

GPIO15 GPIO0 GPIO2 Режим
0 вольт 0 вольт 3,3 вольта Загрузчик UART
0 вольт 3,3 вольта 3,3 вольта Загрузка скетча (flash-память SPI-чипа)
3,3 вольта x x Режим SDIO (не используется для Arduino)

При каждом запуске ESP8266 печатает в консоли информацию о причине сброса и текущем режиме. Например:

rst cause:2, boot mode:(3,6)

Примечание: Контакт GPIO2 используется как выходной TX-контакт, и при загрузке у него активируется подтягивающий резистор.

Сообщения о причине сброса/перезагрузки

Номер Описание
0 Неизвестная причина
1 Нормальный запуск
2 Контакт Reset
3 Программный сброс
4 Сброс сторожевого таймера

Сообщения о режиме запуска

Номер GPIO15 GPIO0 GPIO2 Режим
0 0 вольт 0 вольт 0 вольт Некорректно
1 0 вольт 0 вольт 3,3 вольта UART
2 0 вольт 3,3 вольта 0 вольт Некорректно
3 0 вольт 3,3 вольта 3,3 вольта Flash
4 3,3 вольта 0 вольт 0 вольт SDIO
5 3,3 вольта 0 вольт 3,3 вольта SDIO
6 3,3 вольта 3,3 вольта 0 вольт SDIO
7 3,3 вольта 3,3 вольта 3,3 вольта SDIO

Примечание: Номер = ((GPIO15 << 2) | (GPIO0 << 1) | GPIO2);

Стандартные модули ESP8285

ESP8285 (даташит) – это SoC, комбинирующий ESP8266 и 1 Мб flash-памяти. Вся информация о бутстрепных резисторах и рекомендованных компонентах, о которой рассказывалось выше, применима и к ESP8285.

Примечание: Благодаря тому, что ESP8285 оснащен flash-памятью, подключенной в режиме DOUT, контакты 9 и 10 можно использовать в качестве GPIO-контактов, а также в качестве контактов для I2C и ШИМ.

WeMos D1

Страница продукта – https://www.wemos.cc.

WeMos D1 Mini

Страница продукта – https://www.wemos.cc.

ESPino (модуль WROOM-02) от ThaiEasyElec

Это плата ESPino от ThaiEasyElec, оснащенная модулем WROOM-02 (c 4 Мб flash-памяти) от Espressif Systems.

gen4-IoD от 4D Systems

Это дисплейные модули gen4-IoD на базе ESP8266. Есть три версии – с диагональю TFT LCD дисплея 2.4, 2.8 и 3.2 дюйма. Также имеются сокет для uSD-карты, чиповая антенна и uFL-коннектор.

Дисплей – резистивный сенсорный.

Даташит и другие материалы/ресурсы можно найти на странице продукта, т.е. здесь.

Дисплеи gen4-IoD можно программировать при помощи Arduino IDE и 4D Systems Workshop4 IDE, оснащенной дополнительными графическими инструментами. Также доступны библиотека GFX4d и несколько демонстрационных программ.

См.также

Внешние ссылки