Перейти к содержимому

Wemos d1 mini как прошить

  • автор:

Wemos d1 mini как прошить

Менеджер плат: http://arduino.esp8266.com/stable/package_esp8266com_index.json

Инструменты / Плата / Менеджер плат | Поиск нужной платы / Установка

Инструменты / Плата / Выберите плату ESP

Схема:

Программа:

Схема:

Программа:

Загрузка на ESP:

Вставьте код из ArduBlock в Arduino ide / Клик Загрузка / Клик Кнопка Reset

Wemos d1 mini как прошить

ESP, IoT проблема с WeMos D1 мини

  • Автор темы malec
  • Дата начала 3 Окт 2019

Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно.
Вам необходимо обновить браузер или попробовать использовать другой.

malec

5 Фев 2019 680 257

День добрый, случилось не предвиденное. Вемос перестал подключаться по проводу к компу, последний раз заливал прошивку от vvip-68
Я так на ней и прилип, только уже проект Рюкзака с матрицей доча захотела. Там почти всё тоже самое. Так вот по сути. при подключении в последний раз когда прошивка залилась , винда издавала звуки как будто устройство плохо конектится. и больше не подключается. этот же провод попробовал на другую ардуино у меня нано лежит без дела. так вот те-же драйвера работают, а вемос больше не определяется, попробовал метод тыка т.е. отпоял СН 340 от нано и влепил на вемос, а от вемоса на нано, вемос так и не определился , а вот нано перестала прошиваться хотя конектится. вернул всё назад. нано заработала и прошилась. Может подскажете как это решить, если не через юсб как вемос ещё прошить если родное юсб не работает. чтоб с ви-фи прошить надо тоже какую-то прошивку править. Первое что я пробовал до паяльника- это подключить в другом месте, везде пишет что оборудованние работает не правильно и виндовс не удаётся его распознать, когда перепаял СН340 от нано с вемосом ничего не изменилось а вот нано перестала прошиваться. «ошибка загрузки в плату»
по идее загрузчик цел наверно под вемос протокол(какой нибудь) другой. Я не все про эти плат понимаю т.е. не совсем сталкивался. с вами развиваюсь, вемосы придут в конце месяца а прошивка немного не в «моём вкусе» прикол в том что прошивка работает, загонял первую пробу изменений методом ТЫКА. результат был но надо было подправить и не вышло(((

Roman_S

25 Сен 2019 113 50

может все таки заказать горсть wemos на ali ) они не вечные, особенно когда экспериментируешь. я за год наверное десятка полтора выбросил )

WeMos D1 Mini Контроллер WiFi на чипе ESP8266EX

WeMos D1 Mini Контроллер WiFi на чипе ESP8266EX WeMos D1 Mini Контроллер WiFi на чипе ESP8266EX WeMos D1 Mini Контроллер WiFi на чипе ESP8266EX

Одновременно с выходом в недалёком 2014 году чипа беспроводной связи ESP8266EX в стандарте WiFi, набравшего по-настоящему оглушительную популярность в кругу любителей воспроизводства самодельных устройств, компания WEMOS Electronics представила общественности большую линейку собственных модульных электронных плат под торговой маркой WeMos, задав новый вектор развития ардуино-совместимых платформ. Взяв за основу микроконтроллер от компании Espressif Systems, разработчики значительно потрудились не только над уменьшением размеров базовых модулей, сделав их максимально компактными, но и над выпуском целого спектра расширений, предложив пользователям богатый функционал, способный помочь в реализации задач различного уровня сложности при проектировании и конструировании разнообразных полезных изобретений.

Современные электронные продукты WeMos входят в категорию эффективных низкоценовых решений и позиционируются создателями как открытая платформа для самостоятельной разработки многоцелевых устройств на основе беспроводной связи по технологии WiFi. При этом основной упор сделан на создание и развитие изделий с поддержкой сетей нового поколения «Интернет вещей» (англ. — Internet of Things, IoT), чему активно способствуют существующие возможности облачных вычислений и межмашинных взаимодействий.

Чтобы потребитель не смог запутаться в физической совместимости плат, каждая серия обладает своими отличительными особенностями. Например, серия WeMos D1 Mini, к которому принадлежит Модуль с контроллером WiFi на чипе ESP8266EX, имеет синий цвет поверхности текстолита и небольшой скруглённый угловой вырез рядом с маркировкой 3V3. Вырез служит ориентиром, гарантирующим правильное совмещение нескольких плат между собой.

Технические характеристики

  • Модель: 3.0.0
  • Контроллер: ESP8266EX Serial WiFi, однокристальная система на основе Tensilica L106 с ультра-низким энергопотреблением, разрядность 32-бит
  • Тактовая частота: 80 МГц (до 160 МГц)
  • Рабочее напряжение: 3.3 В
  • Напряжение питания: 5 В
  • Потребляемый ток: до 300 мА
  • Флеш-память: 32 МБит / 4 МБайт
  • Диапазон частот: 2.4ГГц-2.5ГГЦ (2412М-2484М)
  • Режимы WiFi: Клиент, Точка доступа, Клиент+Точка доступа (station, softAP, station+softAP)
  • Защита: WPA-PSK, WPA2-PSK
  • Шифрование: WEP, TKIP, AES
  • Протоколы WiFi: 802.11 b/g/n
  • Выводы общего назначения (вход/выход, GPIO): 11
  • Аналоговый вход: 1, разрядность 10-бит
  • Максимальный ток на контакт общего назначения: 12 мА, рекомендуемый 6 мА
  • Технология STBC, 1×1 MIMO, 2×1 MIMO
  • Выходная мощность в режиме 802.11b: +20dBm
  • Интерфейсы: GPIO, UART, I2C, HSPI, PWM
  • Скорость передачи данных: 300-4608000 бод, по умолчанию 115200 бод
  • Встроенный переключатель приёма/передачи, согласующий высокочастотный трансформатор, усилитель мощности
  • Встроенные блоки: согласования сети, фазовой автоподстройки частоты, управления питанием, блоки регулирования
  • Антенна WiFi: PCB, разведена на плате в виде дорожки
  • Поддержка Arduino, NodeMCU, MicroPhyton
  • Поддержка файловой системы SPIFFS
  • Поддержка функций Smart Link для устройств на Andriod и iOS
  • Поддержка АТ-команд, Облачного Сервера и Наборов Разработки (SDK), обновление прошивки
  • Светодиодная индикация: вывод D4 (GPIO2)
  • Шаг между контактами: 2.54 мм
  • Рабочая температура: -20°. +85°
  • Размеры: 34.2 х 25.6 х 5 мм
  • Вес: 3 гр

Маленькая с виду, плата 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

Wemos D1 Mini V3.0 Обзор платы

Первое подключение, порт USB

Организация связи и программирование микросхемы ESP8266EX реализовано по главной шине интерфейса UART. Для того, чтобы WeMos D1 Mini научился понимать сигналы, приходящие в порт USB от компьютера, в схеме модуля интегрирован преобразователь сигналов USB-TTL на микросхеме CH340G. При первом включении, операционная система ПК скорее всего не сможет его обнаружить, если соответствующий драйвер заведомо не был установлен. Установите драйвер CH340, затем подключите плату кабелем USB к ПК. Контроллер WeMos D1 Mini готов к работе.

Питание WeMos D1 Mini

Подать питание микроконтроллеру WeMos D1 Mini возможно двумя способами:

  1. Через порт microUSB 2.0 на встроенный регулятор поступают 5 вольт и снижаются до номинального напряжения 3.3 вольта. Оба типа напряжения, исходное и преобразованное, выводятся на соответствующие контакты платы с соответствующей маркировкой.
  2. Через выводы 5V и GND (например, в случаях совмещения с Модулем преобразователя напряжения или Модулем резервного питания). Входящее напряжение 5 вольт также проходит через регулятор, и снижается до рабочего уровня.

Микросхема регулятора 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. По умолчанию, ни одной подобной функции в Ардуино ИДЕ не предусмотрено, и пользователю придётся установить необходимое небольшое дополнение за несколько шагов.

  1. Загрузите последнюю версию дополнения с сайта GitHub. Создайте на компьютере папку «tools» в директории скетчей и распакуйте в неё содержимое архива (по умолчанию путь C:/Users/Пользователь/Documents/Arduino/tools/ESP8266FS/tool/esp8266fs.jar). Перезапустите Ардуино ИДЕ.
  2. Откройте скетч или создайте новый и запишите его. Откройте папку скетча (выберите Скетч->Показать папку скетча) и создайте в ней папку «data», поместив туда необходимые для записи файлы. Убедитесь, что правильно выбран тип платы, используемый порт и закрыт Монитор последовательного порта.
  3. В меню «Инструменты» выберите пункт «ESP8266 Sketch Data Upload» и дождитесь надписи «SPIFFS Image Uploaded», символизирующей окончание записи образа файловой системы.

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

ESP8266 SPIFFS All Files Read Demo Sample

Поменяйте в тексте программы и в настройках монитора последовательного порта скорость на 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 вольта, способного повредить микроконтроллер.

  • EXT_RSTB (RST, RESET) — контакт перезапуска модуля, активен при низкоуровневом сигнале
  • ADC — Аналого-цифровой преобразователь (АЦП). Диапазон входного напряжения 0-3.2 В, диапазон значений 0-1023
  • GPIO16 — контакт общего назначения, ввод/вывод данных. Соединение с выводом EXT_RSTB выводит модуль из режима глубокого сна. На обратной стороне платы присутствует перемычка «Sleep», запрещающая модулю переключаться в режим глубокого сна.
  • GPIO0-GPIO15 — контакт общего назначения, ввод/вывод данных. Переназначаемый на другие функции. Выводы определяются по нумерации, например GPIO1 = 1 (основной ESP8266 модуль) или D10 (NodeMCU)
  • VCC 3v3 — контакт рабочего напряжения модуля 3.3В
  • VCC 5v — контакт основного питания модуля 5.0В
  • GND — общий, заземление

Обозначение контактов на плате WeMos D1 Mini значительно разнится от привычной маркировки выводов GPIO в модулях с ESP8266. Постоянно помнить их соответствие затруднительно, куда удобнее обращаться к выводам по их оригинальному названию при написании скетчей в Arduino IDE. Вспомогательная библиотека, входящая в состав пакета поддержки ESP8266, содержит все переназначаемые определения GPIO в соответствии с платформой NodeMCU.

Специальные функции

  • Асинхронный последовательный интерфейс UART из 2х линий, устанавливает связь с другими устройствами по шине UART:
    • UART0_RX — контакт GPIO3
    • UART0_TX — контакт GPIO1
    • UART0_RTS — контакт GPIO15
    • UART0_CTS — контакт GPIO13
    • UART1_TX — контакт GPIO2, может использоваться для вывода отладочной информации
    • SDA — контакт GPIO2
    • SCL — контакт GPIO14
    • HSPI_CS — контакт GPIO15
    • HSPI_MISO — контакт GPIO12
    • HSPI_MOSI — контакт GPIO13
    • HSPI_CLK — контакт GPIO14
    • I2S1_DATA — приём, контакт GPIO12
    • I2S1_BCK — приём, контакт GPIO13
    • I2S1_WS — приём, контакт GPIO14
    • I2S0_BCK — передача, контакт GPIO15
    • I2S0_DATA — передача, контакт GPIO3
    • I2S0_WS — передача, контакт GPIO2
    • IR_Tx — контакт GPIO14
    • IR_Rx — контакт GPIO5

    Все цифровые контакты ввода/вывода, за исключением GPIO16, поддерживают обработку прерываний.

    Режимы энергосбережения ESP8266EX

    За исключением стандартных режимов полного функционирования и выключенного состояния, модуль WeMos D1 Mini поддерживает энергосберегающие режимы, предназначенные для каждого определённого случая.

    1. Modem-sleep — настраивается для приложений, использующих функции ШИМ или I2S, заставляющие процессор работать. В случаях, когда WiFi-связь установлена и передача данных не требуется, схема WiFi-модема может быть отключена для экономии энергии. Например, в режиме DTIM3, когда ESP8266 «спит» 300 миллисекунд и просыпается на 3 миллисекунды для приёма от точки доступа пакетов беспроводных Маяков (Beacon), общее потребление тока составляет около 20мА.
    2. Light-sleep — используется в задачах, в которых поддерживается соединение WiFi и передача данных не требуется, при этом процессор может быть приостановлен. Например, режим коммутатора WiFi. Общее среднее потребление тока составляет около 2 мА.
    3. Deep-sleep — глубокий сон оптимален для приложений, которые не требуют подключения WiFi и передают данные c большими задержками по времени. К таким задачам относятся датчики температуры, выполняющие измерения каждые 100 секунд. Например, когда ESP8266EX «спит» 300 секунд и просыпается для соединения с точкой доступа (около 0.3-1 секунды), общее среднее потребление тока намного меньше 1 мА.

    Создание модифицированной прошивки на интерпретаторе NodeMCU Lua

    Развитием ESP-8266 и её технической поддержкой занимаются не только энтузиасты мирового сообщества, но и профессиональные команды сторонних независимых разработчиков. Благодаря их кропотливым трудам, в настоящее время пользователю доступны различные способы создания собственной прошивки:

    • Веб-ресурсом GitHub — NodeMCU firmware предоставлена возможность скачивания готовых вариантов некоторых версий прошивок, там же доступны комплекты средств разработки SDK с открытым исходным кодом.
    • Веб-ресурсом облачного конструктора NodeMCU-build реализован интересный механизм гибкого и эффективного создания модификаций кастомной прошивки. Конструктор формирует готовый файл прошивки и отправляет его на указанную электронную почту. Большой список из подключаемых библиотек, с использованием системы выбора, помогает составить немалое количество вариантов прошивок, «заточенных» под поставленные задачи определённого проекта. В тоже время исключение неиспользуемых библиотек позволяет сэкономить свободную память модуля D1 Mini WeMos.

    Конструктор прошивки NodeMCU

    Облачный конструктор генерирует два варианта прошивки: 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) прошивки прост, состоит из нескольких шагов и не занимает много времени.

    1. Соедините плату D1 Mini WeMos с компьютером при помощи USB-кабеля.
    2. Если плата подключается впервые, установите драйвер для микросхемы USB-TTL преобразователя CH340G.
    3. В Диспетчере Устройств Windows, в разделе Порты (COM и LPT), найдите и запомните (запишите) назначенный плате номер COM-порта. Его необходимо будет указать в настройках программы перед прошивкой.
    4. Запустите Flasher, во вкладке «Config» выберите нужную прошивку и укажите ей адрес 0x00000. Если прошивка состоит из нескольких частей, то каждая её составляющая часть размещается в новой строке с указанием соответствующего адреса (см. документацию к прошивке).

    WeMos D1 Mini выбор прошивки в NodeMCU Flasher
    WeMos D1 Mini настройки скорости и размера памяти во вкладке
    Завершение прошивки WeMos D1 Mini в NodeMCU Flasher

    Перед записью прошивки, крайне рекомендуется полная очистка флешь-памяти. Чаще всего, после обновления, прошивка работает без нареканий. Если предварительно не производить чистку памяти, можно столкнуться с ситуацией, когда заново загруженная версия 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 D1 mini на NodeMCU Lua

    Добавление платформы WeMos в Ардуино ИДЕ

    Запустите редактор Ардуино, перейдите в пункт «Настройки» из меню «Файл». В строке «Дополнительные ссылки для менеджера плат» введите адрес:

    http://arduino.esp8266.com/stable/package_esp8266com_index.json
    Установка платформы ESP8266 в среду разработки ARDUINO IDE

    Закройте окно и перейдите в «Менеджер плат», двигаясь по меню «Инструменты».

    Установка платформы ESP8266 в среду разработки ARDUINO IDE

    Для быстрого нахождения нужного дополнения, в строке поиска укажите esp8266. Нажмите «Установить» и дождитесь надписи Installed, означающей завершение процесса.

    Установка платформы ESP8266 в среду разработки ARDUINO IDE

    Все платформы, входящие в состав пакета установки, стали доступны для программирования, включая LOLIN (WEMOS) D1 R2 & mini, который следует выбрать.

    Установка платформы ESP8266 в среду разработки ARDUINO IDE

    Техническая информация

    • Документация ESP8266EX v1.0 (англ., PDF)
    • Документация ME6211 (англ., PDF)
    • Документация W25Q32JV (англ., PDF)
    • Принципиальная схема WeMos D1 Mini v3.0.0 (англ., PDF)

    Полезные ссылки

    • Библиотека примеров для Wemos D1 Mini
    • Описание NodeMCU API

    ESPEasy — готовая прошивка для ESP8266. Загрузка и настройка

    Готовая прошивка «ESP Easy» позволит легко превратить любой модуль на базе ESP в многофункциональный сенсор или модуль для умного дома под управлением таких систем, как OpenHab и Domoticz. ESP Easy является отличным инструментом для изучения протокола MQTT.

    Всё что вам необходимо сделать — это один раз загрузить прошивку ESP Easy на ваш модуль ESP, а дальше все настройки системы происходят в браузере с помощью удобного веб-интерфейса. Для ежедневной работы с модулем не нужны никакие дополнительные программы.

    Прошивка ESP Easy

    Последней стабильной версией прошивки ESP Easy является R120. Она хорошо подходит не только для домашних экспериментов, но и для производственных прототипов. Модуль с ESP Easy на борту может выступать в роли низкоуровневого управляющего устройства, но этот функционал в системе еще не полностью стабилен. Полный список возможных подключаемых дачиков, устройств ввода-вывода, реле и дисплеев можно посмотреть здесь.

    Прошивка ESP Easy может быть установлена практически на любые платы на базе ESP8266. Вы можете прошить как самые простые модули типа ESP-01 или ESP-12, так и устройства типа NodeMCU development board, Wemos D1 и практически все устройства от производителя Sonoff. После прошивки вы сможете работать с GPIO 0, 1, 2, 3, 4, 5, 12, 13, 14, 15, 16, A0. Пин номер 9 не рекумендуется использовать из-за нестабильной работы. На модулях Sonoff будут доступны пины 0 (кнопка), 12 (Реле), 13 (Светодиод) и, возможно, еще несколько в зависимости от конкретной модели устройства.

    Поддерживаются следующие протоколы для передачи данных и работы с системами умных домов: OpenHAB MQTT, Domoticz HTTP и MQTT, PiDome MQTT, ThingSpeak, EmonCMS, протокол HTTP и другие. Подробнее про работу с ними будет написано в разделе с примера использования.

    С чего начать?

    В большинстве случаев модули ESP продаются с предустановленными прошивками AT firmware или NodeMCU LUA firmware. Начать делать сенсоры на базе ESPEasy легко: нужно просто заменить стандартную прошивку на ESPEasy, и можно приступать к работе. Это можно сделать с помощью программы flashtool (к сожалению, она доступна только на Windows) или с помощью Arduino IDE. Во время установки мы будем действовать по следующей схеме:

    1. С официального сайта скачать стабильную прошивку
    В архиве также будет программа flash tool для прошивки

    2. Подключить модуль ESP к компьютеру
    Используем USB/UART переходник для простых плат типа ESP-01 или просто подключаем Micro-USB к платам типа NodeMCU dev board.

    3. Загружаем ESPEasy на плату с помощью flash tool или Arduino IDE
    Обратите внимание на то, что GPIO должен быть соединен с GND при включении для запуска режима прошивки на плате.

    4. Перезапускаем модуль ESP. Появляется WiFi сеть с названием «ESP_Easy_0». Подключаемся к ней
    (в версии прошивки 2.0 точка доступа будет называться ESP_0)
    Если страница настройки не открылась автометически, необходимо набрать 192.168.4.1 в вашем браузере

    5. В появившемся окне настраиваем подключение к вашей домашей WiFi сети и нажимаем Connect

    6. Модуль ESP перезагрузится и подключится к вашей домашней сети

    7. Откройте в браузере новый IP адрес платы ESP и начинайте собирать данные с сенсоров

    Поздравляем, всё настроено, и вы можете начать работать с ESPEasy!

    Скачиваем прошивку

    Скачиваем стабильную версию прошивки с официального сайта — ESPEasy R120.

    Подключаем модуль ESP к компьютеру

    Для всех, кто только начинает разбираться с EPS, MQTT и умными домами, мы рекомендуем обратить внимание на модуль NodeMCU ESP8266 (он же NodeMCU dev board). У него есть ряд плюсов: встроенный преходник USB/UART, большое количество GPIO, аналоговый пин A0, не нужно подключать GPIO к GND для прошивки, наличие питания 5 и 3.3 вольта. Просто подключаете плату к компьютеру с помощью Micro-USB кабеля и начинаете работать. NodeMCU dev board позволит вам сэкономить большое количество времени! При программировании обратите внимание, что номер ножки не соответствует номеру GPIO.

    NodeMCU dev board

    Также встроенный переходник USB/UART есть на плате Wemos D1 Mini:

    Wemos D1 Mini

    Если у вас плата без переходника, например, ESP-01 или ESP-12, или вы хотите прошить модули Sonoff, то вам понадобится переходник USB/TTL.

    В обоих случаях дополнительно вам понадобится установить на компьютер драйвер для вашего встроенного или внешнего переходника USB/TTL.

    Загрузка прошивки ESPEasy с помощью Flash Tool

    Данный способ подходит только для компьютеров с Windows, но он самый простой! Сначала необходимо проверить к какому порту компьютера подключен наш ESP помуль. Подключаем модуль к компьютеру по USB. Открываем «Диспетчер устройвств», смотрим вкладку «Порты (COM и LPT)» и видим нашу плату. В моем случае порт COM4. Если ваше устройство не отображается в списке портов — значит вы не поставили драйвер для USB/TTL переходника.

    Поиск порта ESP в диспетчере устройств

    Обратите нимание, что перед прошивкой модулей с внешнем адаптером USB/TTL их необходимо перевести в режим загрузки программного обеспечения. Для этого необходимо соединить GPIO0 на плате ESP с GND, воткнуть переходник в плату, а потом уже в USB. Если у вас NodeMCU или Wemos, то этого делать не нужно.

    Распаковываем скаченный архив ESPEasy_R120.zip в папку ESPEasy_R120 и запускаем файл flash.cmd. Откроется черное окно, в котором необходимо будет ответить на несколько вопросов.

    Прошивка EspEasy

    1 вопрос: Comport (example 3,4. ) — необходимо ввести номер порта, к которому подключен модуль ESP и нажать Enter. Я ввожу 4. Enter.

    2 вопрос: Flash size (example 512, 1024 or 4096) — необходимо ввести количество памяти, которое доступно на нашей плате. Сколько памяти на вашей плате вы можете посмотреть в этой таблице. Для платы NodeMCU dev board вводим 4096. Enter.

    3 вопрос: Build — необходимо ввести номер версии прошивки, которую вы загружаете. В нашем случае вводим 120. Enter.

    В чёрном окне проскочет несколько строк с системным кодом, и начнут появляться точки, и через некоторое время система напишет, что загрузка завершена. Вы увидете такой экран:

    Финальный экран при прошивке ESP8266

    Нажимаем любую клавишу. Прошивка ESPEasy успешно загружена на ваш модуль! Поздавляю! Переходим к пункту «Подключение и первичная настройка» в этой статье.

    Возможные проблемы с Flash Tool

    Если вы не видите своё устройство в диспетчере устройств, значит у вас не установлен драйвер переходника USB/TTL.

    Если файлы не распаковать в папку, а просто запустить из архива, то после вопросов система выдаст ошибку, т.к. не сможет работать с файлом esptool.exe. Просто распакуйте архив в папку и заново запустите flash.cmd.

    Если вам так и не удалось прошить модуль ESP с помощью flash.cmd, но плата видна в системе, то вы можете сделать прошивку программой ESPEasy Flasher. В ней надо будет только выбрать порт и соответствующую прошивку. В скаченной папке с прошивками будет 3 разных файла прошивок для плат с разным размером памяти.

    Программа ESP Flasher

    Если у вас не получилось сделать загрузку ни одним из этих способов — вы можете попробовать сделать загрузку через Arduino IDE.

    Загрузка прошивки ESPEasy с помощью Arduino IDE

    Данный способ отлично подходит, если вы уже загружали свои собственные скетчи на плату через Arduino IDE и сейчас хотите попробовать поработать с ESPEasy. Если же вы раньше просто программировали ardunino и ни разу не прошивали esp8266, то предварительно вам необходимо подготовить Arduino IDE. Подробную инструкцию вы можете найти в нашей статье. Через Arduino IDE вы можете сделать загрузку как на Windows, так и на Mac OS.

    В папке, которую вы скачали с официального сайта, кроме файлов последней прошивки и программы для загрузки также есть папка Source. В ней находятся два папки: в одной — необходимые библиотеки, во второй — файлы нашей прошивки. Копируете библиотеки из папки librares в папку с библиотеками ArduinoIDE на вашем компьютере.

    Установка дополнительных библиотек

    На компьютерах Windows эта папка обычно: C:\Users\USERNAME\Documents\Arduino\librares — в папке с вашими документами.

    На Mac OS: \Users\USERNAME\Documents\Arduino\librares — в папке с вашими документами.

    Дальше заходим во вторую папку из скаченного архива (\Source\ESPEasy) и запускаем оттуда файл ESPEasy.ino. Откроется Arduino IDE.

    Прошивка ESP через Arduino IDE

    Теперь в меню «Инструменты» необходимо выбрать порт, тип платы, размер памяти. Какие параметры выбирать для разных плат и как настраивать Arduino IDE для работы с ESP вы может прочитать в нашей отдельной статье.

    Для NodeMCU dev board выбираем параметры как на картинке + выбираем свой порт.

    Настройка подключения для прошивки через Arduino IDE

    Заходим в меню «Скетч» и выбираем «Загрузка»

    Запуск прошивки EspEasy в Arduino IDE

    В Arduino IDE внизу в чёрной консоли пробежит несколько строчек системных сообщений, потом появится несколько строчек с точками и программа напишет, что загрузка прошла успешно. Если программа выдаёт строчки с оранжевыми ошибками, то скорее всего у вас проблемы с подключение платы к компьютеру.

    Прошивка загружена на модуль ESP, теперь мы можем переходить к настройке.

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

    Теперь на своём компьютере откройте список доступных Wi-Fi сетей — в списке должна появиться сеть ESP_0 (В некоторых версиях прошивки возможно будет Esp_Easy_0). Подключитесь к ней (стандартный пароль configesp).

    Если ваш браузер не открыл автоматически страницу настройки EspEasy, то в адресной строке браузера наберите 192.168.4.1. В появившемся окне необходимо выбрать вашу домашнюю wi-fi, ввести пароль от нее в поле password и нажать кнопку Connect.

    Первое подключение к EspEasy

    Вы увидите сообщение о том, что система перезагружается.

    Первое подключение к EspEasy

    После этого ваш компьютер отключится от сети Esp и подключится обратно к вашей домашнией Wi-Fi сети. В браузере покажется ip адрес вашего esp. В адресной строке вашего браузера введите ip esp модуля (например, 192.168.1.65). Откроется окно с основный информацией о модуле esp, на котором вы можете посмотреть: беспрырывное время работы модуля, уровень сигнала, ip адрес модуля и точки доступа, версию прошивки, MAC адреса, информация о свободной памяти и список других esp модулей в сети.

    Информационный экран EspEasy

    Вверху расположено меню для перехода в разделы системы. Зайдите во вкладку Config. Здесь находятся основные настройки системы, рассмотрим их подробнее.

    1. Name — имя вашего ESP модуля. Оно используется как сетевое имя, а также для идентификации каналов при работе по MQTT протоколу.

    2. Admin Password используется для установки пароля на настройки. По умолчанию пароля нет, но если его установить, то при открытии ip адреса вашего esp модуля необходимо будет ввести пароль. Только в этом случае вы сможете редактировать настройки. Это очень удобно, если вы используете свои модули в публичных местах.

    3. SSID, WPA Key — используется для подключения к вашей домашней Wi-Fi сети.

    4. WPA AP Mode Key — данный пароль используется в том случае, если ваш esp модуль работает в режиме точки доступа.

    5. Unit nr — это номер машего модуля в сети. Для корректной работы системы он должен быть уникальным для каждого esp модуля.

    6. Protocol и следующие за ним поля отвечают за выбор и настройку сетевого протокола, по которому ваш esp модуль взаимодействует с сервером умного дома или облачным сервером сбора данных. Мы можем выбрать OpenHAB MQTT, Domoticz MQTT, PiDome MQTT и ThingSpeak и другие менее популярные варианты.

    7. Sensor Delay отвечает за то, как часто данные с модуля ESP отправляются на сервер. Значение необходимо писать в секундах.

    8. Sleep Mode используется для перевода устройства в режим глубокого сна. Используйте этот параметр только после полной настройки вашего устройста.

    Основные настройки веб интерфейса

    В разделе Hardware вы можете выбрать какой светодиод на плате будет отвечать за состояние Wi-Fi подключения, а также выставить дефолтные состояния пинов. Во вкладке Rules можно настроить простые правила автоматизации. Обратите внимание, что по умолчанию данная вкладка не отображается. В разделе Devices происходит добавление и настройка датчиков и управляемых девайсов. В разделе Tools находятся более тонкие настройки, а также есть поле для выполнения команд.

    В данной статье мы рассказали вам о том, что из себя представляет готовая прошивка EspEasy, для чего ее можно использовать, как прошить ее ваш ESP модуль, а также как провести первичные настройки. В следующих статьях мы подробно расскажем о том, как использовать EspEasy в ваших проектах. Поключим к плате ESP самые популярные датчики, поробуем передавать данные с них в облачный сервер ThingSpeak и построить по ним графики. Также мы подключить ESP модуль к умному дому на базе OpenHAB по протоколу MQTT — будем собирать данные с датчиков и управлять светодиодами.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *