Каталог товаров

Плата разработчика Wemos Lolin32 ESP-WROOM-32 Bluetooth BT/BLE/WiFi

Цена:

440 р.
Уже в корзине
Код товара: 14249
Оригинальное название:
Wemos D32 ESP32 Lolin32 WROOM-32 WiFi Bluetooth CP2104 Development Board

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

WeMos Lolin32 ESP-WROOM-32 Платформа разработки IoT-приложений с Bluetooth/WiFi передатчиком на контроллере беспроводной связи ESP32

Основополагающей идеей развития микроконтроллеров на сегодняшний день остаётся минимизация размеров кристаллов микросхем с одновременным увеличением содержащихся в единой структуре интегрированных компонентов. Добившись значительного успеха с чипами ESP8266, компания Espressif Systems не остановилась на достигнутом. Продолжив движение в ногу со временем и сотворив маленькое чудо, она выпустила на рынок совершенно новое мощное и гибкое решение, объединяющее в себе не только популярные стандарты беспроводной связи WiFi и Bluetooth, встречающиеся повсеместно практически в любых современных электронных устройствах, но и по-настоящему обширные инновационные возможности, расширяющие спектр использования микроконтроллера ESP32 в разнообразных проектах с низким энергопотреблением, разрабатываемых как многочисленными любителями-энтузиастами, так и профессиональными специалистами.

Контроллеры с ядром ESP32 могут быть задействованы в различных и по-своему уникальных приложениях: связывающие устройства для концептуальных вычислительных сетей Интернет вещей (IoT), включающие инструменты по сбору и хранению данных или объединению всевозможных датчиков, устройства аудио или видео стриминга, дополнительные надстройки к полноценным электронным продуктам, элементы механизмов распознавания речи или изображений. А также находят применение в домашней автоматике, управляющей освещением, силовыми розетками или дверными замками. ESP32 может участвовать при разработке схем координирования и взаимодействия индустриального оборудования или систем мониторинга за электронными метками (маяками), образовательной, промышленной и сервисной робототехнике, в детских игрушках, в любых компактных портативных умных устройствах.

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

  • Модель: Wemos Lolin32 v1.0.0
  • Питание: 5 В / 3.7 В от внешней батареи
  • Рабочее напряжение: 3.3 В
  • Потребляемый ток: до 500 мА
  • Контроллер: ESP-WROOM-32, 2-ядерный процессор ESP32-D0WDQ6 на основе 32-битных Xtensa LX6 с низким энергопотреблением
  • Тактовая частота: до 240 МГц
  • Внутренняя память:
    • 448 Кбайт ПЗУ для загрузки и базовых функций
    • 520 Кбайт статической ОЗУ для данных и инструкций
    • 8 Кбайт быстрой статической ОЗУ для домена питания реального времени (RTC), доступной через главный процессор во время загрузки из режима глубокого сна
    • 8 Кбайт медленной статической ОЗУ для домена питания реального времени (RTC), доступной через сопроцессор в режиме глубокого сна
    • 1 Кбит eFuse, 256 бит заняты системой (MAC-адрес и настройки чипа), 768 бит для пользовательских приложений, включая флеш-шифрование и идентификатор микросхемы (chip-ID)
  • Встроенная память
    • 32 МБит / 4 МБайт ПЗУ, 40МГц
  • Диапазон радиочастот: 2.4ГГц-2.5ГГЦ (2412М-2484М)
  • WiFi:
    • Клиент, Точка доступа, Клиент+Точка доступа (station, softAP, station+softAP)
    • Протоколы WiFi: 802.11 b/g/n, до 150 Мбит/сек
    • Выходная мощность в режиме 802.11b: +20.5 dBm
    • Поддержка WiFi MAC
    • Технология STBC 2х1
    • Антенна: PCB, разведена на плате в виде дорожки
  • Bluetooth:
    • Версия 4.2 BR/EDR и BLE спецификации
    • Мощность передающего сигнала: +12dBm
    • NZIF-приёмник с чувствительностью -97dBm
    • Адаптивная форма скачкообразной перестройки частоты (AFH)
    • Class-1, class-2 и class-3 передатчик без внешнего усилителя мощности
    • Поддержка мульти-соединений в режимах классического BT и BLE
    • Поддержка многоранговых соединений Piconect и Scatternet
    • Поддержка голосовых кодеков CVSD и SBC
  • Шифрование: WAPI, WEP, TKIP, AES, SHA-2, RSA, ECC
  • Выводы общего назначения (вход/выход, GPIO): 26
  • Аналоговые входы (АЦП): 12, 12-бит
  • Аналоговые выходы (ЦАП): 2, 8-бит
  • Максимальный ток на контакт общего назначения: 12 мА, рекомендуемый 6 мА
  • Интерфейсы: GPIO, UART, I2C, I2S, SPI, PWM, Touch, Ethernet MAC, SDcard, SDIO, IrDA
  • Скорость передачи данных UART: до 5 МБит/сек
  • Встроенный переключатель приёма/передачи, согласующий высокочастотный трансформатор, усилитель мощности
  • Встроенные блоки: согласования сети, фазовой автоподстройки частоты, управления питанием, блоки регулирования
  • Встроенные: датчик Холла, ёмкостный датчик касаний
  • Поддержка Arduino, NodeMCU, MicroPhyton, ESP-IDF
  • Поддержка файловых систем SPIFFS, FATFS
  • Поддержка Программных наборов разработки (SDK), обновление прошивки по UART/OTA
  • Программируемый светодиод вывода GPIO5
  • Автономное питание:
    • Контроллер заряда внешней батареи: LTC4054
    • Ток заряда: 500 мА
    • Индикатор режима заряда
    • Совместимые батареи: литий-полимерная (Li-pol), литий-ионная (Li-ion)
    • Разъём подключения: PH-2, 2.0 мм
  • Шаг между контактами: 2.54 мм
  • Размеры: 58 х 25.4 х 7.7 мм
  • Вес: 5.8гр

