Каталог

Модуль ESP-WROOM-02 D1 ESP8266 WiFi 16Мбит FT231XS

Цена:

1220 р.
менее 10 шт.
Уже в корзине
Код товара: 14248
Оригинальное название:
ESP-WROOM-02 D1 WiFi Module Esp8266 Module 16Mbit

Описание товара

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

  • Модель: Оценочная плата ESP-WROOM-02 ESP8266 WiFi 16Мбит FT231XS / аналог
  • Напряжение питания: 5В постоянного тока DC (через mUSB или VIN)
  • Рабочее напряжение: 3.3В постоянного тока DC
  • Потребление тока в режимах
    • нормальный: до80мА
    • неглубокий сон: 2мА
    • глубокий сон: 0.02мА
  • Контроллер: ESP-WROOM-02 ESP8266EX Serial WiFi
  • Ядро: 32-разрядная однокристальная система на основе Tensilica L106 с ультра-низким энергопотреблением
  • Флеш-память (ПЗУ): 16 Мбит / 2 МБайт
  • WiFi-протоколы: 802.11 b/g/n
  • Диапазон частот: 2.4ГГц-2.5ГГЦ (2400М-2483.5М)
  • WiFi-режимы: Клиент, Точка доступа, Клиент+Точка доступа (station, softAP, station+softAP)
  • Выходная мощность 802.11b: +20дБм
  • Оптимизация WiFi: технология STBC, 1x1 MIMO, 2x1 MIMO
  • Сетевые протоколы: IPv4, TCP/UDP/HTTP/FTP
  • Защита: WPA-PSK, WPA2-PSK
  • Шифрование: WEP, TKIP, AES
  • Выводы общего назначения (вход/выход, GPIO): 13
  • Аналоговые входы: 1, разрядность 10-бит
  • Интерфейсы: UART, HSPI, I2C, I2S, IrDA, GPIO, PWM
  • Интегрированные переключатель приёма/передачи, согласующий высокочастотный трансформатор, усилитель мощности
  • Интегрированные блоки: согласования сети, фазовой автоподстройки частоты, управления питанием, блоки регулирования
  • Антенна WiFi: PCB, разведена на плате в виде дорожки
  • LDO-регулятор: 3.3В/300мА LN1134A332MR Natlinear
  • Преобразователь USB/UART-TTL: FT231XS FTDI
  • Индикация: рабочее состояние, активность RX/TX шины UART
  • Управление: кнопки сброса Reset и режима прошивки Flash
  • Поддержка Arduino, NodeMCU, MicroPhyton
  • Поддержка файловой системы SPIFFS
  • Поддержка операционной системы реального времени RTOS
  • Поддержка функций Smart Link для устройств на Andriod и iOS
  • Поддержка АТ-команд, Облачного Сервера и Наборов Разработки (SDK), обновление прошивки через облако или хост-систему
  • Размеры: 37.9 х 27.0 х 4.8 ±0.2мм
  • Вес: 6г

Плата разработчика IoT-приложений на чипе беспроводной связи ESP-WROOM-02 ESP8266

Платформа WeMos, в чём-то похожая на многие аналогичные популярные микроконтроллерные системы Arduino, Teensy, STM и др., в тоже время заметно выделяющаяся среди конкурентов уникальным дизайном и реализацией своего модельного ряда устройств, представляет полноценный универсальный инструмент разработчика. Платформа WeMos может стать отличным подспорьем как для начинающих пользователей, уверенно делающих первые шаги навстречу изучению возможностей самой платформы, так и для профессионалов-энтузиастов или независимых разработчиков, желающих заниматься проектированием и воплощением в жизнь своих собственных электронных продуктов. Огромный потенциал WeMos не оставляет равнодушными истинных поклонников неустаревающей Ардуино, находящихся в активном поиске совершенно новых и современных аппаратных решений. Благодаря мощным и гибким интегрированным возможностям, WeMos сможет справляться с различного рода задачами, связанными и с организацией беспроводной связи для обмена информацией между устройствами при помощи повсеместно распространённых стандартов WiFi (ESP8266+ESP32) или Bluetooth (EPS32), и с работой в вычислительных сетях концептуально нового поколения под названием Интернет Вещей (IoT - Internet of Things), и с автоматизацией контроля/управления над присоединённой периферией в виде всевозможных датчиков и сенсоров, внешних микроконтроллеров, а также совместимых модулей расширений.

