Содержание:

NodeMcu – платформа на основе ESP8266 для создания различных устройств интернета вещей (IoT). Модуль умеет отправлять и получать информацию в локальную сеть либо в интернет при помощи Wi-Fi. Недорогой модуль часто используется для создания систем умного дома или роботов Arduino, управляемых на расстоянии. В этой статье мы рассмотрим описание платы, отличие версий и распиновку последней версии модуля Esp8266 NodeMcu v3. Также мы коротко рассмотрим язык Lua, на котором нужно писать программы для NodeMcu.

Описание ESP8266 NodeMcu v3

Технические характеристики модуля:

  • Поддерживает Wi-Fi протокол 802.11 b/g/n;
  • Поддерживаемые режимы Wi-Fi – точка доступа, клиент;
  • Входное напряжение 3,7В – 20 В;
  • Рабочее напряжение 3В-3,6В;
  • Максимальный ток 220мА;
  • Встроенный стек TCP/IP;
  • Диапазон рабочих температур от -40С до 125С;
  • 80 МГц, 32-битный процессор;
  • Время пробуждения и отправки пакетов 22мс;
  • Встроенные TR переключатель и PLL;
  • Наличие усилителей мощности, регуляторов, систем управления питанием.

Существует несколько поколений плат NodeMcu – V1(версия 0.9), V2(версия 1.0) и V3 (версия 1.0). Обозначения V1, V2, V3 используются при продаже в интернет-магазинах. Нередко происходит путаница в платах – например, V3 внешне идентична V2. Также все платы работают по принципу open-source, поэтому их могут производить любые фирмы. Но в настоящее время производством плат NodeMcu занимаются Amica, DOIT и LoLin/Wemos.

Отличия от других модификаций

Платы поколения V1 и V2 легко отличить – они обладают различным размером. Также второе поколение оснащено улучшенной модификацией чипа ESP-12 и 4 Мб флэш-памяти. Первая версия, устаревшая, выполнена в виде яркой желтой платформы. Использовать ее неудобно, так как она покрывает собой 10 выходов макетной платы. Плата второго поколения сделана с исправлением этого недостатка – она стала более узкой, выходы хорошо подходят к контактам платы. Платы V3 внешне ничем не отличаются от V2, они обладают более надежным USB-выходом. Выпускает плату V3 фирма LoLin, из отличий от предыдущей платы можно отметить то, что один из двух зарезервированных выходов используется для дополнительной земли, а второй – для подачи USB питания. Также плата отличается большим размером, чем предыдущие виды.

Где купить модули NodeMCU и ESP8266

Сегодня на рынке доступно множество достаточно недорогих модификаций плат на базе ESP8266. Мы сделали небольшую подборку наиболее интересных вариантов:

Питание модуля NodeMcu

Подавать питание на модуль можно несколькими способами:

  • Подавать 5-18 В через контакт Vin;
  • 5В через USB-разъем или контакт VUSB;
  • 3,3В через вывод 3V.

Преимущества NodeMcu v3

  • Наличие интерфейса UART-USB с разъемом micro USB позволяет легко подключить плату к компьютеру.
  • Наличие флэш-памяти на 4 Мбайт.
  • Возможность обновлять прошивку через USB.
  • Возможность создавать скрипты на LUA и сохранять их в файловой системе.

Недостатки модуля NodeMcu

Основным недостатком является возможность исполнять только LUA скрипты, расположенные в оперативной памяти. Этого типа памяти мало, объем составляет всего 20 Кбайт, поэтому написание больших скриптов вызывает ряд трудностей. В первую очередь, весь алгоритм придется разделять на линейные блоки. Эти блоки необходимо записать в отдельные файлы системы. Все эти модули исполняются при помощи оператора dofile.

При написании нужно соблюдать правило – при обмене данными между модулями нужно пользоваться глобальными переменными, а при вычислении внутри модулей – локальными. Также важно в конце каждого написанного скрипта вызывать функцию collectgarbage (сборщик мусора).

Распиновка NodeMcu v3

