ESP8266:Модули/NodeMCU V0.9

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

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



NodeMCU V0.9
Изображение модуля
Распиновка
Бренд NodeMCU
Название модуля NodeMCU V0.9
Количество контактов
Количество GPIO контактов 11
GPIO-контакты
Установленный модуль ESP8266 ESP12 (AI-Thinker)
АЦП 1
Шаг выводов 2.54 мм.
Разъём
Неизвестно
Неизвестно
Индикация
Неизвестно
Неизвестно
Антенна PCB
Экран
Нет
Нет
USB-To-Serial CH340G
Удобство установки на макетную плату Плохая (закрывает много контактов)
Длина
Ширина
Область применения Разработка для начинающих
Примечание


Описание[1]

Этот модуль несколько отличается от тех, что были описаны выше. Он уже оснащен всем необходимым для начала работы – у него имеется встроенный конвертер Serial-USB, а также разъем microUSB, который можно использовать и для питания, и для программирования модуля.

Я возлагал на этот модуль большие надежды, поскольку в теории он должен был заметно упростить разработку проектов на базе ESP8266. Во-первых, ему нужно меньше подключений, чем другим модулям – подключать периферийные устройства теперь гораздо проще. Во-вторых, вам не нужен ни внешний источник питания, ни конвертер Serial-USB. В третьих, у него есть два переключателя – для сброса модуля и переключения его в режим записи новой прошивки. В-четвертых, он отлично садится на макетную плату.

Но в реальности все было немного по-другому. Во-первых, я не мог через свой Mac записать на модуль новую прошивку через адаптер Serial-USB (даже после установки самого последнего драйвера).

Для меня это не было большой проблемой, поскольку я нечасто записываю новые прошивки и уже привык к использованию внешнего адаптера. Впрочем, конвертер заработал после того, как я записал на модуль последнюю версию прошивки NodeMCU Lua. Во-вторых, размер модуля таков, что он закрывает собой все контакты стандартной макетной платы, расположенные под ним. Таким образом, если вы хотите использовать эти контакты, вам нужно будет провести «мостики» от них куда-нибудь наружу, а затем уже подключать модуль к макетной плате. И провернуть такое удастся не со всеми контактами.

Этот модуль стоит дорого, поэтому лучше использовать его лишь на стадии разработки проекта. Написав ПО и подобрав все внешние компоненты, воспользуйтесь каким-нибудь другим модулем или спроектируйте собственный, который сможет интегрировать в себе все необходимое.

На момент написания этой статьи была доступна лишь первая версия модуля NodeMCU. Собственно, слова выше именно о ней. Спустя некоторое время команда, создавшая первый модуль, выпустила улучшенную версию, где исправила проблемы, о которых я написал выше. По этой причине я больше не советую покупать версию V0.9 – лучше рассмотрите вариант с версией V1.0, которая описана в разделе ниже.

Модуль ESP8266 NodeMCU версии 0.9

Обзор модуля ESP8266 NodeMCU V0.9[2]

Меня приятно удивила новость о том, что команда, разработавшая прошивку NodeMCU Lua, анонсировала еще и собственную прототипную плату с чипом ESP8266. Я заказал ее через Banggood, и мне ее доставили спустя где-то месяц после даты заказа.

Качество

Сама печатная плата выглядит качественно. Она окрашена в желтый цвет, хотя на GitHub команда выкладывала фото, где плата была окрашена в синий. Во всем остальном они, по всей видимости, идентичны. Точки для пайки тоже выглядят качественными. Если перевернуть плату, то в области WiFi-антенны будет виден вырез, сделанный, по всей видимости, чтобы повысить ее чувствительность.

Верхняя сторона платы NodeMCU, к которой прикреплен ESP8266 ESP-12


Нижняя сторона платы NodeMCU. Слева на желтой части платы сделан вырез – возможно, чтобы повысить чувствительность WiFi-антенны

Установка драйвера