Автономное питание, заряд батареи, индикация

Платформа WeMos Lolin32 включает в себе совокупность аппаратных средств, сочетающих первоочередной набор оборудования, необходимого для создания практически готового полноценного и независимого IoT-устройства, работающего от стационарного или от автономного источника питания в виде перезаряжаемого литиевого аккумулятора произвольной формы и размера. Кроме чипа ESP-WROOM-32 и всей минимальной элементной обвязки, схема платы предусмотрительно располагает контроллером LTC4054. Он занимается отслеживанием и корректировкой уровня напряжения единственного элемента питания, предварительно устанавливаемого в конструкцию разрабатываемого проекта. Внедрение механизма резервного (аварийного) питания от внешнего источника обозначено главной причиной - постоянная и стабильная дееспособность устройства на чипе ESP32 в условии возможного кратковременного или продолжительного перебоя в работе основного источника постоянного напряжения, приводящего к неблагоприятным, а порой и нежелательным последствиям.

В режимах автономного или аварийного питания, чип LTC4054 отслеживает текущее напряжение батареи. Заряженная литиевая аккумуляторная батарея выдаёт на своих контактах 3.8 вольта. В активных режимах платформы Wemos Lolin32 ESP-WROOM-32, напряжение элемента питания плавно снижается, причём чем больше нагрузка на плату, тем быстрее происходит разряд. Если его значение достигает отметки 2.9 вольта, передача энергии в схему платы прекращается до тех пор, пока не будет произведена повторная подзарядка. Микросхема LTC4054 генерирует невысокий ток заряда 500 мА с напряжением 4.2 вольта, достаточных для заряда одного литиевого аккумулятора с номинальной ёмкостью 2200-3000 мА.

Встроенный светодиодный индикатор голубого цвета, подключенный к контроллеру LTC4054, отображает текущее состояние заряда аккумулятора. Его постоянное свечение сообщает о том, что аккумулятор находится в режиме подзаряда. По окончании цикла заряда батареи (или физическом отсутствии элемента питания), светодиод полностью гаснет. Возникающие короткие вспышки индикатора вызваны особенностями функционирования контроллера LTC4054.

Обзор контроллера Wemos Lolin32 ESP-WROOM-32, компоновка элементов на плате

  Обзор модуля Wemos ESP-WROOM-32 Lolin32  

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

Всё необходимое для быстрого начала работы с модулем Wemos Lolin32 уже присутствует на самой плате. Общение между компьютером и платформой Lolin32 реализовано на чипе преобразователя интерфейсов Silabs CP2104, установленного в плату и связывающего между собой основной контроллер ESP-WROOM-32 и встроенный порт USB. Всё, что требуется от пользователя, это соединить ПК и плату обычным проводом с разъёмами USB A - микроUSB B. Если устройства с подобной микросхемой CP2104 ранее не подключались, операционная система Windows попросит установить соответствующий драйвер.