Модуль V3 имеет 11 контактов ввода-вывода общего назначения. Помимо этого некоторые из выводов обладают дополнительными функциями:

  • D1-D10 – выводы с широтно-импульсной модуляцией;
  • D1, D2– выводы для интерфейса I²C/TWI;
  • D5–D8 – выводы для интерфейса SPI;
  • D9, D10 – UART;
  • A0 – вход с АЦП.

Подключение NodeMCU к компьютеру

Для начала работы с NodeMcu нужно подключить плату к компьютеру. Первым шагом будет установка драйвера CP2102 и открытие Arduino IDE. Затем нужно найти в «Файл» – «Настройки» и в окно «дополнительные ссылки для менеджера плат» вставить ссылку http://arduino.esp8266.com/versions/2.3.0/package_esp8266com_index.json.

После этого в меню «документы» – «плата» «менеджер плат» выбрать «esp8266» и установить последнюю версию. После проделанных действий в меню «инструменты» – «плата» нужно найти NodeMCU.

После того, как все необходимые данные будут установлены и скопированы, можно будет начать работать.

Пример подключения светодиода к NodeMCU

Принципиальная схема подключения представлена на рисунке.

Итоговый макет макет выглядит следующим образом:

Сама плата работает от напряжения 3.3 В, поэтому для подключения светодиода нужно использовать резистор. В данном примере для красного светодиода берется резистор номиналом 65 Ом.

Похожим способом к плате подключается и фотодиод:

Плату NodeMCU можно использовать и для управления по ИК каналу. Для управления нужен пульт дистанционного управления с ИК приемником и сама платформа. Инфракрасный приемник подключается по схеме, представленной ниже:

Прошивки для esp8266 NodeMcu

В основу платформы загружена стандартная прошивка Node MCU, в которую встроен интерпретатор языка Lua. При помощи Lua-команд можно выполнять следующие действия:

  • Подключение к Wi-Fi точке доступа;
  • Работа в роли Wi-Fi точки доступа;
  • Переход в режим глубокого сна для уменьшения потребления энергии;
  • Включение или выключения светодиода на выходе GPIO16;
  • Выполнение различные операции с файлами во флэш-памяти;
  • Поиск открытой Wi-Fi сети, подключение к ней;
  • Вывод MAC адреса;
  • Управление пользовательскими таймерами.

Для программирования NodeMCU можно использовать Arduino IDE или комплекс средств разработки SDK – ESPlorer. Этот комплекс обладает рядом отличий:

  • Он может работать на множестве различных платформ;
  • Обладает поддержкой нескольких открытых файлов;
  • Позволяет подсвечивать код языка Lua;
  • Возможность умной отправки файлов;
  • Возможность поддержки нескольких видов прошивки одновременно.

Для обеспечения корректной и стабильной работы нужно обновить прошивку до последней версии. Существует несколько способов обновления – облачный сервис, Docker Image и компилирование в Linux. Каждый из этих способов обладает своими плюсами и минусами. Наиболее простым и понятным является первый способ.

Сбор прошивки в облачном сервисе

Облачный сервис обладает простым и удобным интерфейсом. Работа начинается с ввода email. Далее будет предложено выбрать тип прошивки – стабильная прошивка или тестируемая. Первая используется для обучения и создания большого количества объектов, поэтому рекомендуется выбирать именно ее. Следующим шагом будет подключение нужных модулей. По умолчанию уже записано несколько основных пунктов, остальные нужно включать только по необходимости. Затем выбираются дополнительные опции. Среди них есть поддержка FatFS для чтения sd-карты или включение режима отладки.

Читайте также:  Как красить камни для сада

После начала сборки придет письмо на почту, сигнализирующее о начале запуска процесса. Через некоторое время придет и второе письмо – будет предложено выбрать версию float (дробные числа) или integer (целые числа).

После перехода по полученной ссылке нужно будет скачать файл bin и поместить его в Resources – Binaries. Там будет расположен файл nodemcu_integer_0.9.5_20150318.bin, который нужно удалить. В итоге содержимое папки будет выглядеть следующим образом.

Обновление прошивки Node Mcu

