Обзор платы NodeMcu v2 на ESP8266-12E


Сегодня расскажу о плате NodeMcu V2 которую разрабатывалась для «Интернет вещей» (internet of things, IoT), по сути данная плата может связать физический объект (реле, датчики и так далее) с интернетом. Сейчас это одно из самых популярных направлений в области технологий.
Технические параметры
► Напряжение питания: 5 В (от USB)
► Максимальный ток: 220 мА
► Модуль ESP8266: ESP-12E
► Поддержка Wi-Fi протоколов: 802.11 b / g / n
► Поддерживаются режимы: WiFi Direct (P2P), soft-AP (точка доступа)
► Антенна: PCB-антенна 3dBi
► Встроенный стек: TCP / IP
► Габариты: 49 мм x 24.5 мм x 13 мм
Общие сведения.
Сердцем платы NodeMcu V2 является недорогой чип ESP-12E, в котором встроен микроконтроллер ESP8266 с тактовой частотой 80 МГц (можно разогнать до 160 МГц) и флешь память на 4 Мб. ESP8266 включает в себя приемопередатчик Wi-Fi b / g / n, поэтому можно не только подключаться к сети Wi-Fi но и создавать собственную сеть. Для получения более подробной информации о ESP8266 и ESP-12E можете посмотреть документацию.


Для программирования NodeMcu, а точнее ESP-12E на плате предусмотрен micro USB разъем и контроллер USB-UART CP2102 (Silicon Labs), который преобразует сигнал USB в последовательный порт.
Питание модуля NodeMcu осуществляется через встроенные micro USB разъема или от внешнего источника напряжения на 5 В подключенным к выводу VIN и GND. Так как, рабочие напряжение ESP8266 составляет от 3 В до 3.6 В., на плате установлен стабилизатор напряжения AMS1117 с выходным напряжением 3.3 В и током до 600 мА. Для удобства и возможности подключения внешних устройств (датчиков), дополнительно выведено 3.3 В на боковые контакты платы NodeMcu с обозначением 3V3.

Как на платах Arduino на NodeMcu установлен светодиод который подключен к выводу D0 (GPIO2). Так же на плате предусмотрены две кнопки, первая подписана как RST и расположенная в верхнем левом углу, представляет собой кнопку сброса, которая используется для сброса микросхемы ESP8266, вывод RST. Вторая кнопка FLASH в левом нижнем углу, кнопка загрузки, используемая при обновлении прошивки, вывод GPIO0.

NodeMCU содержит в общей сложности 30 выводов, выведенных с обеих сторон платы, из которых 17 выводов GPIO (контакты модуля ESP-12E). Сразу хочу предупредить, что номер GPIO на ESP8266 не совпадает с меткой шелкографии на плате (например, D0 соответствует GPIO16, а D1 соответствует GPIO5), пользуйтесь рисунком ниже.

Назначение контактов:
► Вывод VIN — вывод для подключения внешнего источника питания.
► Выводы 3V3 и GND — выход со внутреннего стабилизатора напряжения, можно использовать для подачи питания на внешние устройства.
► RST — вывод RST используется для сброса микросхемы ESP8266.
► EN — когда на выводе высокое напряжение микросхема ESP8266 включена, когда низкое в режиме энергосбережения.
► CLK (GPIO6), SDO (GPIO7), CMD (GPIO11), SD1 (GPIO8), SD2 (GPIO9) и SD1 (GPIO10) — выводы подключены к Flash чипу в модуле ESP-12E, не рекомендуется использовать.
► PSW — зарезервированные контакты
► A0 — вывод встроенного 10-разрядного АЦП.
► TX (GPIO1), RX (GPIO3) — контакты для загрузки прошивки и связи с компьютером, не рекомендуется использовать.
► D0 (GPIO16), D1 (GPIO5), D2 (GPIO4), D3 (GPIO0), D4 (GPIO2), D5 (GPIO14), D6 (GPIO15), D7 (GPIO13), D8 (GPIO15) — выводы для подключения внешних устройств.
Так же, некоторые выводы GPIO имеют дополнительные функции.
► Интерфейс SPI
— GPIO12: MOSI
— GPIO13: MISO
— GPIO14: SCLK
— GPIO15: CS
► Интерфейс I2C (так как ESP8266 не имеет аппаратных выводов I2C, но можно реализовать программно). Обычно в качестве контактов I2C используются следующие вывода.)
— GPIO5: SCL
— GPIO4: SDA
► ШИМ (PWM), ESP8266 поддерживает программный ШИМ на всех выводах ввода / вывода: от GPIO0 до GPIO16 с 10-битном разрешением.
Установка NodeMCU в среду разработки IDE Arduino
Первым делом устанавливаем последствию версию Arduino IDE (Arduino 1.6.4 или выше). Для начала нам нужно добавить ссылку в «Менеджер плат», для этого откройте Arduino IDE и выберите «Файл» > «Настройки» . Затем скопируйте приведенный ниже URL адрес в текстовое поле «Дополнительные ссылки Менеджер плат» и жмем «OK«
1 |
http://arduino.esp8266.com/stable/package_esp8266com_index.json |