В первую очередь, порт USB предназначен для управления модулем. Он позволяет вносить в контроллер ESP32 свои приложения или загружать фирменное программное обеспечение (прошивку). В ином случае, USB-порт используется только для питания платы.

Домен питания реального времени RTC, режимы энергосбережения ESP32

Микросхема ESP32 подготовлена разработчиками из Espressif Systems к нескольким рабочим режимам, зависящим от особенностей конструируемого изделия и способов его энергоснабжения. Обладая надёжным внешним источником постоянного стабильного напряжения, контроллер может свободно функционировать в полноценном активном режиме. С другой стороны, автономное или аварийное питание от аккумуляторной батареи, заставляет задумываться о максимальном и эффективном энергосбережении, напрямую связанным с продолжительностью работы платформы Wemos Lolin32. Для подобных целей, в кристалле ESP32 размещён сопроцессор с ультранизким энергопотреблением (ULP-сопроцессор) и предусмотрены следующие режимы:

  • Активный режим - блоки радиопередатчиков постоянно включены, чип может передавать и принимать данные, или вести постоянное радионаблюдение. Ток потребления составляет 95-240 мА.
  • Режим спящего модема - функционируют все возможности чипа ESP32, за исключением блоков радиопередатчиков WiFi и Bluetooth. Частота процессора автоматически регулируется в зависимости от загруженности ядра и используемой периферии. Потребляемый ток снижается до 20-68 мА.
  • Режим лёгкого сна - процессор ESP32 остановлен, при этом память и периферия домена питания реального времени RTC, а также ULP-сопроцессор, находятся в рабочем состоянии. Выход из режима сна основан на возникновении пробуждающих событий (MAC, хост, таймер RTC или внешние прерывания). Сила рабочего тока в режиме лёгкого сна не превышает 0.8 мА.
  • Режим глубокого сна - напряжение получают только память и периферия (RTC_GPIO, RTC_I2C) домена питания реального времени RTC, включая ULP-сопроцессор. Все остальные элементы ESP32 обесточены. Настройки соединений WiFi и Bluetooth сохраняются в памяти RTC. Энергопотребление снижается до 10-150 мкА.
  • Режим гибернации - встроенный кварцевый генератор на 8 МГц, ULP-сопроцессор и память домена RTC отключены от питания. Остаются активными таймер RTC и некоторые контакты RTC GPIO, с помощью которых возможен возврат из спящего режима. Рабочий ток в режиме гибернации составляет всего 5 мкА.

Распиновка Wemos Lolin32, цоколёвка выводов ESP-WROOM-32 ESP32

Приём и передача цифровых данных между контроллером и периферией, подключенной к контактам общего назначения платы (GPIO), построена на 3.3-вольтовой логике. Входящее/исходящее напряжение цифрового вывода, находящееся в диапазоне +2.64...+3.6 вольт, принято называть высокоуровневым сигналом или логической единицей. Напряжение в интервале -0.3...+0.33 вольт - низкоуровневым сигналом или логическим нулём. Многие выводы ESP-WROOM-32 имеют встроенные управляемые резисторы, устанавливающие уровень логического сигнала контакта на плюс (подтягивание) или на минус (стягивание). Большинство контактов платы могут быть смультиплексированы с различными интерфейсами (UART, I2C, I2S, PWM, HSPI, VSPI, служебный канал EMAC, и другие). Рекомендуемый ток отдельного вывода GPIO составляет 6 миллиампер, предельный ток - 12 миллиампер.

  Функциональное назначение выводов WeMos ESP32 ESP-WROOM-32 Lolin32 распиновка  
  • VCC 3V3 — вывод рабочего напряжения платформы с напряжением 3.3 вольта, предназначен для питания внешней периферии.
  • CHIP_EN — контакт включения ESP32 в рабочий режим, одновременно может быть задействован для перезапуска контроллера WROOM-32 (Reset).
  • GPIO0...39 — контакт общего назначения, ввод/вывод данных. Переназначаемый на совместимые функции. На программном уровне, вывод определяется по нумерации GPIO (например, GPIO1 = 1). Низкоуровневый сигнал на выводе GPIO0 переводит ESP32 в режим обновления ПО.
  • RTC_GPIO0...17 — цифровой контакт домена питания реального времени RTC. Входящие сигналы от периферии, подключенной к выводам RTC_GPIO, пробуждают ESP32 из режима лёгкого сна. Требует предварительной программной подготовки.
  • Sens_VP(ositive), Sens_VN(egative) — контакт встроенного датчика Холла, подключенного к внутреннему усилителю сигнала АЦП1. Исключает совместное использование датчика Холла с другими функциями, приводящими к искажению измерений окружающего магнитного поля.
  • XTAL_32KP(ositive), XTAL_32KN(egative) — контакт внешнего кварцевого генератора с частотой 32.768 КГц.
  • VDET1, VDET2 — аналоговый контакт домена питания реального времени RTC. По аналогии с цифровыми контактами, предназначен для вывода процессора ESP32 из режимов энергосбережения. Требует предварительной программной подготовки.
  • VCC 5V — контакт питания Wemos Lolin32 стабилизированным напряжением 5 вольт.
  • GND — общий, заземление.