Для правильной и стабильной работы платы требуется перезаписать esp_init_data_default.bin. Скачать его можно на официальном сайте. Нужный файл нужно поместить снова в систему для прошивки NodeMCU Flasher по пути Resources – Binaries, предварительно удалив из него старый файл.

Затем можно подключать NodeMCU и приступить к обновлению. Для начала нужно поменять настройки – в NodeMCU Flasher во вкладке Config нужно выбрать файл собранной прошивки вместо INTERNAL://NODEMCU.

Остальное оставить без изменений, перейти на Operations и нажать Flash. Как только окончится прошивка, нужно снова перейти на Config и в первой строке указать путь esp_init_data_default.bin. Также дополнительно указывается адрес, куда нужно переместить этот файл. Для модуля NodeMCU следует выбрать адрес 0x3FC000. После этого нужно снова вернуться на Operations и нажать Flash.

После этого нужно переформатировать всю файловую систему млаты. Для этого нужно запустить ESPlorer, обязательно поставить скорость обмена 115200 и перезагрузить NodeMCU. После всех вышеописанных действий будет новая версия прошивки. Отладочная плата полностью перепрошита и готова к работе.

Краткое описание языка Lua

Язык Lua обладает простым синтаксисом и мощными конструкциями описания данных, которые основаны на массивах и расширяемой семантике. Этот мощный язык программирования используется для создания программного обеспечения, расширения различных игр. В отличие от остальных языков Lua обладает более гибкими и более мощными конструкциями.

Мигание светодиодами на Lua

Можно рассмотреть простейшую схему – мигание светодиодом. Этот пример поможет изучить работы с контактами GPIO. Светодиод нужно подключить как показано на схеме.

Затем нужно записать следующий скетч в левое окно ESPlorer:

gpio.mode (pin_number, gpio.OUTPUT) // установка рабочего режима на выход

gpio.write (pin_number, gpio.HIGH)// установка высокого уровня

gpio.write (pin_number, gpio.LOW)// установка низкого уровня

gpio.serout (1, gpio.HIGH, <+990000,990000>, 10, 1) // установка мигания светодиодом 10 раз

После нужно сохранить скрипт с названием init.lua. Сразу после этого начнется автоматическая загрузка написанного кода в отладочную плату и его выполнение. Если операция выполнена успешно, отладочная плата начнет мигать светодиодом.

Важно отметить, что плата самостоятельно выполняет скрипт, подключение к компьютеру нужно только для подачи питания.

NodeMcu – платформа на основе ESP8266 для создания различных устройств интернета вещей (IoT). Модуль умеет отправлять и получать информацию в локальную сеть либо в интернет при помощи Wi-Fi. Недорогой модуль часто используется для создания систем умного дома или роботов Arduino, управляемых на расстоянии. В этой статье мы рассмотрим описание платы, отличие версий и распиновку последней версии модуля Esp8266 NodeMcu v3. Также мы коротко рассмотрим язык Lua, на котором нужно писать программы для NodeMcu.

Описание ESP8266 NodeMcu v3

Технические характеристики модуля:

  • Поддерживает Wi-Fi протокол 802.11 b/g/n;
  • Поддерживаемые режимы Wi-Fi – точка доступа, клиент;
  • Входное напряжение 3,7В – 20 В;
  • Рабочее напряжение 3В-3,6В;
  • Максимальный ток 220мА;
  • Встроенный стек TCP/IP;
  • Диапазон рабочих температур от -40С до 125С;
  • 80 МГц, 32-битный процессор;
  • Время пробуждения и отправки пакетов 22мс;
  • Встроенные TR переключатель и PLL;
  • Наличие усилителей мощности, регуляторов, систем управления питанием.

Существует несколько поколений плат NodeMcu – V1(версия 0.9), V2(версия 1.0) и V3 (версия 1.0). Обозначения V1, V2, V3 используются при продаже в интернет-магазинах. Нередко происходит путаница в платах – например, V3 внешне идентична V2. Также все платы работают по принципу open-source, поэтому их могут производить любые фирмы. Но в настоящее время производством плат NodeMcu занимаются Amica, DOIT и LoLin/Wemos.

Отличия от других модификаций

