Цена:
WeMos NodeMCU Lua Платформа разработки приложений c WiFi-контроллером ESP8266EX
Ни для кого не секрет, что в настоящем современном мире, среди лидирующих средств беспроводной связи, преобладает популярнейшая во всех отношениях технология WiFi. Можно невооружённым глазом заметить, насколько быстро она развивается и одновременно совершенствует нашу жизнь, делая её значительно комфортнее во многих сферах. Уже привычный для большинства стандарт связи WiFi, обеспечивающий высокоскоростную передачу или приём данных по радиоканалу на частоте 2.4ГГц, позволил нам стать по-настоящему свободными от морально устаревших проводных соединений. И стоит ли упоминать, что само появление подобной технологии привело к неизбежной массовой разработке умных устройств, которыми сейчас стремительно и безустанно наполняется наш быт.
С недавнего времени, благодаря активному совершенствованию электронных компонентов и всепоглощающему расширению зон покрытия сетей WiFi, а также с появлением облачных вычислений и возможностей межмашинных взаимодействий, родилась концепция сетей нового поколения, называемая "Интернет вещей". На её основе, многие производители стремятся выпускать собственные электронные продукты, способные общаться между собой посредством локальных сетей или обмениваться данными через глобальную сеть Интернет.
С технической стороны, модуль разработчика WeMos NodeMCU Lua WiFi-приложений претерпел небольшие изменения в сравнении с предшествующими его появлению моделями. Тем не менее, контроллер из семейства ESP8266 по-прежнему остаётся полноценным и надёжным универсальным инструментом, который может стать отличным подспорьем как для начинающих пользователей, делающих первые шаги навстречу изучению возможностей платформы WeMos, так и для профессионалов-энтузиастов или независимых разработчиков, желающих заниматься проектированием и воплощением в жизнь своих собственных электронных продуктов. Благодаря мощным и гибким интегрированным возможностям, WeMos сможет справляться с различного рода задачами, связанными и с организацией беспроводной связи, и с работой в вычислительных сетях, и с автоматизацией функции контроля или управления над совмещённой периферией в виде всевозможных датчиков и сенсоров, внешних микроконтроллеров, а также совместимых модулей расширений.
Технические характеристики
Модуль разработки пользовательских приложений WeMos NodeMCU Lua призван до минимума упростить процесс проектирования любого устройства практически с "нуля".
Он несёт в себе весь базовый функционал организации связи по WiFi и оснащён всеми доступными выводами микросхемы ESP8266EX. Ширина платы и расстояние между контактами, имеющими типовой шаг 2.54мм (0.1"), удобны для использования с беспаечными макетными платами предварительного прототипирования. Процессор ESP и встроенная память придают модулю WeMos NodeMCU Lua практически автономную работоспособность, во многих случаях делая плату независимой от дополнительных внешних микроконтроллеров.
Если сравнивать с тем, что же было в предыдущем поколении (взять хотя бы оригинальный NodeMCU DevKit 0.9), то в обновлённой версии можно наблюдать ряд усовершенствований. Все компоненты теперь распаяны на одной центральной плате, микросхема USB-преобразователя уровней CH340 заменена на более стабильную CP2102, добавлен светодиод и ещё один модифицированный аналоговый вход.
Обзор платы WeMos NodeMCU Lua CP2102
Первое включение, порт USB
Всё необходимое для "быстрого старта" есть на самой плате. Встроенный порт USB помогает подключаться к компьютеру напрямую при помощи обычного кабеля с разъёмом микроUSB. Благодаря ему и микрочипу преобразователя интерфейсов Silabs CP2102, на котором построено общение между USB и ESP8266, отпадает необходимость в дополнительных адаптерах USB-UART/TTL для установления связи с платой. Порт USB предоставляет возможность управления модулем, позволяет вносить в него свои приложения или загружать программное обеспечение (прошивку). В ином случае, он используется только для питания платы.
При первом подключении модуля NodeMCU WeMos к компьютеру, скорее всего потребуется драйвер для USB-TTL CP2102 преобразователя. Дистрибутив под нужную операционную систему ПК легко ищется на официальном сайте производителя микросхемы.
Распиновка WeMos NodeMCU Lua CP2102 (Диаграмма выводов, NodeMCU Lua CP2102 WeMos подключение)
Модуль WiFI NodeMCU WeMos обладает цифровыми выводами общего назначения, работающими с логикой напряжений "1" и "0". Под единицей подразумевается входящее/исходящее напряжение +0.75*Vin—3.6 вольта, называемое высоким сигналом. Под нулём - входящее/исходящее напряжение -0.3—0.25*Vin вольт, называемое низким сигналом. Некоторые выводы имеют встроенные подтягивающий или стягивающий резисторы. Большинство контактов могут быть смультиплексированы с различными интерфейсами (I2C, I2S, HSPI, UART, PWM). Рекомендуемый ток отдельного вывода составляет 6 миллиампер, предельный ток - 12 миллиампер.
Примечание! Избегайте превышение значений максимального тока более 12 миллиампер и напряжения более 3.3 вольта на контактах GPIO, способного повредить микроконтроллер.
Выводы GPIO6-GPIO11 (SDIO) привязаны к встроенной памяти и не рекомендуются к использованию в других целях, кроме подключения внешней памяти. Все цифровые контакты ввода/вывода, за исключением GPIO16, поддерживают обработку прерываний.
Специальные функции GPIO
Программирование ESP8266 в среде Arduino IDE
Начинать изучение основ программирования микроконтроллера всегда нужно с малого. Самым первым и простым примером в ознакомлении всегда был и остаётся скетч, мигающий встроенным на плате светодиодом. Нижеприведённый текст программы зажигает и гасит оба светодиода, и делает это с определённым эффектом.
int ledPin1 = D0;
int ledPin2 = D4;
void setup()
{
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
}
void loop()
{
for (int i=1; i<5; i++) {
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin2, LOW);
delay(200);
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, HIGH);
delay(200);
}
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin2, HIGH);
delay(200);
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, LOW);
delay(200);
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin2, HIGH);
delay(1000);
}
Внутренняя память WeMos NodeMCU Lua CP2102, файловая система SPIFFS
Плата оснащена микросхемой памяти, размер которой составляет 4 Мегабайта (32 Мегабита). Такого размера достаточно для хранения основной прошивки, пользовательского кода и, при необходимости, создания упрощённой файловой системы SPIFFS. В среде Ардуино ИДЕ, настроенной на совместимость с платформой NodeMCU, память всегда распределяется в определённых пропорциях. По умолчанию, 1 Мегабайт выделяется под запись прошивки и исполняемой программы, увеличить этот размер никак нельзя. Остальные 3 Мегабайта остаются свободными или размечаются под хранение данных. Выполняя обновление прошивки, пользователь сам выбирает необходимость наличия файловой системы и её размер. В ней можно хранить данные скетча, файлы конфигурации или содержимое веб-сервера.
В большинстве случаев, скетчи умещаются в памяти без труда. Если речь заходит о написании и выполнении объёмного текста кода, пользователь может попробовать сэкономить память, воспользовавшись модифицированной прошивкой NodeMCU с интерпретатором языка Lua (основанной на NONOS-SDK), изменив её состав при помощи наборов разработчика NodeMCU SDK путём исключения или добавления поддержки определённых функций разрабатываемого проекта. Учитывая, что все исполняемые файлы программ на языке Lua хранятся в области SPIFFS, обновление прошивки модуля на ПО NodeMCU несколько по иному распределяет память, формируя файловую систему из оставшегося свободного пространства, не занятого самой прошивкой.
Структура файловой системы имеет небольшой ряд ограничений из-за конструктивных особенностей чипа ESP8266EX. Она не поддерживает разбитие памяти на разделы и не работает с папками, храня файлы в виде списка. Максимальный размер имени файла не должен превышать 32 символа, включая специальный символ, отведённый под окончание строки.
Перенести файлы в систему SPIFFS можно как из популярной среды программирования Arduino IDE, так и с помощью широко известного в ESP-сообществе java-редактора ESPlorer. По умолчанию, ни одной подобной функции в Ардуино ИДЕ не предусмотрено, и пользователю придётся установить необходимое небольшое дополнение за несколько шагов.
Загрузите скетч, демонстрирующего сводные данные о файловой системе и содержащихся в ней ранее добавленных файлах. Скетч выполняется один раз после перезапуска платы и выводит информацию в последовательный порт. Пример выполнения:
Поменяйте в тексте программы и в настройках монитора последовательного порта скорость на 74800 бод, чтобы загрузочная информация ESP8266 стала читаемой (первая строка на картинке).
Режимы энергосбережения ESP8266EX
За исключением стандартных режимов полного функционирования и выключенного состояния, модуль WeMos NodeMCU Lua поддерживает энергосберегающие режимы, предназначенные для каждого определённого случая.
Создание модифицированной прошивки с интерпретатором NodeMCU Lua
Развитием ESP-8266 и её технической поддержкой занимаются не только энтузиасты мирового сообщества, но и профессиональные команды сторонних независимых разработчиков. Благодаря их кропотливым трудам, в настоящее время пользователю доступны различные способы создания собственной прошивки:
Облачный конструктор генерирует два варианта прошивки: integer (целочисленная) и float (с плавающей точкой). Целочисленная версия не поддерживает операции с плавающей запятой и не допускает нецелых чисел. Она занимает меньше места в Flash-памяти и в несколько раз быстрее выполняет вычисления. Для общего понимания, в целочисленной версии деление 3/2 равно 1, а не 1,5.
Обновление ПО на WeMos NodeMCU Lua, прошивка
Микроконтроллер WeMos полностью поддерживает работу на прошивке, включающей в себя интерпретатор NodeMCU скриптового языка Lua, выполняющего команды наподобие АТ инструкций. Загрузка новой прошивки в память ESP8266 выполняется через порт USB или по воздуху. Причём загружаемая прошивка может быть как оригинальной, так и модифицированной с применением инструментов разработки ПО (SDK). Либо вообще быть написанной самостоятельно на языке С/С++.
Для внесения прошивки в память модуля WeMos, воспользуйтесь инструментом esptool-ck. Исходный код прошивки NodeMCU доступен в репозитории GitHub.
В качестве альтернативного варианта, подойдёт хорошо известная программа Node MCU Flasher для Windows. Последняя версия доступна для загрузки из репозитория GitHub. Процесс записи предварительно скомпилированного файла (формат .bin) прошивки прост, состоит из нескольких шагов и не занимает много времени.
Перед записью прошивки, крайне рекомендуется полная очистка флешь-памяти. Чаще всего, после обновления, прошивка работает без нареканий. Если предварительно не производить чистку памяти, можно столкнуться с ситуацией, когда заново загруженная версия NodeMCU не совпадёт с предыдущей версией прошивки, вследствие чего плата попросту не запуститься в нормальном режиме. В таком случае, от пользователя потребуется запись отдельного файла инициализации модуля "esp_init_data_default.bin" из той версии SDK, на которой выполнялась сборка прошивки.
Программа Node MCU Flasher умеет записывать в память не только прошивки NodeMCU, но и оригинальные или кастомные прошивки с поддержкой АТ команд на основе существующих комплектов инструментов разработки (SDK) от компании-производителя Espressif System, выпускающей контроллеры ESP.
Готовый вариант прошивки NodeMCU для микроконтроллера WeMos, собранный на интерпретаторе языка Lua версии 5.1.4, SDK версии 2.2.1, включая блоки: ADC, FILE, GPIO, MDNS, MQTT, NET, NODE, PWM, TMR, UART, WIFI, WPS.
Программирование ESP8266 WeMos в среде ESPlorer
Откройте редактор ESPlorer, в правой верхней части окна терминала укажите COM-порт (#1), к которому подключена плата контроллера WeMos. Затем, установите скорость 115200 бод (#2) и откройте порт для установления связи с платой (#3). После выполнения ручного сброса контроллера (#4), ESP8266 выдаст загрузочную информацию о версии прошивки (#5) и включится в рабочий режим.
Написанная на языке Lua, программа может состоять из двух и более частей исполняемого кода, но всегда должна начинаться с файла инициализации. В левой части окна напишите простую команду (#6), сохраните её в файле с именем "init.lua" (#7) и прошейте в память кнопкой Save to ESP (#8). Результат выполнения сразу же отобразится в окне терминала (#9). Получить информацию о размере файловой системы, свободном и занятом пространстве (#10), а также списке файлов с кодом .lua в памяти (#11), позволит кнопка Reload (#12).
Добавление платформы WeMos ESP8266 в Ардуино ИДЕ
Запустите редактор Ардуино, перейдите в пункт "Настройки" из меню "Файл". В строке "Дополнительные ссылки для менеджера плат" введите адрес:
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Закройте окно и перейдите в "Менеджер плат", двигаясь по меню "Инструменты".
Для быстрого нахождения нужного дополнения, в строке поиска укажите esp8266. Нажмите "Установить" и дождитесь надписи Installed, означающей завершение процесса.
Все платформы, входящие в состав пакета установки, теперь доступны для программирования.
Техническая информация
Полезные ссылки
г. Москва, Пятницкое ш. д. 18, пав. 566
zakaz@compacttool.ru
8-495-752-55-22
Информация представленная на данном информационном ресурсе преследует исключительно рекламные цели и не является договором-офертой !
© Все права защищены 2015 - 2024г https://compacttool.ru