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

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

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


Черновик


Платы для аддона 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 и последовательная коммуникация

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

Для чипов 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 Подтягивающий

Минимум

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

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

При каждом запуске 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 и несколько демонстрационных программ.

См.также

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