Платы поколения V1 и V2 легко отличить – они обладают различным размером. Также второе поколение оснащено улучшенной модификацией чипа ESP-12 и 4 Мб флэш-памяти. Первая версия, устаревшая, выполнена в виде яркой желтой платформы. Использовать ее неудобно, так как она покрывает собой 10 выходов макетной платы. Плата второго поколения сделана с исправлением этого недостатка – она стала более узкой, выходы хорошо подходят к контактам платы. Платы V3 внешне ничем не отличаются от V2, они обладают более надежным USB-выходом. Выпускает плату V3 фирма LoLin, из отличий от предыдущей платы можно отметить то, что один из двух зарезервированных выходов используется для дополнительной земли, а второй – для подачи USB питания. Также плата отличается большим размером, чем предыдущие виды.

Где купить модули NodeMCU и ESP8266

Сегодня на рынке доступно множество достаточно недорогих модификаций плат на базе ESP8266. Мы сделали небольшую подборку наиболее интересных вариантов:

Питание модуля NodeMcu

Подавать питание на модуль можно несколькими способами:

  • Подавать 5-18 В через контакт Vin;
  • 5В через USB-разъем или контакт VUSB;
  • 3,3В через вывод 3V.

Преимущества NodeMcu v3

  • Наличие интерфейса UART-USB с разъемом micro USB позволяет легко подключить плату к компьютеру.
  • Наличие флэш-памяти на 4 Мбайт.
  • Возможность обновлять прошивку через USB.
  • Возможность создавать скрипты на LUA и сохранять их в файловой системе.

Недостатки модуля NodeMcu

Основным недостатком является возможность исполнять только LUA скрипты, расположенные в оперативной памяти. Этого типа памяти мало, объем составляет всего 20 Кбайт, поэтому написание больших скриптов вызывает ряд трудностей. В первую очередь, весь алгоритм придется разделять на линейные блоки. Эти блоки необходимо записать в отдельные файлы системы. Все эти модули исполняются при помощи оператора dofile.

При написании нужно соблюдать правило – при обмене данными между модулями нужно пользоваться глобальными переменными, а при вычислении внутри модулей – локальными. Также важно в конце каждого написанного скрипта вызывать функцию collectgarbage (сборщик мусора).

Распиновка NodeMcu v3

Модуль V3 имеет 11 контактов ввода-вывода общего назначения. Помимо этого некоторые из выводов обладают дополнительными функциями:

  • D1-D10 – выводы с широтно-импульсной модуляцией;
  • D1, D2– выводы для интерфейса I²C/TWI;
  • D5–D8 – выводы для интерфейса SPI;
  • D9, D10 – UART;
  • A0 – вход с АЦП.

Подключение NodeMCU к компьютеру

Для начала работы с NodeMcu нужно подключить плату к компьютеру. Первым шагом будет установка драйвера CP2102 и открытие Arduino IDE. Затем нужно найти в «Файл» – «Настройки» и в окно «дополнительные ссылки для менеджера плат» вставить ссылку http://arduino.esp8266.com/versions/2.3.0/package_esp8266com_index.json.

После этого в меню «документы» – «плата» «менеджер плат» выбрать «esp8266» и установить последнюю версию. После проделанных действий в меню «инструменты» – «плата» нужно найти NodeMCU.

Читайте также:  Чем заделать дырку в подошве ботинка

После того, как все необходимые данные будут установлены и скопированы, можно будет начать работать.

Пример подключения светодиода к NodeMCU

Принципиальная схема подключения представлена на рисунке.

Итоговый макет макет выглядит следующим образом:

Сама плата работает от напряжения 3.3 В, поэтому для подключения светодиода нужно использовать резистор. В данном примере для красного светодиода берется резистор номиналом 65 Ом.

Похожим способом к плате подключается и фотодиод:

Плату NodeMCU можно использовать и для управления по ИК каналу. Для управления нужен пульт дистанционного управления с ИК приемником и сама платформа. Инфракрасный приемник подключается по схеме, представленной ниже:

Прошивки для esp8266 NodeMcu