Следует избегать превышения значений максимального тока более 12 миллиампер и напряжения более 3.3 вольта на контактах GPIO, способного повредить микроконтроллер ESP32.

Специальные функции и интерфейсы

  • A0...A19 — аналого-цифровой преобразователь (АЦП1, АЦП2). Допустимое входное напряжение 0-3.3 В, диапазон преобразованных значений в интервале 0-4095, 12-бит. При условии активной WiFi-связи, контакты АЦП2 не могут быть задействованы как аналоговые.
  • DAC1, DAC2 — цифро-аналоговый преобразователь (ЦАП1, ЦАП2). Выводы генерируют на контактах платы исходящее аналоговое напряжение, заданное на программном уровне значениями переменных в промежутке от 0 до 255, разрядность 8-бит.
  • UART — интерфейс ассинхронной последовательной шины, в состав которого входят основные линии приёма информации RX, передачи TX, а также служебные линии запроса на отправку данных RTS и разрешения отправки данных CTS. Из 3х существующих в ESP32 UART-интерфейсов доступны только UART0 и UART2. Каждая линия может быть переназначена пользователем на любой GPIO.
    По умолчанию, в Arduino IDE предопределена одна UART0-шина с контактами GPIO1 (TX) и GPIO3 (RX).
  • I2C/IIC — двунаправленный последовательный интерфейс, состоящий из линий данных SDA и тактирования SCL. Позволяет коммутировать на одной шине от одного до нескольких параллельно подключенных внешних датчиков, сенсоров, дисплеев и т.д. в режимах главный или периферийный. Каждое устройство должно обладать уникальным адресом для обращения. ESP32 имеет 2 аппаратных интерфейса I2C, переназначаемых пользователем на любой GPIO.
    По умолчанию, в среде разработки Arduino IDE предусмотрена одна I2C-шина с контактами GPIO22 (SCL) и GPIO21 (SDA).
  • SPI — шина последовательного периферийного интерфейса (HSPI, VSPI), настраиваемая для подключения внешних устройств в режимах главный и ведомый. Каждая шина состоит из основных линий: передачи данных от главного к ведомому MOSI и от ведомого к главному MISO, тактирования CLK и выбора периферии CS0. В состав SPI входят служебные выводы QUADWP и QUADHD.
  • I2S — интерфейс электрической шины, применяемый для коммутации цифровых стерео аудио устройств с последовательной шиной, а также видеокамер и дисплеев с параллельной шиной. Служит для сбора, обработки и передачи аудиоданных, или для приёма/передачи информации. ESP-WROOM-32 содержит 2 шины протокола I2S, каждая линия отдельной шины (DATA, BCK, WS, SYNC, ENABLE) может быть переназначена пользователем на любой GPIO. Линии синхронизации I2S0 и I2S1 распределены на контакты с обозначением CLK_OUT1-3.
  • Touch0...9 — контакт ёмкостного сенсорного датчика. Реагирует не изменение ёмкости в электрической цепи вывода, вызванной прикосновением человека или объекта к соответствующему контакту. Может служить источником пробуждения ESP-WROOM-32 из энергосберегающих режимов сна.
  • SD/SDIO/MMC — хост-интерфейс (HS2), поддерживающий карты памяти стандарта SD V3.01
  • SDIO/SPI — периферийный интерфейс (SD), поддерживающий промышленные карты памяти с спецификацией SDIO 2.0.
  • PWM (ШИМ) — цифровая широтно-импульсная модуляция сигнала, управляемая на программном уровне. Любой контакт GPIO, представленный в WROOM-32, поддерживает ШИМ.
  • Ethernet MAC (EMAC) — интерфейсы MII/RMII управления доступом к среде (MAC), совместимого со стандартом IEEE-802.3-2008. Для подключения к физической шине LAN (скрученная пара, волокно и т.д.), процессору ESP32 требуется внешнее PHY-устройство физического интерфейса. PHY подключается через 17-сигнальный интерфейс MII или 9-сигнальный интерфейс RMII.