Затем нужно зайти в «Менеджер плат«, нажмите «Инструменты» > «Платы» > «Менеджер плат…».

Отфильтруйте результаты поиска, введя «ESP8266», нажмите на библиотеку и выберите «Установить«.

Пример программы NodeMCU
Чтобы убедиться, что все правильно сделали, попробуем загрузить самый популярный скетч «Мигающий светодиод.» Для этого примера воспользуемся встроенным светодиодом, подключенным к выводу D0.
Прежде чем приступить к загрузке скетча, необходимо правильно настроить Arduino IDE. Откройте Arduino IDE и выберите опцию «NodeMCU 1.0 (модуль ESP-12E)» в «Arduino IDE» > «Инструменты» > «Платы».

Теперь подключите NodeMCU к компьютеру через USB-кабель micro-B. Как только плата подключена, ей должен быть назначен уникальный COM-порт. Выберите этот последовательный порт в меню «Arduino IDE» > «Инструменты» > «Порт» . Также выберите скорость загрузки: 115200, осталось загрузить скетч ниже.

Осталось загрузить скетч ниже.
1 2 3 4 5 6 7 8 9 10 11 |
void setup() { pinMode(D0, OUTPUT); } void loop() { digitalWrite(D0, HIGH); delay(500); digitalWrite(D0, LOW); delay(500); } |
После загрузки скетча светодиод начнет мигать.

Ссылки Документация на ESP8266
Документация на ESP-12F
Драйвер CP2102
Купить на Aliexpress Плата NodeMCU V2
Купить в Самаре и области Плата NodeMCU V2
Спасибо! то что искал.
Добрый день.
А почему ESP8266 не имеет аппаратного I2c.
В документе https://robotchip.ru/download/datasheet/ESP8266-datasheet.pdf на стр. 13, сказано что имеет.
С уважением,
Сергей.
На VIN нужно подавать не 5 вольт!
подскажите, а сколько можно или нужно подавать
Ну если стоит spx3819 то он до 16 вольт, вот только по мощности надо посчитать, хоть он и LDO . Но все же esp кушает не мало.
Толи ошибка, толи:
«Как на платах Arduino на NodeMcu установлен светодиод который подключен к выводу D0 (GPIO2). «…
…»Сразу хочу предупредить, что номер GPIO на ESP8266 не совпадает с меткой шелкографии на плате (например, D0 соответствует GPIO16, а D1 соответствует GPIO5»
Так куда в итоге подключен светодиод: D0, D4 или еще куда?
Мужики что это за деталь слева от usb входа, около/между GND и RST? А то сгорела она, замыкаю её включаеться и полноценно работает, но всё же что это и для чего?)
Это диод.
Он предназначен для защиты usb порта компьютера при одновременном подключении к ПК и к источнику выше 5В на выводе Vin.
Он сгорел из-за того, что при питании от usb вы устроили короткое замыкание по линии Vin.
рекомендую восстановить деталь