В основу платформы загружена стандартная прошивка Node MCU, в которую встроен интерпретатор языка Lua. При помощи Lua-команд можно выполнять следующие действия:

  • Подключение к Wi-Fi точке доступа;
  • Работа в роли Wi-Fi точки доступа;
  • Переход в режим глубокого сна для уменьшения потребления энергии;
  • Включение или выключения светодиода на выходе GPIO16;
  • Выполнение различные операции с файлами во флэш-памяти;
  • Поиск открытой Wi-Fi сети, подключение к ней;
  • Вывод MAC адреса;
  • Управление пользовательскими таймерами.

Для программирования NodeMCU можно использовать Arduino IDE или комплекс средств разработки SDK – ESPlorer. Этот комплекс обладает рядом отличий:

  • Он может работать на множестве различных платформ;
  • Обладает поддержкой нескольких открытых файлов;
  • Позволяет подсвечивать код языка Lua;
  • Возможность умной отправки файлов;
  • Возможность поддержки нескольких видов прошивки одновременно.

Для обеспечения корректной и стабильной работы нужно обновить прошивку до последней версии. Существует несколько способов обновления – облачный сервис, Docker Image и компилирование в Linux. Каждый из этих способов обладает своими плюсами и минусами. Наиболее простым и понятным является первый способ.

Сбор прошивки в облачном сервисе

Облачный сервис обладает простым и удобным интерфейсом. Работа начинается с ввода email. Далее будет предложено выбрать тип прошивки – стабильная прошивка или тестируемая. Первая используется для обучения и создания большого количества объектов, поэтому рекомендуется выбирать именно ее. Следующим шагом будет подключение нужных модулей. По умолчанию уже записано несколько основных пунктов, остальные нужно включать только по необходимости. Затем выбираются дополнительные опции. Среди них есть поддержка FatFS для чтения sd-карты или включение режима отладки.

После начала сборки придет письмо на почту, сигнализирующее о начале запуска процесса. Через некоторое время придет и второе письмо – будет предложено выбрать версию float (дробные числа) или integer (целые числа).

После перехода по полученной ссылке нужно будет скачать файл bin и поместить его в Resources – Binaries. Там будет расположен файл nodemcu_integer_0.9.5_20150318.bin, который нужно удалить. В итоге содержимое папки будет выглядеть следующим образом.

Обновление прошивки Node Mcu

Для правильной и стабильной работы платы требуется перезаписать esp_init_data_default.bin. Скачать его можно на официальном сайте. Нужный файл нужно поместить снова в систему для прошивки NodeMCU Flasher по пути Resources – Binaries, предварительно удалив из него старый файл.

Затем можно подключать NodeMCU и приступить к обновлению. Для начала нужно поменять настройки – в NodeMCU Flasher во вкладке Config нужно выбрать файл собранной прошивки вместо INTERNAL://NODEMCU.

Остальное оставить без изменений, перейти на Operations и нажать Flash. Как только окончится прошивка, нужно снова перейти на Config и в первой строке указать путь esp_init_data_default.bin. Также дополнительно указывается адрес, куда нужно переместить этот файл. Для модуля NodeMCU следует выбрать адрес 0x3FC000. После этого нужно снова вернуться на Operations и нажать Flash.

После этого нужно переформатировать всю файловую систему млаты. Для этого нужно запустить ESPlorer, обязательно поставить скорость обмена 115200 и перезагрузить NodeMCU. После всех вышеописанных действий будет новая версия прошивки. Отладочная плата полностью перепрошита и готова к работе.

Краткое описание языка Lua

Язык Lua обладает простым синтаксисом и мощными конструкциями описания данных, которые основаны на массивах и расширяемой семантике. Этот мощный язык программирования используется для создания программного обеспечения, расширения различных игр. В отличие от остальных языков Lua обладает более гибкими и более мощными конструкциями.

Мигание светодиодами на Lua

Можно рассмотреть простейшую схему – мигание светодиодом. Этот пример поможет изучить работы с контактами GPIO. Светодиод нужно подключить как показано на схеме.

Затем нужно записать следующий скетч в левое окно ESPlorer:

gpio.mode (pin_number, gpio.OUTPUT) // установка рабочего режима на выход

gpio.write (pin_number, gpio.HIGH)// установка высокого уровня