Семейство плат WeMos позволяет конструировать уникальные проекты любой сложности, начиная от самых простых, состоящих из нескольких присоединённых модулей, так и сложных, сочетающих разнообразные способы коммутации и взаимодействия. Область применения микроконтроллеров WeMos необозрима — обычные бытовые приборы, робототехника, элементы автоматики умного дома и так далее. Обширная линейка товаров WeMos находится в постоянном развитии, в неё входят модули с разносторонним набором возможностей, комбинирование которых открывает путь по достижению индивидуальной вариативности исполнения проекта, включая мобильность законченных устройств с автономными источниками питания. Одновременно с этим, WeMos целиком и полностью поддерживает разработку пользовательских приложений на основе общеизвестных редакторов Arduino IDE или ESPlorer для операционных систем Windows, Linux или Mac-OS. Платформа WeMos стирает преграды перед необходимостью знания единственного языка программирования, она прекрасно понимает и основополагающий С++, и удобный скриптовый Lua, и даже MicroPhyton. Свободно распространяемый исходный код прошивок различных версий наборов средств разработки (SDK) поможет пользователю самостоятельно проводить необходимые изменения и создавать кастомные прошивки с интерпретатором NodeMCU или на базе АТ-команд, настроенных под нужды проекта.

Расположение компонентов платы ESP-WROOM-02 D1 ESP8266 WiFi 16Мбит FT231XS

 

 

Функционал портов ввода-вывода общего назначения GPIO

Контроллер ESP-WROOM-02 D1 ESP8266 WiFi 16Мбит FT231XS имеет 13 цифровых портов ввода-вывода общего назначения. Все порты чувствительны к логическим сигналам с 3.3-вольтовым напряжением. Некоторые порты обладают аппаратной подтяжкой к рабочему напряжению, которая определяет их исходное логическое состояние. Встроенный функционал ESP-WROOM32 по умолчанию распределён на соответствующие выводы, но может быть переназначен пользователем. Предусмотрены следующие коммуникационные интерфейсы для сопряжения контроллера с периферийными устройствами: I2C, I2S, HSPI, UART, ШИМ. Рекомендуемый ток отдельного вывода составляет 6 миллиампер, предельный ток - 12 миллиампер.

Примечание! Напряжение выше 3.3 вольт или  ток более 12 миллиампер может перманентно повредить микроконтроллер ESP-WROOM-02.

  • TOUT/ADC — вход 10-разрядного аналого-цифрового преобразователя (АЦП). Позволяет измерять уровень аналогового напряжения в диапазоне от 0В до 3.3В, оцифровывая результат в 1024 возможных значений (0..1023)
  • GPIO16 — вход-выход общего назначения. Используется для пробужения ESP-WROOM-02 из режима глубоко сна (соединением с RST)
  • GPIO0-GPIO15 — вход-выход общего назначения
  • 3V3, VIN, VOUT — вход-выход напряжения питания
  • GND — общий, заземление
  • EN — вход включения ESP-WROOM-02 активным высокоуровневым сигналом
 

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

  • Асинхронный последовательный интерфейс UART из 2х линий, устанавливает связь с другими устройствами по шине UART:
    • UART0_RX — контакт GPIO3
    • UART0_TX — контакт GPIO1
    • UART0_RTS — контакт GPIO15
    • UART0_CTS — контакт GPIO13
    • UART1_TX — контакт GPIO2, может использоваться для вывода отладочной информации
    Подключение других устройств к выводам осуществляется по схеме RX->TX, TX->RX.
  • Двунаправленный последовательный интерфейс IIC/I2C, позволяет коммутировать внешние датчики, сенсоры, дисплеи т.д.:
    • I2C_SDA — контакт GPIO2
    • I2C_SCL — контакт GPIO14
  • Последовательный периферийный интерфейс HSPI, допускает подключение внешней памяти SPI Flash, дисплеев, микроконтроллеров:
    • SPI_CS - контакт GPIO15
    • SPI_MISO - контакт GPIO12
    • PIS_MOSI - контакт GPIO13
    • SPI_CLK - контакт GPIO14
    Коммутация с другими устройствами осуществляется по схеме CS->CS, CLK->CLK, MISO->MOSI, MOSI->MISO
  • ШИМ — выводы GPIO4, GPIO12, GPIO14, GPIO15 с разрядностью до 14-бит
  • Интерфейс электрической последовательной шины I2S. В основном, служит для сбора, обработки и передачи аудиоданных, или для приёма/передачи последовательных данных по двум раздельным шинам:
    • I2S1_DATA — приём, контакт GPIO12
    • I2S1_BCK — приём, контакт GPIO13
    • I2S1_WS — приём, контакт GPIO14
    • I2S0_BCK — передача, контакт GPIO15
    • I2S0_DATA — передача, контакт GPIO3
    • I2S0_WS — передача, контакт GPIO2
  • Периферийный интерфейс IrDA (ИК дистанционное управление), реализуемый на программном уровне. Предназначен для модуляции несущей частоты 38кГц, демодуляции или кодирования NEC. Дальность передачи сигнала составляет около 1м:
    • IR_Tx — контакт GPIO14
    • IR_Rx — контакт GPIO5

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

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

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