Немного осмотрев плату, я решил подключить ее к своему Mac, на котором стояла Yosemite (10.10). Я открыл ESPlorer, чтобы посмотреть, видит ли ОС подключенный модуль, но безрезультатно. Тогда я заглянул на GitHub-страницу NodeMCU и обнаружил, что в их модуле для коммуникации через USB используется редкий чип CH340G. Он гораздо дешевле, чем FT232R от FTDI – именно его используют, как правило, в качестве конвертера Serial-USB. Я быстро нашел нужный драйвер на странице поставщика, но у него не было прямой поддержки Yosemite. В итоге нужный драйвер нашелся на сайте rayshobby.net:

  • Для Mac OS Xтут
  • Для Windows XPтут
  • Для Windows 7, 8, 8.1 и Linux драйвер не требуется

Драйвер для Mac OS X расположен в двух папках. Одна для Yosemite, другая – для всех остальных версий ОС. Установка прошла безо всяких проблем, потому что эти драйверы уже подписаны для Mac OS X. В противном случае вам бы пришлось переписать проверку безопасности в меню System Settings (вкладка Security Tab).

Когда драйвер будет установлен, модуль отобразится в ОС следующим образом:

  • /dev/tty.Repleo-CH341-XXXX
  • /dev/cu.Repleo-CH341-XXXX

Странно, впрочем, что ESPlorer увидел только драйвер cu.Repleo, но я все же смог с его помощью подключиться к AT-прошивке на скорости 9600 бод. Затем нарисовалась другая проблема...

Загрузка новой прошивки

На плате есть две маленькие кнопки: User и Flash. Я не совсем понимаю, зачем нужна User, но если во время запуска платы нажать на Flash, она должна перейти в режим, в котором на нее теоретически можно загружать новые прошивки. Я говорю «теоретически», потому что сначала у меня ничего не работало. Чтобы я не пробовал, мне выдавало следующую ошибку:

$ python esptool.py --port /dev/tty.Repleo-CH341-XXXX write_flash 0x00000 nodemcu_latest.bin 
Connecting...
Traceback (most recent call last):
  File "esptool.py", line 471, in 
    esp.connect()
  File "esptool.py", line 149, in connect
    raise Exception('Failed to connect')
Exception: Failed to connect

Спустя какое-то время я сдался и взял нормальный адаптер Serial-USB, подключив его напрямую к контактам RX, TX и GND, минуя чип CH340G. Питание шло от Mac. Сделав сброс, я смог программировать модуль через ESPlorer абсолютно безо всяких проблем. Таким образом, в итоге и питание, и последовательная коммуникация шли через один единственный USB-кабель.

Использование на практике

Модуль NodeMCU V0.9 очень удобен – в отличие от других модулей с чипом ESP8266 он отлично совместим с контактами макетной платы (разумеется, не считая 4-ех боковых контактов, которые приходится отгибать).

Как можно видеть на картинке ниже, V0.9 закрывает все 10 контактов стандартной макетной платы. Таким образом, чтобы воспользоваться ими, придется задействовать U-образные провода-перемычки, то есть перед их подключением модуль придется вынуть из макетной платы. Не очень удобно... Сравните это с ESP-201, по бокам которого остается по одному свободному ряду контактов.

Сравнение модулей NodeMCU и ESP-201; как видите, NodeMCU закрывает собой все 10 контактов, а ESP-201 оставляет 2 свободных ряда (по бокам от себя)

Итого

NodeMCU V0.9 – это удобная прототипная плата, простая в использовании и требующая не так много внешних компонентов, как другие модули с чипом ESP8266. Но один серьезный недостаток все же есть: модуль закрывает собой все 10 контактов стандартной макетной платы, но с этой проблемой можно справиться при помощи U-образных проводов-перемычек, используемых для ESP-01.

Пожалуйста, дайте знать, если найдете способ загружать прошивку без внешнего конвертера USB-Serial.

См.также

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