Встроенная SPI флеш-память 4 Мбайт контроллера ESP-WROOM-32 аппаратно привязана к 6 скрытым контактам (GPIO6-GPIO11), выводы которых отсутствуют на плате Wemos Lolin32. Не рекомендуется использовать эти контакты или переназначать их на другие функции.

Программирование в среде Arduino IDE

Прежде чем начинать писать и прошивать скетчи в платформу ESP32 Wemos Lolin32, следует добавить её совместимость со средой Ардуино ИДЕ. Для этого необходимо выполнить все шаги, описанные в главе "Добавление платформы ESP32 в Arduino IDE".

По умолчанию, подача питания контроллеру Lolin ESP-WROOM-32 запускает режим исполнения программного кода, ранее записанного во внутреннюю память. Прошивка нового скетча выполняется переводом контроллера ESP32 в режим программирования, путём замыкания контактов GPIO0 и GND (или удержанием заранее припаянной кнопки к этим контактам) в течение всего процесса до его полного завершения.

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

Следующий простой пример заставляет мигать программируемый светодиод, совмещённый с выводом GPIO5.

void setup() {
  // Инициализируем контакт LED_BUILTIN (GPIO5) в режим вывода
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  // Зажигаем светодиод низкоуровневым сигналом LOW
  digitalWrite(LED_BUILTIN, LOW);
  // Ждём секунду
  delay(1000);
  // Выключаем светодиод высоким уровнем напряжения HIGH
  digitalWrite(LED_BUILTIN, HIGH);
  delay(1000);
}

Некоторые цифровые контакты GPIO в чипе ESP32 предназначены только для получения данных от периферии. Пример скетча, наблюдающего за состоянием вывода GPIO36 и передающего значения в последовательный порт.

// Определяем контакт
int INPUTpin = 36;
// Задаем переменную для хранения уровня сигнала, 0 - низкий, 1 - высокий
int VAL = 0;

// Подготовка
void setup() {
  // Инициализируем контакт на ввод данных
  pinMode(INPUTpin, INPUT);
  // Открываем последовательный порт на скорости 115200 бит/сек
  Serial.begin(115200); 
}

// Основной цикл
void loop() {
  // Считываем значение на входе контакта GPIO
  VAL = digitalRead(INPUTpin);
  // Выводим информацию в последовательный порт
  Serial.println(VAL);
  // Ждем секунду
  delay(1000);
}

Датчик Холла, определение магнитного поля

Микросхема ESP32 содержит в себе встроенный резисторный датчик на основе эффекта Холла. Когда контроллер находится непосредственно в магнитном поле, датчик генерирует невысокое напряжение, изменяемое от силы поля или его полярности. Напряжение проходит через усилитель сигнала и измеряется аналого-цифровым преобразователем АЦП1. Пример считывания:

int val = 0;
void setup() {
  Serial.begin(9600);
}

void loop() {
  // Считываем значения измерений
  val = hallRead();
  // Выводим результат в последовательный порт
  Serial.print("Сенсор = ");
  Serial.println(val);
  delay(500);
} 

Величина числового значения при измерении силы поля напрямую зависит от расстояния между ESP32 и источником магнитного поля. Чем ближе их расположение, тем больше будет значение. Изменение полярности приводит к перемене положительных значений на отрицательные и наоборот. Результат хорошо виден на картинке. При поднесении магнита одной из сторон, значения изменялось с положительного на отрицательное.

  Результат влияния магнитного поля на чип ESP32  

Управление Wemos Lolin32 через WiFi-сервер и Bluetooth-соедиение

Примеры демонстрируют способы беспроводного подключения, при помощи которых возможно управление над встроенным светодиодом контакта GPIO5.