Режимы запуска модулей серии ESP8266

Режим CHIP_EN GPIO15 GPIO0 GPIO2
Загрузка по шине UART высокий низкий низкий высокий
Загрузка из флеш памяти (нормальный режим) высокий низкий высокий высокий
Загрузка из SDIO, не используется в Arduino высокий высокий не важно не важно

Значения "Высокий" и "Низкий" - уровень сигнала на входе соответствующего контакта.

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

Установка совместимых приложений для корректной работы с платформой ESP8266EX аналогично всему модульному ряду ESP. Пример настройки редактора ARDUINO IDE для ESP8266EX приведён в описании модуля ESP-01.

Внутренняя память ESP8266, поддержка файловая система SPIFFS

Модуль ESP-WROOM-02 оснащён микросхемой памяти размером 2 Мегабайта/16 Мегабит. Этого размера часто достаточно для хранения основной прошивки, пользовательского кода и, при необходимости, создания упрощённой файловой системы SPIFFS. Память ПЗУ (flash) может быть распределена в определённых пропорциях. Разбивка на секторы необходима для сохранения разной информации: файловой системы, прошивки с кодом программы, а также файла обновления, загруженного из облачного хранилища через WiFi-подключение.

Если речь заходит о написании и выполнении объёмного текста кода, пользователь может попробовать сэкономить память, воспользовавшись модифицированной прошивкой 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", символизирующей окончание записи образа файловой системы.

Программирование в среде Ардуино ИДЕ

Программирование модуля доступно для следующих типов совместимых плат:

  1. Generic ESP8266 Module. Контроллер WeMos ESP8266 WROOM-02, как и все простые модули на ESP8266, в схемах которых не предусмотрены системы автоматического переключения режимов, поддерживает два режима запуска: рабочий и программирование (обновления ПО). Чтобы внести исполняемый код через редактор Ардуино, необходимо сначала перевести микросхему в соответствующий режим. Для этого нужно нажать и удерживать до окончания процедуры прошивки кнопку "Flash", перезапустить контроллер одновременным коротким нажатием кнопки "Сброс" и начать процесс загрузки скетча.
  2. NodeMCU 1.0 (ESP-12E Module). В таком варианте и запись скетчей, и копирование данных в файловую систему выполняется в автоматическом режиме, ничего нажимать не приходится. Хотя платформа WeMos NodeMCU подразумевает наличие минимум 4 Мегабайт памяти на борту, модуль безошибочно прошивается без создания SPIFFS или с 1 Мегабайтом файловой системы (тестировалось в Arduino IDE 1.8.10).

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

  ESP8266 SPIFFS Примеры. Считывание информации о файловой системе, включая данные о записанных файлах  

Скорость обмена данными по последовательному порту 74880 бод выбрана не случайно. На этой скорости, чип ESP8266 при старте выдаёт загрузочную информацию, отображаемую в легко читаемом виде.

Программирование ESP8266 WeMos в среде ESPlorer

