Начните свой путь IoT с NodeMCU
Система IoT направлена на превращение повседневных объектов в интеллектуальные системы путем соединения устройств через Интернет. Экосистему составляют сенсорные сети, встраиваемые системы, платформы больших данных, облачные вычисления и сервис-ориентированная архитектура.
NodeMCU — это аббревиатура от Node MicroController Unit. Это среда разработки с открытым исходным кодом, построенная на недорогих SoC-чипах под названием ESP8266. ESP8266 разработан компанией Espressif Systems. Он может рассматриваться как микрокомпьютер и содержит процессор, оперативную память, модуль WiFi, операционную систему и SDK. Это отличный вариант для IoT-проектов.
В этой статье мы узнаем о NodeMCU и рассмотрим несколько примеров проектов с его использованием.
Начало работы
Оглавление
- Диаграмма выводов NodeMCU
- Настройка среды
- Установка Arduino IDE
- Установка зависимостей и настройка IDE
- Первая программа NodeMCU
- Программа 2: Мигание внешнего светодиода
- Программа 3: Удаленное управление светодиодом с помощью веб-сервера
Начнем со схемы распиновки NodeMCU.
Диаграмма выводов NodeMCU

Скачайте Datasheet, чтобы узнать больше о ESP8266.
Настройка среды
Установка Arduino IDE
Arduino IDE — это среда разработки с открытым исходным кодом на базе Java, которая используется для написания, компиляции и загрузки программ на платы Arduino. Она доступна для загрузки для Windows, Mac и Linux.
-
Загрузите и установите Java JDK 1.8 или более позднюю версию.




Добавьте путь к папке Java JDK bin в переменные окружения
Скачайте и установите Arduino IDE
Дважды щелкните по программе установки и установите IDE с конфигурацией по умолчанию




Установите зависимости и настройте IDE
ESP8266 можно программировать так же, как и обычную плату Arduino. Для этого мы должны добавить несколько дополнительных пакетов в Arduino IDE.
- Откройте Arduino IDE. Выберите File -> Preferences и вставьте следующий URL в поле ввода Additional Boards Manager URLs.

- Выберите Инструменты -> Доска: [имя платы по умолчанию] -> Boards Manager и найдите esp8266 в поисковой строке вновь открывшегося окна. Нажмите на кнопку Install перечисленного esp8266 пакета ESP8266 Community.


- Выберите Generic ESP8266 Module из Tools -> Board: [имя платы по умолчанию] -> ESP8266 Boards (version) списка меню.

- Подключите плату NodeMCU к системе через USB-кабель. Выберите правильный COM-порт в меню Tools -> Port .

Первая программа NodeMCU
Программы, написанные в Arduino IDE, называются скетчами. Скетч — это единица кода, которая загружается на плату Arduino. Эти скетчи хранятся в файлах с расширением .ino.
Arduino Integrated Development Environment (IDE) v1 | Документация Arduino
Мы создадим программу мигания светодиода, используя встроенный светодиод на плате NodeMCU.
- Откройте Arduino IDE и добавьте следующий код в окно скетча
- Нажмите на File -> Save для сохранения кода
- Нажмите на значок Verify, чтобы скомпилировать код

- Нажмите на кнопку Upload, чтобы записать код на модуль NodeMCU.
После успешной загрузки кода вы получите скриншот, как показано ниже.
Теперь вы увидите, как мигает встроенный синий светодиод.
Программа 2: Мигание внешнего светодиода
Мы запрограммировали встроенный светодиод. Теперь пришло время опробовать тот же код на внешнем светодиоде.
Следуйте приведенной ниже схеме, чтобы подключить светодиод к модулю NodeMCU. Для этого подключите светодиод к выводу D1 (GPIO 5) и выводу GND.

- Создайте новый файл скетча из File -> New и добавьте в него следующий код.
- Чтобы скомпилировать код, нажмите на значок Verify. Нажмите кнопку Upload, чтобы загрузить код в NodeMCU. Если загрузка прошла успешно, вывод будет выглядеть следующим образом.
Программа 3: Удаленное управление светодиодами с помощью веб-сервера
ESP8266 работает как веб-сервер при подключении к существующей сети WiFi. Его можно использовать для создания веб-страниц и использования этих сайтов для управления датчиками. Кроме того, мы можем просматривать показания датчиков в реальном времени на странице.
В этой программе мы будем управлять двумя светодиодными лампочками с веб-страницы.
- Подключите два светодиода к цифровым GPIO D5 и D4 через резистор 220 Ом, как показано на рисунке ниже.