В первом примере создаётся простой веб-сервер. После подключения к заданной точке WiFi, в последовательный порт выводится IP-адрес, присвоенный Wemos Lolin32, и программа ожидает входящей команды. На любом смартфоне, планшете или ПК, подключенным к той же WiFi-сети, выполняется переход на веб-страницу с полученным IP-адресом (например, 192.168.0.104), отображающую текстовые команды включения и отключения светодиода.

Принцип управления основан на считывании определённой команды, передаваемой вслед за IP-адресом, во время каждого нового клиентского обращения к серверу. Если команда не задана при обращении, она автоматически подставляется в конец строки нажатием соответствующей текстовой команды в окне веб-страницы, после чего связь с клиентом разрывается.

ESP32_SimpleWiFiServerLedBlink.ino

Во втором примере показан метод соединения по Bluetooth. Скетч определяет MAC-адрес ESP32 и выводит его значение в последовательный порт, ожидая команду от клиента. Сопряжение с внешним Bluetooth-устройством выполняется вручную (например, в настройках Bluetooth-соединения смартфона или планшета). Управление свечением светодиода задаётся цифровой командой "1" или "0", отправленной из приложения Bluetooth Terminal (загружаемого из Google Play).

ESP32_SimpleBluetoothLedBlink.ino

Внутренняя память Wemos Lolin32, файловые системы SPIFFS и FATFS

Плата Lolin32 Wemos оснащена микросхемой SPI-памяти 4 Мегабайт (32 Мегабита). Память нужна для хранения фирменного ПО (прошивки) и исполняемого кода. Распределение памяти на разделы напрямую зависит от размера программного приложения, количества подключаемых библиотек, необходимости создания файловой системы или области OTA (обновление по воздуху). По желанию пользователя, величина каждого из разделов может быть изменена, но их суммарный размер не должен превышать общего доступного пространства физической памяти.

Файловая система SPIFFS размещается в отдельно создаваемом разделе и даёт пользователю возможность хранить в своей энергонезависимой области различные данные: текстовые файлы с данными скетча, файлы различных настроек, графические файлы и готовые веб-страницы для веб-сервера, и так далее. В целом, файловая система SPIFFS очень похожа на аналогичные системы, реализуемые в ПК. С её помощью совершаются разнообразные действия над любым из файлов: создание, открытие для считывания или записи, удаление и переименовывание. В случае с настройкой на совместимость с платой Wemos Lolin32, среда программирования Arduino IDE (1.8.10) с предустановленным дополнением поддержки ESP32 (v1.0.4) предлагает на выбор скромный набор схем распределения разделов:

  • По умолчанию - 1.2 Мбайт под прошивку и скетч, 1.5 Мбайт для файловой системы.
  • No OTA (Large APP) - 2 Мбайт под скетч и прошивку, 2 Мбайт для работы с файлами.
  • Minimal SPIFFS (Large APPS with OTA) - 1.9 Мбайт / 170 Кбайт соответственно.

Более широкий список схем распределения памяти раскрывается при указании в настройках редактора совместимость с платой ESP Dev Module.

Переносить данные в файловую систему можно прямо из среды разработки Arduino IDE, предварительно установив дополнение "Загрузчик данных скетча для ESP32". Образ файловой системы формируется загрузчиком Ардуино ИДЕ как единое целое, исключая возможность последующей частичной записи или удаления.

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

Есть одна важная вещь, которую следует учитывать в SPIFFS — она не поддерживает каталоги. Таким образом, если создаётся файл с путём "/dir/test.txt", SPIFFS фактически создаст файл с таким же именем, вместо файла с именем "test.txt" внутри папки "/ dir". Пример использования базовых функций системы SPIFFS. В архиве содержаться файлы, которые должны быть включены в образ SPIFFS, используемые в тексте программы примера.

  Пример работы файловой системы SPIFFS в микросхеме ESP32  

WROOM32_SPIFFS_Test.zip

В сравнении с файловой системой SPIFFS, зарекомендовавшей себя ещё в предыдущем поколении ESP8266, поддержка новой системы FATFS добавлена в ядро Arduino IDE сравнительно недавно. В целом, они очень похожи друг на друга с той лишь разницей, что FATFS/FFAT действительно быстрее работает с операциями над файлами. Скорость новой системы точно пригодится в проектах со светодиодными панелями или матрицами при анимации изображений, в которых SPIFFS намного медленнее считывает данные или ищет нужную информацию в памяти из большого количества файлов, приводя к заметным задержкам. Совместимость с платой ESP Dev Module позволит добавить в редактор Arduino IDE поддержку раздела FATFS и подобрать его размеры под пользовательское приложение.

