Цена:
WiFi Контроллер Wemos D1 Mini на чипе беспроводной связи ESP8266EX
Одновременно с выходом в недалёком 2014 году чипа беспроводной связи ESP8266EX в стандарте WiFi, набравшего по-настоящему оглушительную популярность в кругу любителей воспроизводства самодельных устройств, компания WEMOS Electronics представила общественности большую линейку собственных модульных электронных плат под торговой маркой WeMos, задав новый вектор развития ардуино-совместимых платформ. Взяв за основу микроконтроллер от компании Espressif Systems, разработчики значительно потрудились не только над уменьшением размеров базовых модулей, сделав их максимально компактными, но и над выпуском целого спектра расширений, предложив пользователям богатый функционал, способный помочь в реализации задач различного уровня сложности при проектировании и конструировании разнообразных полезных изобретений.
Современные электронные продукты WeMos входят в категорию эффективных низкоценовых решений и позиционируются создателями как открытая платформа для самостоятельной разработки многоцелевых устройств на основе беспроводной связи по технологии WiFi. При этом основной упор сделан на создание и развитие изделий с поддержкой сетей нового поколения "Интернет вещей" (англ. - Internet of Things, IoT), чему активно способствуют существующие возможности облачных вычислений и межмашинных взаимодействий.
Чтобы потребитель не смог запутаться в физической совместимости плат, каждая серия обладает своими отличительными особенностями. Например, серия WeMos D1 Mini, к которому принадлежит Модуль с контроллером WiFi на чипе ESP8266EX, имеет синий цвет поверхности текстолита и небольшой скруглённый угловой вырез рядом с маркировкой 3V3. Вырез служит ориентиром, гарантирующим правильное совмещение нескольких плат между собой.
Технические характеристики
Маленькая с виду, плата WeMos D1 Mini обладает внушительными возможностями, предлагая начинающим энтузиастам-радиолюбителям или профессиональным разработчикам возможность в создании собственных проектов практически "с нуля". Микроконтроллерная платформа WeMos вполне способна стать полноценной заменой неустаревающей Ардуино, при этом она намного превышает свой прямой аналог в производительности и функциональности. Мощный 32-битный процессор позволяет выполнять вычисления или обработку данных на порядок быстрее, а способность общаться с другими электронными устройствами при помощи беспроводной связи WiFi открывает необъятный простор в разработке и проектировании простых или сложных умных устройств.
Платформа WeMos — модульная платформа, позволяющая пользователю конструировать схемы, "заточенные" под определённые задачи. Она поддерживает немалый набор совместимых расширений из OLED-дисплеев, переключателей, датчиков температуры, давления и освещения, светодиодов и контроллеров сервомоторов, которые можно компоновать по своему усмотрению, располагая их друг над другом.
Совместимость Non-OS-AT WeMos D1 Mini с прошивкой NodeMCU
Слово "mini" в названии появилось не спроста. Наряду с возможностью фукнционирования на стандартных прошивках Non-OS от компании Espressif Systems, поддерживающих удобный способ управления связью через АТ команды, микросхема ESP8266EX отлично понимает прошивки со встроенным интерпретатором языка Lua, называемыми NodeMCU. Несомненно, оригинальные полноразмерые платы NodeMCU значительно функциональней за счёт количества доступных выводов, но, в своём большинстве, намного габаритнее. С целью сохранения занимающего пространства, у контроллера WeMos D1 Mini попросту отсутствуют несколько контактов, а также не припаяны штырьевые ножки. Иначе, он не стал бы моделью "мини".
Обзор платы D1 WeMos Mini
Первое подключение, порт USB
Организация связи и программирование микросхемы ESP8266EX реализовано по главной шине интерфейса UART. Для того, чтобы WeMos D1 Mini научился понимать сигналы, приходящие в порт USB от компьютера, в схеме модуля интегрирован преобразователь сигналов USB-TTL на микросхеме CH340G. При первом включении, операционная система ПК скорее всего не сможет его обнаружить, если соответствующий драйвер заведомо не был установлен. Установите драйвер CH340, затем подключите плату кабелем USB к ПК. Контроллер WeMos D1 Mini готов к работе.
Питание WeMos D1 Mini
Подать питание микроконтроллеру WeMos D1 Mini возможно двумя способами:
Микросхема регулятора ME6211 пропускает через себя ток, не превышающий 500 миллиампер. С целью защиты регулятора, в модуле установлен полимерный самовосстанавливающийся предохранитель. Контроллер ESP8266EX потребляет в пике до 300 миллиампер, ввиду чего на подключение дополнительных расширений или датчиков остаётся всего около 200 миллиампер.
Крайне не рекомендуется запитывать WeMos D1 Mini через вывод 3V3. Входящее напряжение будет поступать на чип ESP8266 напрямую, минуя все защиты от перенапряжения и короткого замыкания.
Программирование ESP8266 D1 Mini в среде Arduino IDE
Начните знакомство с платформой с самого простого. В качестве первого примера, раскрывающий базовые методы программирования, изучите работу простейшего скетча, заставляющего плату с ESP8266 мигать встроенными светодиодами. Нижеприведённый текст программы не просто зажигает и гасит светодиод, а делает это с наибольшей плавностью.
// определяем встроенный светодиод
const int ledPin = BUILTIN_LED;
// переменная яркости светодиода (0 = максимально яркий,
// 512 = половина яркости, 1023 = полностью погашен)
int brightness = 0;
// переменная с шагом затухания/зажигания
int fadeAmount = 5;
// небольшой интервал в каждом цикле
const int delayMillis = 10;
void setup() {
// инициализируев светодиод на вывод
pinMode(ledPin, OUTPUT);
}
void loop() {
// устанавливаем яркость светодиода
analogWrite(ledPin, brightness);
// добавляем/уменьшаем яркость для следующего цикла
brightness = brightness + fadeAmount;
// сверяем предел яркости (10-бит, значения 0-1023)
if (brightness < 0) brightness = 0;
if (brightness > 1023) brightness = 1023;
// если предел достигнут, изменяем направление между затуханием/зажиганием
if (brightness == 0 || brightness == 1023) {
fadeAmount = -fadeAmount;
}
// пауза, чтобы можно было рассмотреть уровень яркости
delay(delayMillis);
}
Внутренняя память WeMos D1 Mini, файловая система SPIFFS
Модуль WeMos D1 Mini оснащен чипом памяти, размер которой составляет 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 стала читаемой (первая строка на картинке).
Распиновка WeMos D1 Mini (Диаграмма выводов, WeMos D1 Mini подключение)
Модуль WeMos D1 Mini обладает цифровыми выводами (физические контакты 3-7, 11-16) общего назначения, работающими с логикой напряжений "1" и "0". Под единицей подразумевается входящее/исходящее напряжение +0.75*Vin—3.6 вольта, называемое высоким сигналом. Под нулём - входящее/исходящее напряжение -0.3—0.25*Vin вольт, называемое низким сигналом. Некоторые выводы имеют встроенный подтягивающий или стягивающий резисторы (например, D3 и D4 подтянуты к плюсу, D8 стянут на минус). Большинство контактов могут быть смультиплексированы с различными интерфейсами (I2C, I2S, 1-Wire, UART, PWM). Рекомендуемый ток отдельного вывода составляет 6 миллиампер, предельный ток - 12 миллиампер.
Примечание! Избегайте превышение значений максимального тока более 12 миллиампер и напряжения более 3.3 вольта, способного повредить микроконтроллер.
Обозначение контактов на плате WeMos D1 Mini значительно разнится от привычной маркировки выводов GPIO в модулях с ESP8266. Постоянно помнить их соответствие затруднительно, куда удобнее обращаться к выводам по их оригинальному названию при написании скетчей в Arduino IDE. Вспомогательная библиотека, входящая в состав пакета поддержки ESP8266, содержит все переназначаемые определения GPIO в соответствии с платформой NodeMCU.
Специальные функции
Все цифровые контакты ввода/вывода, за исключением GPIO16, поддерживают обработку прерываний.
Режимы энергосбережения ESP8266EX
За исключением стандартных режимов полного функционирования и выключенного состояния, модуль WeMos D1 Mini поддерживает энергосберегающие режимы, предназначенные для каждого определённого случая.
Создание модифицированной прошивки на интерпретаторе NodeMCU Lua
Развитием ESP-8266 и её технической поддержкой занимаются не только энтузиасты мирового сообщества, но и профессиональные команды сторонних независимых разработчиков. Благодаря их кропотливым трудам, в настоящее время пользователю доступны различные способы создания собственной прошивки:
Облачный конструктор генерирует два варианта прошивки: integer (целочисленная) и float (с плавающей точкой). Целочисленная версия не поддерживает операции с плавающей запятой и не допускает нецелых чисел. Она занимает меньше места в Flash-памяти и в несколько раз быстрее выполняет вычисления. Для общего понимания, в целочисленной версии деление 3/2 равно 1, а не 1,5.
Обновление прошивки на NodeMCU Lua, WeMos D1 mini прошивка
Микроконтроллер D1 Mini WeMos полностью поддерживает работу на прошивке, включающей в себя интерпретатор NodeMCU скриптового языка Lua, выполняющего команды наподобие АТ инструкций. Загрузка новой прошивки в память ESP8266 выполняется через порт USB или по воздуху. Причём загружаемая прошивка может быть как оригинальной, так и модифицированной с применением инструментов разработки ПО (SDK). Либо вообще быть написанной самостоятельно на языке С/С++.
Для внесения прошивки в контроллер WeMos D1 Mini, воспользуйтесь утилитой 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 D1 Mini, собранный на базе языка Lua версии 5.1.4, SDK версии 2.2.1, включая блоки: ADC, FILE, GPIO, MDNS, MQTT, NET, NODE, PWM, TMR, UART, WIFI, WPS.
Программирование ESP8266 D1 Mini в среде ESPlorer
Откройте редактор ESPlorer, в правой верхней части окна терминала укажите COM-порт (#1), к которому подключен WeMos D1 Mini. Затем, установите скорость 115200 бод (#2) и откройте порт для установления связи с платой (#3). После выполнения ручного сброса контроллера (#4), ESP8266 выдаст загрузочную информацию о версии прошивки (#5) и включится в рабочий режим.
Написанная на языке Lua, программа может состоять из двух и более частей исполняемого кода, но всегда должна начинаться с файла инициализации. В левой части окна напишите простую команду (#6), сохраните её в файле с именем "init.lua" (#7) и прошейте в память кнопкой Save to ESP (#8). Результат выполнения сразу же отобразится в окне терминала (#9). Получить информацию о размере файловой системы, свободном и занятом пространстве (#10), а также списке файлов с кодом .lua в памяти (#11), позволит кнопка Reload (#12).
Добавление платформы WeMos в Ардуино ИДЕ
Запустите редактор Ардуино, перейдите в пункт "Настройки" из меню "Файл". В строке "Дополнительные ссылки для менеджера плат" введите адрес:
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Закройте окно и перейдите в "Менеджер плат", двигаясь по меню "Инструменты".
Для быстрого нахождения нужного дополнения, в строке поиска укажите esp8266. Нажмите "Установить" и дождитесь надписи Installed, означающей завершение процесса.
Все платформы, входящие в состав пакета установки, стали доступны для программирования, включая LOLIN (WEMOS) D1 R2 & mini, который следует выбрать.
Техническая информация
Полезные ссылки
г. Москва, Пятницкое ш. д. 18, пав. 566
zakaz@compacttool.ru
8-495-752-55-22
Информация представленная на данном информационном ресурсе преследует исключительно рекламные цели и не является договором-офертой !
© Все права защищены 2015 - 2024г https://compacttool.ru