- Создайте новый файл скетча из File -> New и добавьте в него следующий код.
- Нажмите на значок Verify, чтобы скомпилировать код, затем нажмите на кнопку Upload, чтобы загрузить код на NodeMCU. Если загрузка прошла успешно, то мы можем увидеть следующий результат.
Спасибо за прочтение этой статьи.
Чтобы получить статью в формате pdf: Начните свое IoT-путешествие с NodeMCU
Полный исходный код программ доступен на
Статья также доступна на Medium
Если вам понравилась эта статья, пожалуйста, нажмите на кнопку с сердечком ♥ и поделитесь, чтобы помочь другим найти ее!
NodeMCU

Если вы делаете устройство, которое должно ходить в интернет без проводов, NodeMCU станет для него отличной основой. NodeMCU — это полноценная платформа на основе модуля ESP8266, который умеет принимать и посылать данные в локальную сеть или интернет через Wi-Fi.
Представленный модуль — это NodeMCU DevKit v0.9.
Используйте NodeMCU вместо или вместе с Arduino, чтобы сделать умный дом, проекты интернета вещей или удалённый мониторинг сенсоров.
Модуль предоставляет в ваше распоряжение 11 портов ввода-вывода общего назначения. Некоторые обладают дополнительными функциями:
- D9, D10 — UART
- D1, D2 — I²C/TWI
- D5–D8 — SPI
- D1–D10 — выходы с ШИМ
- A0 — вход с АЦП (аналоговый)
Взаимодействие
По умолчанию в платформу загружена одноимённая прошивка NodeMCU. В неё встроен интерпретатор скриптового языка Lua, которым и задаётся поведение платы. Документация по Lua API и примеры есть на GitHub’е. Достаточно подключиться к NodeMCU через терминал (например, PuTTY) и ввести скрипт — платформа сразу приступит к его исполнению. Подключайтесь проводом, через USB-порт или без проводов, через Wi-Fi.
В сердце платы — чипсет ESP8266, поэтому вы не ограничены стандартной Lua-прошивкой NodeMCU. Вы можете написать собственную на C/C++ и загрузить её в плату через USB-порт.
Программировать и загружать прошивки можно через Arduino IDE или визуальную среду XOD IDE — точно так же, как при работе с Arduino.
Для того, чтобы среда Arduino IDE научилась прошивать ESP8266, достаточно добавить директорию с конфигурацией платформы в папку со своими скетчами.
Ножки платы расположены на стандартном расстоянии 2,54 мм, поэтому модуль легко установить на макетной плате.
Питание
Родное напряжение модуля — 3,3 вольта. На плате есть регулятор напряжения, поэтому питать её можно через USB или подвести питание от 3,7 до 20 вольт к пину 5V.
Характеристики
- Модификация: NodeMCU DevKit v0.9
- Беспроводной интерфейс: Wi-Fi 802.11 b/g/n 2,4 ГГц
- Режимы: P2P (клиент), soft-AP (точка доступа)
- Максимальная выходная мощность: 19,5 дБ·мВт (89 мВт)
- Номинальное напряжение: 3,3 В
- Входное напряжение: 3,7–20 В
- Максимальный потребляемый ток: 220 мА
- Портов ввода-вывода свободного назначения: 11
- Частота процессора: 80 МГц
- Объём памяти для кода: 64 КБ
- Объём оперативной памяти: 96 КБ
- Габариты: 45×30 мм
Ссылки
Возможные альтернативы

Плата разработки IoT-устройств на двухъядерном чипе ESP32 (Xtensa LX6 / 240 МГц) с Wi-Fi и Bluetooth

Двухюнитовый модуль на чипе ESP8266 для работы с сетями Wi-Fi