Обновление прошивки Wemos Lolin32 на ПО с интерпретатором AT команд

Коллектив компании Espressif Systems, для своих чипов ESP32 и их разновидностей, выпускает прошивки со встроенным интерпретатором AT-команд, основанные на открытых программных наборах разработки ПО (SDK) ESP-IDF. Пользователь имеет возможность компилировать собственные кастомные прошивки, добавляя или исключая поддержку необходимых в проекте функций. В подобных прошивках, способ управления процессором WROOM-32 значительно отличается. В коде прошивки заложен перечень предопределённых заскриптованных команд, выполняющие различные действия с настройками контроллера ESP-WROOMR-32. АТ команды позволяют устанавливать и разрывать WiFi- или Bluetooth BLE-соединения, отправлять и получать данные, работать c файловой системой (в оригинальной прошивке функция отключена) или менять параметры шины UART. Любая АТ команда передаётся в Wemos Lolin32 через периферийный последовательный интерфейс UART (GPIO16, GPIO17) от ведущего устройства и всегда начинается с аббревиатуры АТ. Главная шина UART0 в Lolin32 задействована исключительно для программирования процессора. Перечень поддерживаемых АТ команд опубликован в разделе "Техническая информация".

Все актуальные архивы прошивок для ESP-WROOM-32 с интерпретатором АТ команд размещены в свободном доступе на страничке официального сайта производителя. В состав прошивки входят несколько бинарных файлов (.bin), назначение которых понятны по названию. Адреса размещения областей в памяти для каждой составляющей части (раздела) записаны в текстовом файле download.config. Разработчик контроллера ESP32 предлагает обновлять ПО с помощью готовой универсальной программы Flash Download Tools.

  Прошивка ESP-WROOM-32 с помощью ESP32 Download Tool  

Перед записью новой версии ПО, крайне рекомендовано удаление всей ранее хранящейся информации и таблицы размещения разделов из флеш-памяти WROOM-32 (кнопка ERASE). Эта процедура помогает избежать возможных последующих ошибок запуска контроллера ESP32. И очистка памяти, и обновление ПО, подразумевают предварительный перевод контроллера ESP32 в режим программирования.

В среде разработки приложений Arduino IDE, чтобы получить доступ к АТ командам, необходимо подключить к USB-порту ПК дополнительный преобразователь USB-в-TTL, правильно соединить контакты RX, TX, и выводы GND обоих плат. После чего изменить в настройках редактора COM-порт совместимой платы на присвоенный адаптеру CP210x USB-TTL и открыть на скорости 115200 бод монитор последовательного порта. Работоспособность прошивки проверяется отправкой простой команды "АТ", возвращающей в окно ответ "ОК".

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

Изначально, в среде разработчика Ардуино отсутствует поддержка ESP32. Добавление платформы ESP32 выполняется за несколько простых шагов. Перед установкой дополнения, рекомендуется обновить редактор Arduino IDE до последней версии.

  1. Запустите редактор Arduino IDE, перейдите в пункт "Настройки" из меню "Файл". В строке "Дополнительные ссылки для менеджера плат" введите адрес:
    https://dl.espressif.com/dl/package_esp32_index.json​
      Добавление платформы ESP32 в среду разработки Arduino IDE  
  2. Закройте окно, нажав кнопку ОК. Выберите "Менеджер плат", двигаясь по меню "Инструменты".
      Установка платформы ESP32 в среду разработки ARDUINO IDE  
  3. Для быстрого нахождения нужного дополнения, в строке поиска укажите esp32. Нажмите "Установить" и дождитесь надписи Installed рядом с названием "esp32 by Espressif Systems", означающей завершение процесса.
      Установка платформы ESP8266 в среду разработки ARDUINO IDE  
  4. Все платформы, входящие в состав пакета установки, теперь доступны для программирования.
      Установка платформы ESP8266 в среду разработки ARDUINO IDE  

Принципиальная схема Wemos Lolin32

  Wemos Lolin32 принципиальная схема  

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

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

Информация представленная на данном информационном ресурсе преследует исключительно рекламные цели и не является договором-офертой !
© Все права защищены 2021г https://compacttool.ru
Связаться с нами 8-495-752-55-22 zakaz@compacttool.ru