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 и последовательная коммуникация
![](/ruwiki/images/8/8d/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 | Подтягивающий |
Минимум
![](/ruwiki/images/e/ec/ESP_min.png)
Улучшенная стабильность
![](/ruwiki/images/c/ca/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 и несколько демонстрационных программ.
См.также
Внешние ссылки
ESP8266 AT-команды | |
---|---|
Список AT-команд | |
Базовые команды |
|
Команды для WiFi |
|
Команды для TCP/IP |
|