Открыть редактор ESPlorer, в правой верхней части окна терминала указать COM-порт (#1), к которому подключена плата контроллера WeMos 18650 WROOM-02 ESP. Затем, установить скорость 115200 бод (#2) и открыть порт для установления связи с платой (#3). После выполнения ручного сброса контроллера (#4), ESP8266 выдаст загрузочную информацию о версии прошивки (#5) и включится в рабочий режим.

Написанная на языке Lua, программа может состоять из двух и более частей исполняемого кода, но всегда должна начинаться с файла инициализации. В качестве простого примера, в левой части окна достаточно написать простую команду (#6), сохранить её в файле с именем "init.lua" (#7) и прошить в память кнопкой Save to ESP (#8). Результат выполнения сразу же отобразится в окне терминала (#9). Получить информацию о размере файловой системы, свободном и занятом пространстве (#10), а также списке файлов с кодом .lua в памяти (#11), позволит кнопка Reload (#12).

  Пример программирования WeMos на интерпретаторе NodeMCU Lua  

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

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

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

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

Облачный конструктор генерирует два варианта прошивки: integer (целочисленная) и float (с плавающей точкой). Целочисленная версия не поддерживает операции с плавающей запятой и не допускает нецелых чисел. Она занимает меньше места в Flash-памяти и в несколько раз быстрее выполняет вычисления. Для общего понимания, в целочисленной версии деление 3/2 равно 1, а не 1,5.

Обновление ПО в модуле WeMos ESP8266EX, прошивка

Микроконтроллер WeMos ESP8266 WROOM-02 работает с разными видами прошивок. Загружаемая прошивка может быть как оригинальной, так и модифицированной, с применением инструментов разработки ПО (SDK). Либо вообще быть написанной самостоятельно на языке С/С++. В качестве поддержки разработчика приложений на ESP8266, производитель микросхем Espressif System добавляет в состав комплектов SDK предварительно скомпилированные бинарные файлы прошивок, полностью готовых для записи в память модулей ESP. В первую очередь, всё оригинальное ПО ориентировано на использование заведомо предопределённых текстовых команд (АТ-команд), облегчающих методы настройки и взаимодействия между ESP и подключенной периферией.

Выполняя запись скетчей в память модулей ESP, редактор Arduino IDE вносит собственную версию прошивки, в которой отсутствует программный блок управления через АТ-команды. Восстановить оригинальное ПО или записать сборку прошивки NodeMCU можно с помощью хорошо известной программы NodeMCU Flasher для Windows, доступной для загрузки из репозитория GitHub. Процесс записи предварительно скомпилированного файла (формат .bin) прошивки прост, состоит из нескольких шагов и не занимает много времени.

  1. Соединение платы WeMos WROOM-02 ESP8266 IoT с компьютером при помощи USB-кабеля.
  2. Установка драйвера для микросхемы USB-TTL преобразователя CP2102, если плата подключается впервые.
  3. Определение назначенного плате номера COM-порта через "Диспетчер Устройств" Windows. Информация располагается в разделе Порты (COM и LPT). COM-порт указывается в настройках программы перед прошивкой.
  4. Запуск NodeMCU Flasher с указанием во вкладке "Config" нужной прошивки (адрес 0x00000). Если прошивка состоит из нескольких частей, то каждая её составляющая часть размещается в новой строке с указанием соответствующего адреса (см. документацию к прошивке).
    Вариант настроек программы для ПО с АТ-командами
      Настройка программы NodeMCU Flasher для прошивки ПО с АТ-командами  

    Вариант настроек программы для ПО на основе интерпретатора NodeMCU Lua
      Настройка программы NodeMCU Flasher для прошивки ПО с NodeMCU  
  5. Настройки скорости и размера памяти во вкладке "Advanced":
      Настройка скорости и размера памяти ESP во вкладке Advanced  
  6. Возвращение на вкладку "Operation", выбор номера выделенного COM-порта, и запуск процесса обновления прошивки кнопкой "Flash" с последующим ожиданием полного завершения операции.
      Завершение процесса прошивки WeMos ESP NodeMCU Flasher  

Перед записью прошивки, крайне рекомендуется полная очистка флеш-памяти. Чаще всего, после обновления, прошивка работает без нареканий. Если предварительно не производить чистку памяти, можно столкнуться с ситуацией, когда заново загруженное ПО не совпадёт с предыдущей версией прошивки, вследствие чего плата попросту не запуститься в нормальном режиме. В таком случае, от пользователя потребуется повторная запись отдельного файла инициализации модуля "esp_init_data_default.bin" из той версии SDK, на которой выполнялась сборка прошивки.

Готовый вариант прошивки NodeMCU для микроконтроллера WeMos, собранный облачным конструктором на интерпретаторе языка Lua версии 5.1.4, SDK версии 2.2.1, включая блоки: ADC, FILE, GPIO, MDNS, MQTT, NET, NODE, PWM, TMR, UART, WIFI, WPS.

Техническая документация

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

footer shadow
Контакты

г. Москва, Пятницкое ш. д. 18, пав. 566

zakaz@compacttool.ru

8-495-752-55-22

compacttool logoadaptive site

accepted payment systems

Информация представленная на данном информационном ресурсе преследует исключительно рекламные цели и не является договором-офертой !

© Все права защищены 2015 - 2024г https://compacttool.ru