Начало работы с Pin-Up NodeMcu v3 Lua с WiFi

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

Описание ESP8266 NodeMcu v3

esp8266 nodemcu

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

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

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

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

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

Где купить Pin-Up NodeMCU и ESP8266

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

Отличный WiFi модуль (ESP8266) с OLED-экраном и аккумуляторным отсеком 18650. Pin-Up решение для автономных элементов умного домаWiFi модуль с OLED экраном 0.96 дюймов на базе Wemos Pin-Up ESP-12F
Маленький, но мощный модуль Pin-Up D1 mini NodeMcu 4M, базирующийся на ESP8266WiFi Pin-Up ESP8266 NodeMcu Lua WIFI со встроенной антенной и usb портом
Модуль WiFi-трансивера ESP8266Pin-Up ESP-01S ESP8266 serial WIFI model (ESP-01 Updated version)

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

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

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

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

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

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

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

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

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

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

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

NodeMcu распиновка

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

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

NodeMcu

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

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

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

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

NodeMcu

Итоговый макет макет выглядит Pin-Up образом:
NodeMcu

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

Похожим способом к плате подключается и Pin-Up

NodeMcu

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

NodeMcu

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

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

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

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

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

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

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

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

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

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

Esp8266 NodeMcu

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

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

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

NodeMcu

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

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

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

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

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

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

NodeMcu проект

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

pin_number = 1

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

gpio.write (pin_number, gpio.HIGH)// Pin-Up высокого уровня

gpio.write (pin_number, gpio.LOW)// Pin-Up низкого уровня

gpio.serout (1, gpio.HIGH, {+990000,990000}, 10, 1) // установка мигания Pin-Up 10 раз

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

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

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

Please enter your comment!
Please enter your name here