gpio.write (pin_number, gpio.LOW)// установка низкого уровня

gpio.serout (1, gpio.HIGH, <+990000,990000>, 10, 1) // установка мигания светодиодом 10 раз

После нужно сохранить скрипт с названием init.lua. Сразу после этого начнется автоматическая загрузка написанного кода в отладочную плату и его выполнение. Если операция выполнена успешно, отладочная плата начнет мигать светодиодом.

Важно отметить, что плата самостоятельно выполняет скрипт, подключение к компьютеру нужно только для подачи питания.

Сегодня мы рассмотрим wi-fi модуль NodeMcu v3 с чипом ESP8266 (ESP-12e) и работу с ним в среде разработки Arduino IDE 1.6.5

Основные характеристики NodeMcu v3 (ESP-12E)

  • поддержка WiFi протоколов 802.11 b/g/n
  • Wi-Fi Direct (P2P), soft-AP
  • встроенный стек TCP/IP
  • встроенный TR переключатель, balun, LNA, усилитель мощности и соответствие сети
  • встроенный PLL, регуляторы, и система управления питанием
  • выходная мощность +20.5 дБм в режиме 802.11b
  • поддержка диверсити антенн
  • SDIO 2.0, SPI, UART
  • STBC, 1×1 MIMO, 2×1 MIMO
  • A-MPDU & A-MSDU aggregation & 0.4μs guard interval
  • пробуждение и отправка пакетов за время до 22 мс
  • Номинальное напряжение: 3,3 В
  • Входное напряжение: 3,7–20 В
  • Максимальный потребляемый ток: 220 мА

Контакты Wi-Fi модуля NodeMcu v3

Пины NodeMcu v3

Модуль имеет 11 портов ввода-вывода общего назначения.

  • Некоторые из портов имеют дополнительные функции:
  • D9, D10 — UART
  • D1, D2 — I²C/TWI
  • D5–D8 — SPI
  • D1–D10 — выходы с ШИМ (PWM)
  • A0 — аналоговый вход с АЦП

Где купить NodeMcu v3 (ссылка):

Для покупки модуля нажмите на картинку или на ссылку

Подключение модуля NodeMcu v3 к ПК и настройка Arduino IDE для работы с модулем

Для начала откроем среду программирования Arduino IDE и перейдем в настройки

Потом в появившемся окне в строке Additional Boards Manager URLs (отмечено красным) вставим ссылку http://arduino.esp8266.com/stable/package_esp8266com_index.json для установки в Arduino IDE дополнительных скриптов, что бы работать с модулями ESP8266, и жмем ОК

Потом переходим в Tools > Board > Boards Manager

В появившемся окне прокручиваем список вниз к скриптам esp8266 by ESP8266 Community и кликаем.

В правом нижнем углу появится возможность выбора версии ПО, выбираем версию 2.1.0 (самая новая) и жмем кнопку Install

После установки закрываем окно и переходим Tools > Board и видим список доступных для программирования устройств на чипе ESP8266

Выбираем NodeMCU 1.0 (ESP-12E Module), теперь подключаем наше устройство к ПК, устанавливаем для него драйвера Драйвер CH340G и в настройках Arduino IDE выбираем правильный COM порт, остальные настройки оставляем по-умолчанию

Blink на NodeMcu v3

Теперь выбираем из примеров Arduino IDE скетч Blink и заливаем его в нашу плату…

Для наглядности я снял видео всего процесса

После заливки скетча, снова смотрим распиновку NodeMcu v3 и определяем что нужный выход GPIO13 , это нога D7

Читайте также:  Разбили градусник убрали пылесосом

Теперь подключаем светодиод к нашей NodeMcu по схеме

Я специально не устанавливал Резистор, но для ограничения тока рекомендовано использовать на 82 Ом, если все правильно сделано, наш светодиод будет мигать с интервалом в 1 сек.

Для расчета светодиодов рекомендую пользоватся онлайн-калькулятором по ссылке

Ну а теперь сами подключите светодиод к D5 пину на NodeMcu, исправьте и перезалейте скетч… Это подключение нам понадобится для создания простого web сервера.

WebServer на NodeMcu

Для удаленного управления нагрузками по Wi-Fi , нам потребуется скетч из примеров WiFiWebServer

Открываем наш скетч

И видим, что вверху закомментирована важная информация, а именно что нагрузка по умолчанию в скетче подключается к GPIO2

/*
* This sketch demonstrates how to set up a simple HTTP-like server.
* The server will set a GPIO pin depending on the request
* http://server_ip/gpio/0 will set the GPIO2 low,
* http://server_ip/gpio/1 will set the GPIO2 high
* server_ip is the IP address of the ESP8266 module, will be
* printed to Serial when the module is connected.
*/

Но мы помним, что в NodeMcu, выход GPIO2 это нога D4 и при заливке стандартного скетча нам потребуется нагрузку повесить на D4 … Но в предыдущем скетче мы подключили нагрузку к ноге D5

Изменяем в скетче соответствующие строки

а потом пропишем в строках имя нашей Wi-Fi сети ( your-ssid ) и пароль доступа к ней ( your-password ) в строках

и перезальем скетч в NodeMcu и после удачной загрузки откроем монитор порта в Arduino IDE

Запустится установка соединения с нашей сетью Wi-Fi , а потом и сам сервер с отображением IP-адреса, на котором он работает… Запомним IP-адрес и для включения светодиода сформируем строку http://server_ip/gpio/1 где server_ip – это Ваш IP-адрес из монитора порта. Для отключения светодиода формируем строку http://server_ip/gpio/0 , у меня получилось как на фото

Запрос для включения светодиода

Запрос для выключения светодиода

Если все сделано правильно – отобразится надпись с состоянием диода на страничке с запросом и в мониторе порта

Все заработало, но для удобства включения/отключения светодиода мы еще создадим приложение в MIT App Inventor 2 , для телефона на Android.

Создание приложения WebON в MIT App Inventor 2

Для начала перейдем по ссылке MIT App Inventor 2 и после регистрации создадим новый проект, в котором в панели Pallete слева нам понадобится два элемента Button и Web

Выравниваем кнопку по центру и изменяем надпись на LED, потом переходим в режим программирования Blocks и составляем из блоков

событие для нажатия при обычном нажатии, и событие при длительном нажатии на кнопку – ну а если своими словами, то при обычном (кратковременном) нажатии на кнопку мы отправим запрос на наш сервер http://192.168.31.179/gpio/1 и включится светодиод, а при длительном нажатии на кнопку (нажать и удерживать) отправится второй запрос http://192.168.31.179/gpio/0 который отключит светодиод. С дизайном приложения я не заморачивался, главное что ясна суть создания и работы приложения. Чуть ниже на видео, отображен весь процесс

Всем удачных проектов на NodeMcu v3

16 responses on “ NodeMcu v3 и работа в Arduino IDE ”

не могу установить приложение
активна только кнопка “Отмена”
а на “Установить” просто нельзя нажать

Спасибо! Полезная статья

А можно таким образом несколько пинов сразу дёргать?? Причем независимо друг от друга

Спасибо за статью.
Но почему то модуль зависает после нескольких включений/выключений. Помогает только перезагрузка.

Очень умно было запрещать выделение на сайте по ардуино, где куча ссылок и кода… Ребят, не надо так.

скажите, сам модуль esp греется под крышкой? код только на мигание светодиодами.
зачем нужна кнопка Flash?
почему светодиод, подключенный к D0 (находится возле чипа cp2102) горит слабым светом, когда мигаю светодиодом,подключенным к ножкам D1, D2

Нет, не греется. Лишь незначительно теплой становится плата контролера, но не сам чип под крышкой.

Сделал все, как Вы описали. При попытке залить “БЛИНК” компилятор выдает ошибку вида:
—————————————————-
Arduino: 1.6.5 (Windows XP), Плата”NodeMCU 1.0 (ESP-12E Module), 80 MHz, Serial, 115200, 4M (3M SPIFFS)”

Изменена опция сборки, пересобираем все

xtensa-lx106-elf-g++: error: И: No such file or directory
xtensa-lx106-elf-g++: error: АLOCALS