Платформа для разработки устройств интернета вещей на C++ или JavaScript с ESP-12 на борту
NodeMCU (ESP8266) для начинающих: что такое, как подключить
NodeMCU — это платформа на основе модуля ESP8266. П лата предназначена для удобного управления различными схемами на расстоянии посредством передачи сигнала в локальную сеть или интернет через Wi-Fi. Возможности применения этой платы ограничивается лишь вашей фантазией. К примеру, на базе Node MCU можно создать «умный дом», настроив управление светом или вентиляцией через телефон, регистрацию показаний датчиков и многое другое.
Характеристики NodeMCU
Размер платы NodeMCU — 6 * 3 см . Плата довольно компактная, это позволяет использовать ее в большем количестве проектов. «Ноги» NodeMCU расположены так, что ее без проблем можно установить в макетную плату ( breadboard ).
На лицевой части платы разъем Micro USB, с помощью которого в контроллер заливают скетчи или подают питание от powerbank-а или компьютера.
Рядом с разъемом располагаются две кнопки: «Flash» и «Reset» . Кнопка «Flash» используется для отладки, а кнопка «Reset» для перезагрузки платы.
Больше всего места на плате занимает чип ESP8266 , на котором уставлен микропроцессор с тактовой частотой 80 МГц ( можно разогнать до 160 МГц) . Плата имеет 4 мегабайта Flash- памяти.
Для питания на плату можно подавать напряжение от 5 до 12 В, но рекомендуется от 10 В. Можно питать как от Micro USB, так и от контакта Vin (от 5В.). Также существуют дополнительные платы расширения для удобного питания модулей.

Плата для питания NodeMCU
Плата потребляет небольшое количество энергии. Это позволяет использовать ее с автономным питанием.
NodeMCU имеет 11 портов ввода-вывода общего назначения.
Некоторые из портов имеют дополнительные функции:
- D9, D10 — UART
- D1, D2 — I²C/TWI
- D5–D8 — SPI
- D1–D10 — выходы с ШИМ (PWM)
- A0 — аналоговый вход с АЦП.
Подключение NodeMCU
Подключаем плату NodeMCU к компьютеру с помощью USB кабеля:
- cначала необходимо установить драйвер CP2102, затем открываем Arduino IDE,
- заходим в раздел «Файл» -> «Настройки» и найдем строчку «дополнительные ссылки для менеджера плат» и вставляем туда следующую ссылку http://arduino.esp8266.com/versions/2.3.0/package_esp8266com_index.json,
- заходим в раздел «инструменты» -> «плата» -> «менеджер плат», где выбираем «esp8266» и скачиваем последнюю версию,

- заходим в раздел «инструменты» -> «плата» и находим Node MCU,

- необходимо в том же разделе зайти в раздел «порт» и выбрать тот, в который подключена плата,

- установить в разделе инструменты: Upload speed (115200 bouad).

NodeMCU: мигающий светодиод
Рассмотрим простейшую схему — мигание светодиодом. В скетче можно задать частоту мигания светодиода.
#define ledpin 1 // GPIO1/TXD01
void setup() <
pinMode(ledpin, OUTPUT);
>
void loop() <
digitalWrite(ledpin, HIGH);
delay(1000);
digitalWrite(ledpin, LOW);
delay(1000);
>
Видео NodeMCU: введение в интернет вещей:

Пины NodeMCU располагаются так:
Смотрите также:
Посты по урокам:
- Первый урок: Светодиод.
- Второй урок: Кнопка.
- Третий урок: Потенциометр.
- Четвертый урок: Сервопривод.
- Пятый урок: Трехцветный светодиод.
- Шестой урок: Пьезоэлемент.
- Седьмой урок: Фоторезистор.
- Восьмой урок: Датчик движения (PIR) на Arduino. Автоматическая отправка E-mail.
- Девятый урок: Подключение датчика температуры и влажности DHT.
- Десятый урок: Подключение матричной клавиатуры.
Все посты сайта «Занимательная робототехника» по тегу Arduino.
Не знаете, где купить Arduino и NodeMCU? Низкие цены, спецпредложения и бесплатная доставка на сайтах AliExpress и DealExtreme. Если нет времени ждать посылку из Китая — рекомендуем интернет-магазин Амперка. Низкие цены и быструю доставку предлагает интернет-магазин ROBstore. Смотри также список магазинов.
Читайте также
15 комментариев к статье “NodeMCU (ESP8266) для начинающих: что такое, как подключить”
Почему везде статьи только под АрДубино?Что люди нашли в слабых 8-битных камнях с 2КБайт ОЗУ?Или я попал в 70-е годы прошлого века?
Много комментариев на эту тему собрал этот пост в фейсбуке
Долбя по клаве всякую херь не забывай что в этой клаве проц 8 бит разработанный как раз где-то в конце 70-х…
Arduino — это популярная платформа с открытым исходным кодом для создания электронных проектов, которая часто используется в образовательных учреждениях и для проектов любителей из-за ее простоты и доступности. Он основан на микроконтроллере AVR, который представляет собой 8-битный микроконтроллер. Из-за его популярности существует большое сообщество производителей и любителей, которые делятся своими проектами и учебными пособиями в Интернете, поэтому вы можете увидеть много статей об Arduino.
При этом существует множество других платформ и микроконтроллеров, доступных для создания электронных проектов, включая 32-разрядные микроконтроллеры с большей памятью и вычислительной мощностью. Некоторые люди считают, что 8-битных микроконтроллеров, таких как AVR, достаточно для их проектов, в то время как другие предпочитают использовать более мощные микроконтроллеры.
В конечном итоге выбор микроконтроллера будет зависеть от конкретных требований вашего проекта, а также от ваших собственных знаний и опыта.
Как пример, на этом сайте тоже есть набор инструкций уроков по Arduino
Да ты, походу, в этих 70-х и застрял, раз не знаешь, что Arduino IDE поддерживает самые разнообразные платформы, вплоть до Cortex-M7
Вы правы в том, что интегрированная среда разработки (IDE) Arduino поддерживает широкий спектр платформ и микроконтроллеров, включая более новые и более мощные микроконтроллеры, такие как Cortex-M7. Arduino IDE спроектирована так, чтобы быть гибкой и расширяемой, поэтому ее можно использовать с широким спектром аппаратных платформ, помимо оригинальных плат на базе AVR.
Поддержка других платформ и микроконтроллеров осуществляется через так называемые «ядра», которые представляют собой наборы библиотек и настроек, специфичных для конкретной платформы. Это позволяет использовать Arduino IDE в различных встраиваемых системах и архитектурах, не только в AVR, но и в ARM, ESP32 и других. Arduino IDE не ограничивается 8-битными микроконтроллерами AVR с 2 КБ ОЗУ конечно же ))
Хм… Стесняюсь спросить: «cначала необходимо установить драйвер CP2102» — что это за зверь и с чем его едят?
Драйвер cp210x устанавливается автоматически, когда вы подключаете устройство с чипом silabs к компьютеру.
Убедитесь, что у вас установлен последняя версия драйвера. Вы можете скачать его с сайта silabs или с официального сайта производителя устройства.
Проверьте, что ваш устройство настроено на работу с драйвером cp210x. Некоторые устройства могут использовать другие драйверы, например, FTDI.
Перезагрузите компьютер и попробуйте подключить устройство снова.
Проверьте, что у вас установлены необходимые драйвера для USB-порта. Иногда проблемы с драйвером cp210x могут быть связаны с проблемами в USB-порте.
Проверьте, что ваш устройство работает на другом компьютере. Это поможет определить, является ли проблема с драйвером cp210x или компом
Попробуйте обновить драйвер cp210x через Диспетчер устройств. Щелкните правой кнопкой мыши по устройству в списке устройств и выберите «Обновить драйвер».
Попробуйте восстановить драйвер cp210x через Диспетчер устройств. Щелкните правой кнопкой мыши по устройству в списке устройств и выберите «Восстановить драйвер».
Если вы используете виртуальный компьютер, проверьте, что устройство и драйвер cp210x работают в виртуальной среде. Некоторые виртуальные среды могут не поддерживать некоторые устройства или драйверы.
Если все перечисленные шаги не помогли, вы можете попробовать переустановить драйвер cp210x или поискать дополнительную помощь в сообществах разработчиков или на форумах
Обзор платы NodeMCU ESP8266 и ее использование в Arduino IDE
Интернет вещей (IoT) является одной из самых популярных областей в мире технологий. Физические объекты и цифровой мир связаны сейчас как никогда. Помня об этом, компания Espressif Systems (шанхайская компания по производству полупроводниковых устройств) выпустила крутой микроконтроллер с поддержкой Wi-Fi, ESP8266, по невероятной цене! С помощью него менее чем за 3 доллара можно контролировать и управлять устройством из любой точки мира – идеально подходит практически для любого проекта IoT.
Характеристики платы NodeMCU ESP8266 и ее использование в Arduino IDE
Модуль ESP-12E
Отладочная плата оснащена модулем ESP-12E, содержащим микросхему ESP8266 с RISC микропроцессором Tensilica Xtensa® 32-bit LX106, который работает с регулируемой тактовой частотой от 80 до 160 МГц и поддерживает RTOS.
Характеристики ESP-12E
- 32-разрядный LX106 от Tensilica Xtensa®
- Тактовая частота от 80 до 160 МГц
- 128 КБ встроенной оперативной памяти
- 4 МБ внешней внешней флеш-памяти
- Приемопередатчик Wi-Fi 802.11b/g/n
Также данный модуль имеет 128 КБ ОЗУ и 4 МБ флеш-памяти (для хранения программ и данных), достаточных, чтобы справиться с большими строками, которые составляют веб-страницы, данными в JSON/XML и всем, что мы сегодня добавляем на устройства IoT.
ESP8266 содержит встроенный приемопередатчик Wi-Fi 802.11b/g/n HT40, поэтому он может не только подключаться к сети Wi-Fi и взаимодействовать с интернетом, но и устанавливать собственную сеть, позволяя другим устройствам подключаться напрямую к нему. Это делает ESP8266 NodeMCU еще более универсальным.
Требования к питанию
Поскольку диапазон рабочего напряжения ESP8266 составляет от 3 В до 3,6 В, данная плата для поддержания постоянного напряжения на уровне 3,3 В поставляется с LDO стабилизатором напряжения. Он может надежно обеспечивать ток до 600 мА, чего должно быть более чем достаточно, поскольку ESP8266 во время радиочастотных передач потребляет до 80 мА. Выход стабилизатора также выводится на выводы на сторонах платы и обозначен как 3V3. Эти выводы можно использовать для подачи питания на внешние компоненты.
Требования к питанию
- Рабочее напряжение: от 2,5 до 3,6 В
- Встроенный стабилизатор: 3,3 В, 600 мА
- Рабочий ток: 80 мА
- Потребление в спящем режиме: 20 мкА
Питание к ESP8266 NodeMCU подается через встроенный USB-разъем MicroB. В качестве альтернативы, если у вас есть стабилизированный источник напряжения 5 В, можно использовать вывод VIN для непосредственного питания ESP8266 и его периферии.
Предупреждение
ESP8266 требует 3,3 В для питания и логические уровни 3,3 В для связи. Контакты GPIO не допускают напряжение 5 В! Если вы хотите соединить плату со схемами 5 В (или выше), то необходимо реализовать согласование логических уровней.
Периферия и ввод/вывод
ESP8266 NodeMCU имеет в общей сложности 17 выводов GPIO, выведенных на разъемы с обеих сторон отладочной платы. Эти выводы могут использоваться для выполнения различных периферийных задач, в том числе:
- вход АЦП – канал 10-разрядного АЦП;
- интерфейс UART – интерфейс UART используется для загрузки кода по последовательной связи;
- выходы ШИМ – выводы ШИМ могут использоваться для регулировки яркости светодиодов или управления двигателями;
- интерфейсы SPI, I2C – интерфейсы используются SPI и I2C для подключения всевозможных датчиков и периферийных устройств;
- интерфейс I2S – интерфейс I2S используется для цифровой передачи звука.
Мультиплексируемые выводы ввода/вывода
- 1 канал АЦП
- 2 интерфейса UART
- 4 выхода ШИМ
- Интерфейсы SPI, I2C и I2S
В ESP8266 используется функция мультиплексирования выводов (несколько периферийных устройств мультиплексируются на один вывод GPIO). Это означает, что один вывод GPIO может действовать как PWM/UART/SPI.
Кнопки и светодиодный индикатор на плате
На плате ESP8266 NodeMCU находятся две кнопки. Одна из них, помеченная как RST, расположенная в верхнем левом углу, представляет собой кнопку сброса, которая, конечно же, используется для сброса микросхемы ESP8266. Другая кнопка, FLASH, в левом нижнем углу – это кнопка загрузки, используемая при обновлении прошивки.
Кнопки и индикаторы
- RST – сброс чипа ESP8266
- FLASH – загрузка новой программы
- Синий светодиод — программируется пользователем
На плате также имеется светодиодный индикатор, который программируется пользователем и подключен к выводу D0 платы.
Последовательная связь
На плате установлен контроллер USB-UART CP2102 от Silicon Labs, который преобразует USB сигнал в сигнал последовательного порта и позволяет компьютеру программировать и взаимодействовать с микросхемой ESP8266.
Последовательная связь
- USB-UART преобразователь CP2102
- Скорость связи 4,5 Мбит/с
- Поддержка управления потоком
Если на вашем компьютере установлена старая версия драйвера CP2102, рекомендуем выполнить обновление прямо сейчас.
Распиновка ESP8266 NodeMCU
С внешним миром ESP8266 NodeMCU соединяют всего 30 выводов. Ниже показана распиновка отладочной платы.
Рисунок 6 – Распиновка ESP8266 NodeMCU
Для простоты мы сгруппируем выводы с аналогичными функциями.
Выводы питания – на плате расположено четыре вывода питания, а именно: один вывод VIN и три вывода 3.3V. Если у вас есть стабилизированный источник напряжения 5 В, вывод VIN можно использовать для непосредственного питания ESP8266 и его периферии. Выводы 3.3V – это выходы встроенного стабилизатора напряжения. Эти выводы могут использоваться для подачи питания на внешние компоненты.
GND – это вывод земли отладочной платы ESP8266 NodeMCU.
Выводы I2C используются для подключения всех видов датчиков и периферийных устройств на шине I2C в вашем проекте. Поддерживаются и I2C Master, и I2C Slave. Работа интерфейса I2C может быть реализована программно, а тактовая частота составляет максимум 100 кГц. Следует отметить, что тактовая частота I2C должна быть выше самой низкой тактовой частоты из ведомых устройств.
Выводы GPIO На ESP8266 NodeMCU имеется 17 выводов GPIO, которые можно назначать программно на различные функции, такие как I2C, I2S, UART, PWM, дистанционное инфракрасное управление, светодиодный индикатор и кнопка. Каждый включенный вывод GPIO может быть настроен либо на внутреннюю подтяжку к земле или к шине питания, либо установлен на высокоимпедансное состояние. При конфигурировании на вход для генерирования прерываний процессора он может быть настроен на срабатывание либо по фронту, либо по спаду.
Вывод ADC подает сигнал на имеющийся в NodeMCU, встроенный 10-разрядный прецизионный аналого-цифровой преобразователь последовательного приближения (SAR ADC). С помощью этого АЦП могут быть реализованы две функции: проверка напряжения питания на выводе VDD3P3 и проверка входного напряжения на выводе TOUT (но не одновременно).
Выводы UART ESP8266 NodeMCU имеет 2 интерфейса UART, то есть UART0 и UART1, которые обеспечивают асинхронную связь (RS232 и RS485) и могут обмениваться данными со скоростью до 4,5 Мбит/с. Для связи можно использовать UART0 (выводы TXD0 , RXD0 , RST0 и CTS0 ), который поддерживает управление потоком. UART1 (вывод TXD1 ) поддерживает только сигнал передачи данных, поэтому он обычно используется для печати журнала событий.
Выводы SPI ESP8266 имеет два интерфейса SPI (SPI и HSPI), поддерживающих и ведомый (slave), и ведущий (master) режимы. Эти интерфейсы SPI также поддерживают следующие функции SPI:
- 4 режима синхронизации передачи SPI;
- до 80 МГц и тактовые частоты, полученные делением 80 МГц;
- до 64 байт FIFO.
Выводы SDIO ESP8266 имеет защищенный цифровой интерфейс ввода/вывода (SDIO, Secure Digital Input/Output Interface), который используется для прямого подключения карт SD. Поддерживаются 4-битный 25 МГц SDIO v1.1 и 4-битный 50 МГц SDIO v2.0.
Выводы PWM На плате имеется 4 канала широтно-импульсной модуляции (PWM). Выход ШИМ может быть реализован программно и использован для управления двигателями и светодиодами. Частотный диапазон ШИМ регулируется от 1000 мкс до 10000 мкс, то есть от 100 Гц до 1 кГц.
Выводы управления используются, как ни странно, для управления ESP8266. Эти выводы включают в себя вывод включения микросхемы EN , вывод сброса RST и вывод пробуждения WAKE .
- Вывод EN – микросхема ESP8266 включена, когда на вывод EN подается высокий логический уровень. При низком логическом уровне микросхема работает на минимальной мощности.
- Вывод RST используется для сброса микросхемы ESP8266.
- Вывод WAKE используется для вывода чипа из глубокого сна.
Платформы разработки для ESP8266
Теперь перейдем к интересным вещам!
Существует множество платформ разработки, которые могут быть оснащены для программирования ESP8266. Вы можете использовать Espruino – JavaScript SDK и прошивка, эмулирующая Node.js, или использовать Mongoose OS – операционную систему для устройств IoT (рекомендуемая платформа от Espressif Systems и Google Cloud IoT), или использовать комплект разработки программного обеспечения (SDK), предоставляемый Espressif. или любую из платформ, перечисленных на Википедии.
К счастью, крутое сообщество ESP8266 сделало выбор IDE на шаг вперед, создав дополнение к Arduino IDE. Если вы только начинаете программировать для ESP8266, мы рекомендуем начать с этой среды разработки, и ее мы опишем в данном руководстве.
Это дополнение ESP8266 для Arduino IDE основано на работе Ивана Грохоткова и остальной части сообщества ESP8266. Для получения дополнительной информации смотрите репозиторий GitHub ESP8266 Arduino.
Установка ядра ESP8266 на ОС Windows
Давайте приступим к установке ядра ESP8266 Arduino.
Во-первых, на вашем компьютере должна быть установлена последняя версия Arduino IDE (Arduino 1.6.4 или выше). Если у вас ее нет, рекомендуем сейчас обновиться.
Для начала нам нужно обновить менеджер плат с помощью пользовательского URL. Откройте Arduino IDE и выберите Файл → Настройки. Затем скопируйте приведенный ниже URL в текстовое поле Дополнительные ссылки для менеджера плат, расположенное в нижней части окна:
Рисунок 7 – Установка платы ESP8266 в Arduino IDE с помощью json URL
Отлично. Затем перейдите к Менеджеру плат, выбрав Инструменты → Платы → Менеджер плат. Там, в дополнение к стандартным платам Arduino, должна быть пара новых записей. Отфильтруйте результаты поиска, введя esp8266. Нажмите на эту запись и выберите Установить.
Рисунок 8 – Установка ядра ESP8266 в менеджере плат Arduino IDE
Определения и инструменты для платы ESP8266 включают в себя полностью новый набор gcc, g++ и других достаточно больших скомпилированных двоичных файлов, поэтому загрузка и установка могут занять несколько минут (заархивированный файл весит
110 МБ). После завершения установки рядом с записью появится надпись INSTALLED. Теперь можно закрыть менеджер плат.
Пример Arduino: мигалка
Чтобы убедиться, что ядро ESP8266 Arduino и NodeMCU правильно настроены, мы загрузим самый простой скетч – The Blink!
Для этого теста мы будем использовать встроенный светодиод. Как упоминалось ранее в этом руководстве, вывод платы D0 подключен к встроенному синему светодиоду и программируется пользователем. Отлично!
Прежде чем мы перейдем к загрузке скетча и игре со светодиодом, мы должны убедиться, что в Arduino IDE выбрана правильная плата. Откройте Arduino IDE и выберите пункт NodeMCU 0.9 (ESP-12 Module) в меню Инструменты → Плата.
Рисунок 9 – Выбор отладочного модуля NodeMCU в Arduino IDE
Теперь подключите ESP8266 NodeMCU к компьютеру через USB-кабель micro-B. Как только плата будет подключена, ей должен быть назначен уникальный COM-порт. На компьютерах с Windows это будет что-то вроде COM#, а на компьютерах Mac/Linux он будет в виде /dev/tty.usbserial-XXXXXX. Выберите этот последовательный порт в меню Инструменты → Порт. Также выберите скорость загрузки: 115200
Рисунок 10 – Выбор COM порта в Arduino IDE
Предупреждение
Уделите больше внимания выбору платы, выбору COM порта и скорости загрузки. В случае некорректных настроек при загрузке новых скетчей вы можете получить ошибку espcomm_upload_mem.
После выполнения всех настроек попробуйте пример скетча, приведенного ниже.
После загрузки кода светодиод начнет мигать. Возможно, чтобы ваш ESP8266 начал работать со скетчем, вам придется нажать кнопку RST.