1Tempuild2537812984019849477.tmpBlink.cpp: No such file or directory
xtensa-lx106-elf-g++: error: И: No such file or directory
xtensa-lx106-elf-g++: error: АLOCALS

1Tempuild2537812984019849477.tmpBlink.cpp.o: No such file or directory
Ошибка компиляции.

Это сообщение будет содержать больше информации чем
“Отображать вывод во время компиляции”
включено в Файл > Настройки
—————————————————-
От компиляции к компиляции имя *.tmp файла меняется, но ошибка остается.
Винда и Arduino IDE русские. В исполняемых файлах, расположенных по адресу:
C:Documents and SettingsМишаApplication DataArduino15packagesesp8266 oolsxtensa-lx106-elf-gcc1.20.0-26-gb404fb9-2in

обнаружил такую строчку:
d:/ivan/projects/arduinoesp/toolchain/xtensa-lx106-elf/libexec/gcc/

Повторяется (в вариациях) во всех exe-файлах.

Спасибо! Внятно изложено, в каждой статье нахожу что-то новое и интересное!

Для блинка встроенным диодом на модуле (голубой диод рядом с антенной) можно воспользоваться пином D4

не могу залить скетч(
NodeMCU v3 ESP8266, ESP-12E

Sketch uses 222,145 bytes (21%) of program storage space. Maximum is 1,044,464 bytes.
Global variables use 31,512 bytes (38%) of dynamic memory, leaving 50,408 bytes for local variables. Maximum is 81,920 bytes.
/Users/admin/Library/Arduino15/packages/esp8266/tools/esptool/0.4.9/esptool -vv -cd nodemcu -cb 115200 -cp /dev/cu.wchusbserial1420 -ca 0x00000 -cf /var/folders/7j/lzcnfgm165d8f0f01bkw3klh0000gn/T/buildeb592bb0381bb07ab411ad4680536847.tmp/sketch_aug16b.ino.bin
esptool v0.4.9 – (c) 2014 Ch. Klippel
setting board to nodemcu
setting baudrate from 115200 to 115200
setting port from /dev/tty.usbserial to /dev/cu.wchusbserial1420
setting address from 0x00000000 to 0x00000000
espcomm_upload_file
espcomm_upload_mem
opening port /dev/cu.wchusbserial1420 at 115200
tcgetattr
tcsetattr
serial open
opening bootloader
resetting board
trying to connect
espcomm_send_command: sending command header
espcomm_send_command: sending command payload
trying to connect
espcomm_send_command: sending command header
espcomm_send_command: sending command payload
serialport_receive_C0: C4 instead of C0
trying to connect
espcomm_send_command: sending command header
espcomm_send_command: sending command payload
serialport_receive_C0: C4 instead of C0
resetting board
trying to connect
espcomm_send_command: sending command header
espcomm_send_command: sending command payload
trying to connect
espcomm_send_command: sending command header
espcomm_send_command: sending command payload
serialport_receive_C0: C4 instead of C0
trying to connect
espcomm_send_command: sending command header
espcomm_send_command: sending command payload
serialport_receive_C0: C4 instead of C0
resetting board
trying to connect
espcomm_send_command: sending command header
espcomm_send_command: sending command payload
trying to connect
espcomm_send_command: sending command header
espcomm_send_command: sending command payload
serialport_receive_C0: C4 instead of C0
trying to connect
espcomm_send_command: sending command header
espcomm_send_command: sending command payload
serialport_receive_C0: C4 instead of C0
warning: espcomm_sync failed
error: espcomm_open failed
error: espcomm_upload_mem failed

Не можеш потомучто устройсто не встало в режим програмирования, у меня тоже не спервого раза получается , через раз

Отличная статья. Есть ли скетчи для работы с MQTT, DHT22, SPI, 18B20 ?

Статья хорошая, только дплаю все как Вы, а в менеджере плат рлата esp8266 не появляется, пробовал 3 версии программ1.6.0, 1.6.7, 1.8.1

Всем привет! Я так понимаю, что после всех этих действий AT команды работать не будут?

ПОДЕЛИТЬСЯ

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here